Editor's note: When this article series was first published, it
was based on code in an incubator project called Project Zero.
At that point, the name Project Zero referred to the code and
the community. The code is now available as a product called
IBM® WebSphere® sMash.
Project Zero
is now the development community for WebSphere sMash and will
continue to offer developers a cost-free platform for
developing applications with the latest builds, the latest
features, and the support of the community.
IBM WebSphere sMash is focused on agile development of Web 2.0
applications following Service-Oriented Architecture (SOA).
Web 2.0 applied to SOA allows Web artifacts to extend the
reach of SOA. Think of this as RESTful SOA. (Representational
State Transfer (REST) is an architectural style.)
RESTful SOA is a subset of SOA that focuses on Hypertext
Transfer Protocol (HTTP) and basic RESTful principles. RESTful
SOA advocates the use of design patterns that have made the
Web a success; it makes sense, and is to our collective
benefit, to follow this pattern with application design.
Benefits include:
Scalability, through caching and stateless
interactions.
Simplicity, with prerequisites that are typically
HTTP and XML or JavaScript Object Notation (JSON)
parsing and rendering.
A wide-reaching "network effect" from common
standards. For example, sites can consume or aggregate
Atom or RSS feeds without having to know details about
the content.
WebSphere sMash introduces a simple environment for creating,
assembling, and executing applications based on popular Web
technologies. The WebSphere sMash environment includes a
scripting run time for Groovy and PHP, with application
programming interfaces optimized for producing REST-style
services, integration mashups, and Web interfaces.
WebSphere sMash’s goals are both technical and social. The
technical goals are to provide a scalable platform that
simplifies application development in three important
dimensions:
Create
Simplify development with support for scripting
languages (currently Groovy and PHP), conventions that
promote RESTful patterns, and catalogs of reusable
assets.
Assemble
Enable rapid access and aggregation of disparate
services into unified applications, including data
flows, orchestrations, and custom mediations.
Deploy
Provide an application-centric run time environment
based upon the well known and stable Java™
Virtual Machine (JVM), which is optimized for agile
development (small footprint, fast restart).
The social goals relate to the development process itself.
WebSphere sMash is being developed in the open, as
community-driven commercial development
(CD/CD). Project Zero is the development community for
WebSphere sMash. The user community can observe and influence
technical decisions for WebSphere sMash. Users also have
direct access to the development team and the source code
itself. This level of transparency for commercial software
development is somewhat new for IBM; it leads to a highly
effective offering.
In keeping with CD/CD, all the information about WebSphere
sMash is available at
projectzero.org.
This series of articles won't reveal new information about
WebSphere sMash, but will give a structured introduction to
the underlying concepts.