Saturday 17 February 2007

Web Services Middleware: All Grown Up!




The term Web services carries the connotation of (slowly) doing RPC over SOAP. While many original SOAP toolkits supported and promoted that model (including Apache SOAP which I created), that is not at all what Web services are about. Apache's history with Web services has seen three generations of efforts: Apache SOAP, Apache Axis and now Apache Axis2.

Axis2 is fundamentally different: instead of treating XML as a hot potato that must be replaced with a language structure immediately, it treats XML lovingly and offers a very clean processing model for XML. Of course it does support data binding for those that want to look a the XML as objects but the core of Axis2 is a pure XML processing architecture.

Axis2 is the basis of a new kind of enterprise middleware. Building on that core stack we have built support for the entire security protocol (Apache Rampart and Rahas) set as well as for reliability (Apache Sandesha) and transactions (Apache Kandula). Apache Synapse is providing ESB like message and service mediation capabilities on top of Axis2.

Axis2 supports both WS-* style services as well as XML-over-HTTP (POX) style services. We're also working on JSON support and a host of other cool stuff. We support HTTP, SMTP and JMS with other transports on the way (including XMPP).

The Axis2 architecture is being implemented in both Java and C, with the C version bound to PHP and other scripting languages as well as Firefox, IE and other hosts.

In this talk we will introduce the new generation of Apache Web services middleware.

No comments: