WebSphere sMash
Utvecklare | IBM |
---|---|
Slutlig utgåva | 1.1.1 / 1 juni 2009
|
Skrivet i | Java |
Typ | Applikationsserver |
Licens | Proprietär |
Hemsida |
|
WebSphere sMash var en utvecklings- och körtidsmiljö från IBM för att skapa dynamiska webbapplikationer med skriptspråken Apache Groovy och PHP . Den innehöll en PHP- runtime skriven i Java . Project Zero var den experimentella mjukvaruutvecklingsgemenskapen där nya versioner av WebSphere sMash inkuberades. WebSphere sMash togs bort från försäljning 2012, och supporten upphörde 2014.
WebSphere Smash integrerad med Eclipse och producerade tjänster i REST -stil ovanpå Groovy eller PHP.
Arkitektur
Det finns ett antal utmärkande aspekter på arkitekturen för WebSphere sMash.
Händelsestyrd programmeringsmodell
WebSphere sMash använder en händelsestyrd programmeringsmodell . Applikationer är vanligtvis sammansatta av ett antal små moduler som kommunicerar med varandra genom att avfyra händelser som sedan fångas upp av andra hanterare som har registrerat sig för att fånga händelserna. Koden som aktiverar händelsen har ingen kunskap om koden som kommer att hantera händelsen. Denna arkitektur gör att applikationen kan byggas upp från en blandning av kod skriven med PHP , Java , Groovy eller Flow-språket.
Globalt sammanhang
Eftersom händelser är tillståndslösa krävs en mekanism för att dela data mellan händelsehanterare. Denna mekanism är det globala sammanhanget. Det globala sammanhanget fungerar i grunden som en stor karta över data uppdelad i olika zoner med olika livslängder, egenskaper och persistens.
Förvarshanteringssystem
sMash använder sig av Ivy dependency manager. sMash-applikationer är sammansatta av modeller som kan specificera beroenden av andra moduler som kan finnas i ett lokalt Ivy-förråd eller som kan hämtas från ett fjärrlager. IBM har ett arkiv med användbara moduler på projectzero.org och beroenden kan också specificeras på maven2-arkivet.
PHP-stöd
PHP - stödet i WebSphere sMash tillhandahålls av en PHP-runtime implementerad i Java. PHP-skript kompileras till Java-bytekod som sedan körs på Java Virtual Machine ( JVM ). Detta liknar i konceptet tillvägagångssättet från andra projekt som JRuby och Jython , som kör Ruby- respektive Python -språken mot JVM. Att köra på JVM tillåter direkta, samma processanrop mellan PHP, Java och Groovy-kod, vilket gör att applikationer kan monteras med en mängd olika språk.
I motsats till tillvägagångssättet från Quercus, den andra JVM-baserade PHP-implementeringen, kan sMash återanvända befintliga PHP-tillägg från PHP.net genom att koppla dem till den virtuella Java-maskinen via Java Native Interface (JNI) och ett API-lager som heter XAPI-C.
Körtiden har en DBGp-debug-port som tillåter felsökningsåtkomst från IDE:er och debuggers som stöder DBGp-protokollet, såsom Eclipse PDT -projektet.
PHP-runtimen har ingen identitet utanför sMash så den kallas helt enkelt för "WebSphere sMash runtime for PHP."
Från och med oktober 2008 kan WebSphere sMash köra flera välkända PHP-applikationer på en Java Virtual Machine. Dessa inkluderar SugarCRM , phpBB , WordPress och MediaWiki .
PHP-runtime stöder nära integration med Java och Groovy-språken genom sin Java/Groovy-brygga. Detta gör att PHP-skript kan använda bibliotek skrivna i Java och Groovy genom ett lätt och extremt snabbt interop-lager [ citat behövs ] . Groovy-bryggan gör att avancerade funktioner från Groovy kan nås direkt från PHP. Exempel inkluderar stängningar och Groovy metaobjekt .
Se även
externa länkar
- OSS-utvecklare: Project Zero Aims for Next-Gen Web Applications
- IBM WebSphere sMash V1.1.0 ger smart applikationsutveckling till företag
- sMash dataåtkomst med pureQuery