Posted by Mark Figley on Aug 21, 2007 06:00 AM
As REST principals and Web Oriented Architecture concepts are in the process from migrating from the geek edge to the enterprise mainstream, in a recent interview, IBM WebSphere CTO Jerry Cuomo has been saying that they have become a core focus for IBM in Project Zero, which "introduces a simple environment for creating, assembling and running applications based on popular Web technologies." Project Zero is being developed under an open development (but not open source) model. A couple of points of interest with Project Zero is it continues the trend away from pure java and towards dynamic languages for web application development, and also the emphasis on REST service development in the enterprise.
The concept of incorporating dynamic language technologies into existing Java stacks is not new, and in this regard Project Zero would appear to be IBM's answer to Oracle's Partnership with Zend for PHP integration into it's AppServer and Database products as well as the integration of PHP into WebLogic that BEA annouced at last year's JavaOne. Sun Microsystems has also be heavily investing in dynamic language web tier development with their own Zend partnership, the acquisition of the JRuby team and the Phobos application server project. Finally, Coucho Technologies has developed one of the most compelling clean room implementations of PHP and incorporated into their Resin Java Application Server.
It is also clear that Cuomo forwarding a vision where enterprise WS-* services and lightweight REST service frameworks work hand in hand; that it is not an either/or scenario:
At a time when the entire industry finds itself in a position where it must respond in some fashion to the development time efficiencies achieved by PHP and Ruby on Rails, Project Zero is an interesting response because it is not a rails port and not a rails clone. Whereas Ruby on Rails might be seen as a highly optimized implementation of the MVC architectural pattern that heavily leverages the flexible nature of the Ruby language, the Project Zero core concepts page explains that the Project Zero focus is a bit different. By abstracting the framework concepts from language implementation, users of Project Zero have language flexibility. You can switch out Groovy and PHP (and presumably others in the future) and leverage the same framework. You also have the flexibility of popping back down into Java when you want/need to. Architecturally, instead of being a traditional Action based framework Project Zero heavily embraces an event based architecture with stateless event handlers, where transaction state is held in a global context. Finally, Project Zero sees itself as a kernel with an open and extensible modular architecture, much like Eclipse model that has already been so successful for IBM.