请输入您要查询的百科知识:

 

词条 WebSphere sMash
释义

  1. Architecture

     Event-driven programming model   Global context   Repository management system  

  2. PHP support

  3. See also

  4. References

  5. External links

{{About|the software|the video game series|Fatal Frame|other uses|Project Zero (disambiguation)}}{{primary sources|date=June 2011}}{{Infobox software
| name = WebSphere sMash
| logo = Websphere logo.png
| logo size = 300px
| screenshot = Ws Smash Shot.Png
| caption = WebSphere sMash Screenshot running
| developer = IBM
| latest release version = 1.1.1
| latest release date = {{release date|2009|06|01}}
| latest preview version =
| latest preview date =
| operating system =
| programming language = Java
| genre = Application Server
| license = Proprietary
| website = {{url|http://www.projectzero.org}}{{dead link|date=May 2014}}
}}

WebSphere sMash was a development and runtime environment from IBM for the creation of dynamic web applications using the scripting languages Apache Groovy and PHP. It contains a PHP runtime written in Java.

Project Zero is the experimental software development community in which new versions of WebSphere sMash are incubated.

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

.[1]

Architecture

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

Event-driven programming model

WebSphere sMash uses an event-driven programming model. Applications are typically composed of a number of small modules which communicate with each other by firing events which are then caught by other handlers that have registered to catch the events. The code firing the event does not have any knowledge of the code that will handle the event. This architecture allows application to be built up from a mixture of code written using PHP, Java, 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 PHP support in WebSphere sMash is provided by a PHP runtime implemented in Java.[2] PHP scripts are compiled into Java bytecode which then run on the Java Virtual Machine (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,[3] phpBB,[4] WordPress[5] and MediaWiki.[6]

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{{Citation needed|date=December 2009}}. The Groovy bridge allows advanced features from Groovy to be accessed directly from PHP. Examples include closures and Groovy metaobjects.

See also

  • PHP/Java Bridge
  • pureQuery
  • Quercus

References

1. ^{{cite web|work=Project Zero Site |title=About Project Zero |url=http://www.projectzero.org/about/ |accessdate=2008-06-23 |deadurl=yes |archiveurl=https://web.archive.org/web/20080709040817/http://www.projectzero.org/about/ |archivedate=2008-07-09 |df= }}
2. ^{{cite web|work=Project Zero PHP page |title=Project Zero PHP page |url=http://www.projectzero.org/php |accessdate=2009-02-02 |deadurl=yes |archiveurl=https://web.archive.org/web/20090125060455/http://www.projectzero.org/php/ |archivedate=2009-01-25 |df= }}
3. ^{{cite web |work=Smash 4 Sugar |title= Smash4Sugar project at SugarForge |url=http://www.sugarforge.org/projects/sugar4smash |accessdate=2008-06-30}}
4. ^{{cite web|work=phpBB on PZ |title=PhpBB running on Project Zero |url=http://www.projectzero.org/blog/index.php/2008/01/13/phpbb-running-on-project-zero/ |accessdate=2008-06-30 |deadurl=yes |archiveurl=https://web.archive.org/web/20080807010857/http://www.projectzero.org/blog/index.php/2008/01/13/phpbb-running-on-project-zero/ |archivedate=2008-08-07 |df= }}
5. ^{{cite web|work=WordPress on PZ |title=Try out PHP Application WordPress on sMash |url=http://www.projectzero.org/blog/index.php/2008/10/02/try-out-php-application-wordpress-on-smash/ |accessdate=2008-10-09 |deadurl=yes |archiveurl=https://web.archive.org/web/20081022080223/http://www.projectzero.org/blog/index.php/2008/10/02/try-out-php-application-wordpress-on-smash/ |archivedate=2008-10-22 |df= }}
6. ^{{cite web|work=MediaWiki on PZ |title=Try out PHP Application MediaWiki on sMash |url=http://www.projectzero.org/blog/index.php/2008/10/09/try-out-php-application-mediawiki-on-websphere-smash/ |accessdate=2008-10-19 |deadurl=yes |archiveurl=https://web.archive.org/web/20081016061816/http://www.projectzero.org/blog/index.php/2008/10/09/try-out-php-application-mediawiki-on-websphere-smash/ |archivedate=2008-10-16 |df= }}

External links

  • [https://web.archive.org/web/20080501115052/http://ostatic.com/160611-blog/oss-developers-project-zero-aims-for-next-gen-web-applications OSS Developers: Project Zero Aims for Next-Gen Web Applications]
  • IBM WebSphere sMash V1.1.0 brings smart application development to businesses
  • [https://web.archive.org/web/20110524073941/http://www.projectzero.org/sMash/1.1.x/docs/zero.devguide.doc/zero.data/overview.html sMash data access with pureQuery]
{{PHP}}

3 : IBM WebSphere|PHP software|Web frameworks

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/11 21:05:51