WebSphere sMash

редактировать
WebSphere sMash
Websphere logo.png
Скриншот WebSphere sMash запущен Скриншот WebSphere sMash запущен
Разработчик (и) IBM
Окончательный выпуск 1.1.1 / 1 июня 2009 г. (2009-06-01)
Написано наJava
Тип Сервер приложений
Лицензия Собственный
Веб-сайтwww.projectzero.org

WebSphere sMash - это среда разработки и выполнения от IBM для создания динамических веб-приложений с использованием языки сценариев Apache Groovy и PHP. Он содержал среду выполнения PHP , написанную на Java. Project Zero был экспериментальным сообществом разработчиков программного обеспечения, в котором инкубировались новые версии WebSphere sMash. WebSphere sMash был снят с продажи в 2012 году, поддержка прекращена в 2014 году.

WebSphere Smash интегрирован с Eclipse и создает службы в стиле REST поверх Groovy или PHP..

Содержание
  • 1 Архитектура
    • 1.1 Модель программирования, управляемая событиями
    • 1.2 Глобальный контекст
    • 1.3 Система управления репозиторием
  • 2 Поддержка PHP
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки
Архитектура

Архитектура WebSphere sMash имеет ряд отличительных аспектов.

Модель программирования, управляемого событиями

WebSphere sMash использует модель программирования, управляемого событиями. Приложения обычно состоят из нескольких небольших модулей, которые взаимодействуют друг с другом, инициируя события, которые затем перехватываются другими обработчиками, которые зарегистрировались для перехвата событий. Код, запускающий событие, ничего не знает о коде, который будет обрабатывать событие. Эта архитектура позволяет создавать приложение из смеси кода, написанного с использованием PHP, Java, Groovy или языка Flow.

Глобальный контекст

Поскольку события не сохраняют состояние, требуется механизм для обмена данными между обработчиками событий. Этот механизм - Глобальный контекст. Глобальный контекст функционирует в основном как большая карта данных, разделенных на различные зоны с разными сроками жизни, свойствами и постоянством.

Система управления репозиторием

sMash использует диспетчер зависимостей Ivy. Приложения sMash состоят из моделей, которые могут указывать зависимости от других модулей, которые могут присутствовать в локальном репозитории Ivy или которые могут быть получены из удаленного репозитория. IBM поддерживает репозиторий полезных модулей на projectzero.org, а зависимости также можно указать в репозитории maven2.

Поддержка PHP

Поддержка PHP в WebSphere sMash обеспечивается исполняющей средой PHP, реализованной на Java. Сценарии PHP компилируются в байт-код Java, который затем запускается на Java виртуальной машине (JVM ). Это похоже на подход, применяемый в других проектах, таких как JRuby и Jython, которые работают на языках Ruby и Python, соответственно против JVM. Выполнение на JVM позволяет осуществлять прямые вызовы тех же процессов между кодом PHP, Java и Groovy, позволяя собирать приложения с использованием различных языков.

В отличие от подхода Quercus, другой реализации PHP на основе JVM, sMash может повторно использовать существующие расширения PHP из PHP.net, присоединяя их к виртуальной машине Java через собственный интерфейс Java (JNI) и уровень API под названием XAPI-C.

Среда выполнения имеет порт отладки DBGp, обеспечивающий отладочный доступ из IDE и отладчиков, поддерживающих протокол DBGp, таких как проект Eclipse PDT.

Среда выполнения PHP не имеет идентичности за пределами sMash, поэтому ее просто называют «средой выполнения WebSphere sMash для PHP».

По состоянию на октябрь 2008 г. WebSphere sMash может запускать несколько хорошо известных приложений PHP на виртуальной машине Java. К ним относятся SugarCRM, phpBB, WordPress и MediaWiki.

. Среда выполнения PHP поддерживает тесную интеграцию с языками Java и Groovy через свои Java / Groovy. мост. Это позволяет сценариям PHP использовать библиотеки, написанные на Java и Groovy, через легкий и чрезвычайно быстрый уровень взаимодействия. Мост Groovy позволяет получать доступ к расширенным функциям Groovy непосредственно из PHP. Примеры включают замыкания и метаобъекты Groovy .

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-20 10:27:45
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте