WebSphere sMash era un entorno de desarrollo y ejecución de IBM para la creación de aplicaciones web dinámicas mediante los lenguajes de scripting Apache Groovy y PHP . Incluía un entorno de ejecución de PHP escrito en Java . Project Zero era la comunidad experimental de desarrollo de software donde se gestaban nuevas versiones de WebSphere sMash. WebSphere sMash se retiró del mercado en 2012 y su soporte se interrumpió en 2014. [ 1 ]
WebSphere Smash se integró con Eclipse y produjo servicios de estilo REST sobre Groovy o PHP. [ 2 ]
Arquitectura
La arquitectura de WebSphere sMash presenta varios aspectos distintivos.
Modelo de programación basado en eventos
WebSphere sMash utiliza un modelo de programación orientado a eventos . Las aplicaciones suelen estar compuestas por varios módulos pequeños que se comunican entre sí mediante la emisión de eventos, los cuales son capturados por otros manejadores registrados para tal fin. El código que emite el evento desconoce el código que lo gestionará. Esta arquitectura permite construir aplicaciones a partir de una combinación de código escrito en PHP , Java , Groovy o Flow.
Contexto global
Dado que los eventos no tienen estado , se requiere un mecanismo para compartir datos entre los manejadores de eventos. Este mecanismo es el Contexto Global. El Contexto Global funciona básicamente como un gran mapa de datos dividido en varias zonas con diferentes duraciones, propiedades y persistencia.
Sistema de gestión de repositorios
sMash utiliza el gestor de dependencias Ivy . Las aplicaciones sMash se componen de modelos que pueden especificar dependencias de otros módulos, ya sea en un repositorio Ivy local o en un repositorio remoto. IBM mantiene un repositorio de módulos útiles en projectzero.org, y también se pueden especificar dependencias en el repositorio maven2.
Soporte para PHP
La compatibilidad con PHP en WebSphere sMash se proporciona mediante un entorno de ejecución de PHP implementado en Java. [ 3 ] Los scripts de PHP se compilan en bytecode de Java , que luego se ejecuta en la Máquina Virtual de Java ( JVM ). Este enfoque es similar al de otros proyectos como JRuby y Jython , que ejecutan los lenguajes Ruby y Python , respectivamente, en la JVM. La ejecución en la JVM permite llamadas directas al mismo proceso entre código PHP, Java y Groovy, lo que posibilita el desarrollo de aplicaciones utilizando diversos lenguajes.
A diferencia del enfoque adoptado por Quercus, la otra implementación de PHP basada en la JVM, sMash es capaz de reutilizar las extensiones de PHP existentes de PHP.net, conectándolas a la máquina virtual de Java a través de la Interfaz Nativa de Java (JNI) y una capa de API llamada XAPI-C.
El entorno de ejecución cuenta con un puerto de depuración DBGp que permite el acceso de depuración desde entornos de desarrollo integrados (IDE) y depuradores que admiten el protocolo DBGp, como el proyecto Eclipse PDT .
El entorno de ejecución de PHP no tiene una identidad propia fuera de sMash, por lo que simplemente se le conoce como "entorno de ejecución WebSphere sMash para PHP".
Desde octubre de 2008, WebSphere sMash es capaz de ejecutar varias aplicaciones PHP conocidas en una máquina virtual Java. Estas incluyen SugarCRM , [ 4 ] phpBB , [ 5 ] WordPress [ 6 ] y MediaWiki . [ 7 ]
El entorno de ejecución de PHP admite una estrecha integración con los lenguajes Java y Groovy a través de su puente Java/Groovy. Esto permite que los scripts de PHP utilicen bibliotecas escritas en Java y Groovy mediante una capa de interoperabilidad ligera y extremadamente rápida . El puente Groovy permite acceder a funciones avanzadas de Groovy directamente desde PHP. Algunos ejemplos son los cierres y los metaobjetos de Groovy .
Véase también
Referencias
- ↑ "Anuncio de retirada de IBM en Estados Unidos 912-138" (PDF) . 12 de junio de 2012.
- ↑ "Acerca de Project Zero" . Sitio web de Project Zero . Archivado del original el 9 de julio de 2008. Consultado el 23 de junio de 2008 .
- ↑ "Página de Project Zero PHP" . Archivado del original el 25/01/2009 . Consultado el 02/02/2009 .
- ↑ "Proyecto Smash4Sugar en SugarForge" . Smash 4 Sugar . Consultado el 30 de junio de 2008 .
- ↑ "PhpBB ejecutándose en Project Zero" . phpBB en PZ . Archivado del original el 7 de agosto de 2008. Consultado el 30 de junio de 2008 .
- ↑ "Prueba la aplicación PHP WordPress en sMash" . WordPress en PZ . Archivado del original el 22/10/2008 . Consultado el 09/10/2008 .
- ↑ "Prueba la aplicación PHP MediaWiki en sMash" . MediaWiki en PZ . Archivado del original el 16 de octubre de 2008. Consultado el 19 de octubre de 2008 .
Enlaces externos
- Desarrolladores de software de código abierto: Project Zero busca crear aplicaciones web de próxima generación.
- IBM WebSphere sMash V1.1.0 aporta desarrollo de aplicaciones inteligentes a las empresas.
- Acceso a datos sMash con pureQuery
- IBM WebSphere
- Software propietario programado en Java.
- marcos de trabajo web
- Software descontinuado