WebSphere sMash

Source: Wikipedia, the free encyclopedia.
WebSphere sMash
Developer(s)IBM
Final release
1.1.1 / June 1, 2009 (2009-06-01)
Written in
Application Server
LicenseProprietary
Websitewww.projectzero.org[dead link]

WebSphere sMash was a development and runtime environment from

runtime written in Java
. Project Zero was the experimental software development community in which new versions of
WebSphere sMash were incubated. WebSphere sMash was withdrawn from sale in 2012, with support discontinued in 2014.[1]

WebSphere Smash integrated with Eclipse and produced REST-style services on top of Groovy or PHP .[2]

Architecture

There are a number of distinguishing aspects to the architecture of WebSphere sMash.

Event-driven programming model

WebSphere sMash uses an

Groovy
or the Flow language.

Global context

Since events are

stateless
, a mechanism is required to share data between event handlers. This mechanism is the Global Context. The Global context functions basically as a large map of data divided up into various zones with different lifetimes, properties and persistence.

Repository management system

sMash makes use of the Ivy dependency manager. sMash applications are composed of models which can specify dependencies on other modules which may be present in a local Ivy repository or which can be fetched from a remote repository. IBM maintains a repository of useful modules at projectzero.org and dependencies can also be specified on the maven2 repository.

PHP support

The

JVM). This is similar in concept to the approach taken by other projects such as JRuby and Jython, which run the Ruby and Python
languages, respectively, against the JVM. Running on the JVM allows direct, same process calls between PHP, Java and Groovy code allowing applications to be assembled using a variety of languages.

In contrast to the approach taken by Quercus, the other JVM based PHP implementation, sMash is able to re-use existing PHP extensions from PHP.net attaching them to the Java virtual machine via the Java Native Interface (JNI) and an API layer called XAPI-C.

The runtime has a DBGp debug port allowing debug access from IDEs and debuggers which support the DBGp protocol such as the Eclipse PDT project.

The PHP runtime does not have an identity outside of sMash so it is simply referred to as the "WebSphere sMash runtime for PHP."

As of October 2008 WebSphere sMash is capable of running several well-known PHP applications on a Java Virtual Machine. These include SugarCRM,[4] phpBB,[5] WordPress[6] and MediaWiki.[7]

The PHP runtime supports close integration with the Java and Groovy languages through its Java/Groovy bridge. This allows PHP scripts to use libraries written in Java and Groovy through a lightweight and extremely fast interop layer[

metaobjects
.

See also

References

  1. ^ "IBM United States Withdrawal Announcement 912-138" (PDF). June 12, 2012.
  2. ^ "About Project Zero". Project Zero Site. Archived from the original on 2008-07-09. Retrieved 2008-06-23.
  3. ^ "Project Zero PHP page". Archived from the original on 2009-01-25. Retrieved 2009-02-02.
  4. ^ "Smash4Sugar project at SugarForge". Smash 4 Sugar. Retrieved 2008-06-30.
  5. ^ "PhpBB running on Project Zero". phpBB on PZ. Archived from the original on 2008-08-07. Retrieved 2008-06-30.
  6. ^ "Try out PHP Application WordPress on sMash". WordPress on PZ. Archived from the original on 2008-10-22. Retrieved 2008-10-09.
  7. ^ "Try out PHP Application MediaWiki on sMash". MediaWiki on PZ. Archived from the original on 2008-10-16. Retrieved 2008-10-19.

External links