ВебСфера Смэш
Разработчик(и) | ИБМ |
---|---|
Финальный выпуск | 1.1.1 / 1 июня 2009 г. |
Написано в | Ява |
Тип | Сервер приложений |
Лицензия | Собственный |
Веб-сайт | www |
WebSphere sMash — это среда разработки и выполнения от IBM для создания динамических веб-приложений с использованием языков сценариев Apache Groovy и PHP . Он содержал среду выполнения PHP, написанную на Java . Project Zero представлял собой сообщество разработчиков экспериментального программного обеспечения, в котором новые версии WebSphere создавались sMash. WebSphere sMash был снят с продажи в 2012 году, а поддержка прекращена в 2014 году. [1]
WebSphere Smash интегрировался с Eclipse и создавал сервисы в стиле REST поверх Groovy или PHP.. [2]
Архитектура
[ редактировать ]Архитектура WebSphere sMash имеет ряд отличительных аспектов.
Модель программирования, управляемая событиями
[ редактировать ]WebSphere sMash использует модель программирования, управляемую событиями . Приложения обычно состоят из нескольких небольших модулей, которые взаимодействуют друг с другом, запуская события, которые затем перехватываются другими обработчиками, зарегистрировавшимися для перехвата событий. Код, запускающий событие, ничего не знает о коде, который будет обрабатывать это событие. Эта архитектура позволяет создавать приложения из смеси кода, написанного с использованием PHP , Java , Groovy или языка Flow.
Глобальный контекст
[ редактировать ]Поскольку события не имеют состояния , необходим механизм обмена данными между обработчиками событий. Этот механизм – Глобальный Контекст. Глобальный контекст функционирует в основном как большая карта данных, разделенная на различные зоны с разным временем жизни, свойствами и постоянством.
Система управления репозиторием
[ редактировать ]sMash использует менеджер зависимостей Ivy . Приложения sMash состоят из моделей, которые могут указывать зависимости от других модулей, которые могут присутствовать в локальном репозитории Ivy или которые могут быть получены из удаленного репозитория. IBM поддерживает репозиторий полезных модулей на сайте projectzero.org, а зависимости также можно указать в репозитории maven2.
Поддержка PHP
[ редактировать ]Поддержка PHP . в WebSphere sMash обеспечивается средой выполнения PHP, реализованной на Java [3] Сценарии PHP компилируются в байт-код Java , который затем запускается на Java виртуальной машине ( JVM ). По концепции это похоже на подход, используемый в других проектах, таких как JRuby и Jython , которые используют языки Ruby и Python соответственно для JVM. Работа на JVM позволяет осуществлять прямые вызовы одного и того же процесса между PHP, Java и кодом Groovy, что позволяет собирать приложения с использованием различных языков.
В отличие от подхода Quercus, другой реализации PHP на основе JVM, sMash может повторно использовать существующие расширения PHP из PHP.net, присоединяя их к виртуальной машине Java через собственный интерфейс Java (JNI) и уровень API, называемый ХАПИ-С.
Среда выполнения имеет порт отладки DBGp, обеспечивающий доступ к отладке из IDE и отладчиков, поддерживающих протокол DBGp, таких как проект Eclipse PDT .
Среда выполнения PHP не имеет идентичности за пределами sMash, поэтому ее просто называют «средой выполнения WebSphere sMash для PHP».
По состоянию на октябрь 2008 года WebSphere sMash способен запускать несколько известных приложений PHP на виртуальной машине Java. К ним относятся SugarCRM , [4] phpBB , [5] WordPress [6] и МедиаВики . [7]
Среда выполнения PHP поддерживает тесную интеграцию с языками Java и Groovy через мост Java/Groovy. Это позволяет сценариям PHP использовать библиотеки, написанные на Java и Groovy, через легкий и чрезвычайно быстрый уровень взаимодействия. [ нужна ссылка ] . Мост Groovy обеспечивает доступ к расширенным функциям Groovy непосредственно из PHP. Примеры включают замыкания и метаобъекты Groovy .
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Объявление о выходе IBM из США 912-138» (PDF) . 12 июня 2012 г.
- ^ «О проекте Ноль» . Сайт проекта «Нулевой» . Архивировано из оригинала 9 июля 2008 г. Проверено 23 июня 2008 г.
- ^ «Страница Project Zero PHP» . Архивировано из оригинала 25 января 2009 г. Проверено 2 февраля 2009 г.
- ^ «Проект Smash4Sugar в SugarForge» . Разбейте 4 сахара . Проверено 30 июня 2008 г.
- ^ «PhpBB работает на Project Zero» . phpBB на ПЗ . Архивировано из оригинала 7 августа 2008 г. Проверено 30 июня 2008 г.
- ^ «Попробуйте PHP-приложение WordPress на sMash» . WordPress на PZ . Архивировано из оригинала 22 октября 2008 г. Проверено 9 октября 2008 г.
- ^ «Попробуйте PHP-приложение MediaWiki на sMash» . МедиаВики на PZ . Архивировано из оригинала 16 октября 2008 г. Проверено 19 октября 2008 г.