• Home
  • Учебник по ExtJS
  • О сайте
  •  


    PHP код теперь можно запускать под Google App Engine

    Апрель 15th, 2009

    Недавний анонс поддержки Java в App Engine от Google породил целую волну экспериментов с реализацией возможности запуска кода под другие языки – Clojure, Beanshell, Groovy, Javascript, Ruby, Scala, Scheme и другие (если они имеют соответствующие JVM-реализации).

    Напомню, что проект или приложение, размещенное на Google App Engine, может хоститься бесплатно, если оно вписывается в стандартную квоту, которая в принципе достаточна для сайтов с 5 млн хитов в месяц. В AppEngine для хранения данных используется специальный интерфейс к собственной высокомасштабируемой платформе BigTable, которая кардинально отличается от СУБД на основе SQL.

    Так как подавляющее большинство web-разработчиков в своей работе использует язык PHP, им будет интересно узнать, что теперь и их приложения возможно запустить под App Engine. Для этого используется JVM-движок Quercus, который прозрачно выполняет перекомпиляцию в Java-байткод. Примечательно, что по тестам многих разработчиков скорость выполнения такого PHP кода гораздо выше работы стандартного движка без использования дополнительных механизмов ускорения.

    Остается вопрос: как правильно работать из PHP с фирменными API от Google: Datastore, Mail, Users и прочими? Если есть желание провести эксперименты, присоединяйтесь к русскоязычной группе проекта




    Java и Google App Engine

    Апрель 8th, 2009

    Друзья!

    Настал тот радостный миг, когда компания Google все таки публично анонсировала второй поддерживаемый язык для платформы Google App Engine, которым, как и я ожидал, стала Java. Сложно даже сказать, какой импульс придаст этот шаг дальнейшему росту популярности для разработчиков, однако ясно, что это открывает для нас более интересные возможности, чем были ранее.

    Итак, обо всем по порядку. Радует то, что Google не пошла по пути изобретения собственного велосипеда, а попыталась максимально возможно использовать существующие на сегодняшний день и сложившиеся де-факто стандарты на Java-интерфейсы и методы работы с данными Java Servlet API, JDO, JPA, javax.cache и javax.mail. Практически все они реализованы подобно существующим для Python-подсистемы библиотекам Webapp, Datastore, Memcache и Mail API. Прежде всего это дает возможность несложной адаптации существующих Java-приложений на рельсы App Engine, а самое главное – защищает от vendor lock, в случае выбора платформы Google под коммерческий проект: разверните точно такую же инфраструктуру на своем сервере с любой БД по желанию.

    Аналогично приложениям, написанным для GAE на языке Python, Java код исполняется в специальной песочнице, что гарантирует отсутствие негативного влияния на соседей по серверу и наоборот. Учитывая тот факт, что была произведена огромная работа по модификации системного окружения, и скорее всего первое время будут обнаруживаться досадные ошибки, Google набирает команду из 10000 добровольцев, которые хотят прямо сейчас начать тестирование новой системы. Обратите внимание на появление Google Plugin for Eclipse, который сейчас кроме App Engine поддерживает работу еще с GWT. Насколько я понимаю, в планах компании и дальше развивать функционал для этой IDE, что несомненно будет помогать начинать быстрый старт с их решениями для новичков в Java.

    И в завершении три проекта, о которых просто необходимо упомянуть:

    • Доступ к корпоративным данным из веб-приложения: система позволяет осуществить контролируемый политиками доступ к данным компании. Нацелено на использование с коммерческой версией Служб Google.
    • Поддержка заданий сron: стало возможным производить назначенный запуск задач генерации отчетов и работы с данными вне пользовательского контекста в четко заданный момент времени.
    • Импорт данных в хранилище: теперь легко и просто наполнить гигабайтами данных новое приложение App Engine. Аналогичный механизм экспорта данных из хранилища ожидается в ближайшее время.

    А теперь представьте Java-приложение на ExtGWT (а ведь уже на подходе вторая, улучшенная, версия), запущенное на App Engine. Чем не возвращение времен Delphi, когда можно было за пару дней создать толковую морду к БД и передать заказчику? Только теперь это будет web и модель распространения SaaS.