WebSphere sMash fue un entorno de desarrollo y ejecución de IBM para la creación de aplicaciones web dinámicas utilizando los lenguajes de programación Apache Groovy y PHP . Contenía un tiempo de ejecución de PHP escrito en Java . Project Zero fue la comunidad de desarrollo de software experimental en la que se incubaron nuevas versiones de WebSphere sMash. WebSphere sMash se retiró de la venta en 2012 y el soporte se interrumpió en 2014. [1]
Desarrollador (es) | IBM |
---|---|
Lanzamiento final | 1.1.1 / 1 de junio de 2009 |
Escrito en | Java |
Tipo | Servidor de aplicaciones |
Licencia | Propiedad |
Sitio web | www |
WebSphere Smash se integró con Eclipse y produjo servicios de estilo REST además de Groovy o PHP. [2]
Arquitectura
Hay una serie de aspectos distintivos en la arquitectura de WebSphere sMash.
Modelo de programación impulsado por eventos
WebSphere sMash utiliza un modelo de programación controlado por eventos . Las aplicaciones se componen típicamente de una serie de pequeños módulos que se comunican entre sí mediante la activación de eventos que luego son capturados por otros controladores que se han registrado para capturar los eventos. El código que dispara el evento no tiene ningún conocimiento del código que manejará el evento. Esta arquitectura permite que la aplicación se construya a partir de una mezcla de código escrito usando PHP , Java , Groovy o el lenguaje Flow.
Contexto global
Dado que los eventos no tienen estado , se requiere un mecanismo para compartir datos entre los controladores 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 tiempos de vida, propiedades y persistencia.
Sistema de gestión de repositorios
sMash utiliza el administrador de dependencias de Ivy . Las aplicaciones sMash se componen de modelos que pueden especificar dependencias de otros módulos que pueden estar presentes en un repositorio de Ivy local o que pueden obtenerse de un repositorio remoto. IBM mantiene un repositorio de módulos útiles en projectzero.org y las dependencias también se pueden especificar en el repositorio maven2.
Soporte PHP
El soporte de PHP en WebSphere sMash lo proporciona un tiempo de ejecución de PHP implementado en Java. [3] Los scripts PHP se compilan en código de bytes Java que luego se ejecutan en la máquina virtual Java ( JVM ). Esto es similar en concepto al enfoque adoptado por otros proyectos como JRuby y Jython , que ejecutan los lenguajes Ruby y Python , respectivamente, contra la JVM. La ejecución en la JVM permite llamadas directas al mismo proceso entre PHP, Java y código Groovy, lo que permite ensamblar aplicaciones utilizando una variedad de lenguajes.
A diferencia del enfoque adoptado por Quercus, la otra implementación de PHP basada en JVM, sMash puede reutilizar las extensiones de PHP existentes de PHP.net adjuntándolas a la máquina virtual Java a través de la interfaz nativa de Java (JNI) y una capa de API llamada XAPI-C.
El tiempo de ejecución tiene un puerto de depuración DBGp que permite el acceso de depuración desde IDE y depuradores que admiten el protocolo DBGp, como el proyecto Eclipse PDT .
El tiempo de ejecución de PHP no tiene una identidad fuera de sMash, por lo que simplemente se denomina "tiempo de ejecución de WebSphere sMash para PHP".
Desde octubre de 2008, WebSphere sMash es capaz de ejecutar varias aplicaciones PHP conocidas en una máquina virtual Java. Estos incluyen SugarCRM , [4] phpBB , [5] WordPress [6] y MediaWiki . [7]
El tiempo de ejecución de PHP admite una integración cercana con los lenguajes Java y Groovy a través de su puente Java / Groovy. Esto permite que los scripts PHP usen bibliotecas escritas en Java y Groovy a través de una capa de interoperabilidad ligera y extremadamente rápida [ cita requerida ] . El puente Groovy permite acceder a las funciones avanzadas de Groovy directamente desde PHP. Los ejemplos incluyen cierres y metaobjetos Groovy .
Ver también
Referencias
- ^ "Anuncio de retirada de IBM Estados Unidos 912-138" (PDF) . 12 de junio de 2012.
- ^ "Acerca de Project Zero" . Sitio del Proyecto Cero . Archivado desde el original el 9 de julio de 2008 . Consultado el 23 de junio de 2008 .
- ^ "Página de Project Zero PHP" . Página de Project Zero PHP . Archivado desde el original el 25 de enero de 2009 . Consultado el 2 de febrero de 2009 .
- ^ "Proyecto Smash4Sugar en SugarForge" . Aplasta 4 azúcares . Consultado el 30 de junio de 2008 .
- ^ "PhpBB ejecutándose en Project Zero" . phpBB en PZ . Archivado desde el original el 7 de agosto de 2008 . Consultado el 30 de junio de 2008 .
- ^ "Pruebe la aplicación PHP WordPress en sMash" . WordPress en PZ . Archivado desde el original el 22 de octubre de 2008 . Consultado el 9 de octubre de 2008 .
- ^ "Pruebe la aplicación PHP MediaWiki en sMash" . MediaWiki en PZ . Archivado desde el original el 16 de octubre de 2008 . Consultado el 19 de octubre de 2008 .
enlaces externos
- Desarrolladores de OSS: Project Zero Aims for Next-Gen Web Applications
- IBM WebSphere sMash V1.1.0 lleva el desarrollo de aplicaciones inteligentes a las empresas
- Acceso a datos sMash con pureQuery