Project Links

Recommended Books

Donate


« January 2006 | Main | February 2007 »

State of the SOAP

The SOAP protocol is a critical communication protocol on the Internet due in large part to the fact that it has become native to so many development platforms. SOAP itself has also become an incredibly stable protocol. The WS-* Wars of the early millenium seem to have died down, and the few truly useful extensions to SOAP have been selected by the market.

Most SOAP toolkits as well have stablized along with the protocol. Relative to all those other toolkits, the status of this SOAP toolkit is fair to good. It differentiates itself from other toolkits by still being really easy to use for the majority of use cases. But as more and more people adopt document-literal as their preferred method of encoding, the roots and biases of SOAP::Lite in regards to XML::RPC begin to show and the toolkit is not as resilient.

As a result, SOAP::Lite has a number of known interoperability issues with more modern implementations of SOAP servers and clients. The task of keeping SOAP::Lite up to date is a difficult one. The source code is notoriously complex, a mark of the seriously ingenious Paul Kulchenko who created SOAP:Lite. As a result baffles most inexperienced Perl programmers, and indeed sends many of them running in shear terror. I myself am given the highest respect in my office for signing up to maintain the module for this fact alone - I work with some of the brightest and most experienced Perl programmers in the industry and they all look at SOAP::Lite in awe. And not the "good" kind of awe, the kind of awe that gives people a healthy, but fearful respect.

But I am not trying to inflate my ego, I am trying to set the stage for what should be next for Perl's only SOAP toolkit.

If SOAP::Lite as a project that is to attract more contributing authors, it is essential that the SOAP::Lite code base become easier to work with. SOAP::Lite could benefit a great deal from shedding a lot of the code written before the protocol had really matured, before the era of the WS-i, before a time where other toolkits and servers had agreed upon and embraced a set of best practices. It should consider severing itself from XML::RPC which is really a different protocol that operates under a totally different set of assumptions. SOAP::Lite should shift to a document-driven model, as opposed to an RPC driven one.

Therefore SOAP::Lite needs a re-write. SOAP::Lite needs to live up the "Lite" part of its name. SOAP::Lite should be built from the ground up to conform to the WS-i's requirements. It should be built first and foremost around a wicked WSDL parser and engine. It should be made more modular so that its components can be more easily swapped out for newer and better implementations without disrupting users and developers. It should take advantage of the number of perl modules that have evolved since SOAP::Lite was conceived to reduce code complexity and obscurity.

SOAP::Lite needs your help. SOAP::Lite needs a group of 2-3 passionate people to take a fresh look at this critical toolkit for Perl developers and to usher into a new age of utilization, community growth, usage, and utility.

Undertaking a project like this is not a trivial task. It requires months and months of dedicated time and attention. And then it must also be supported and maintained.

This project would not start from ground zero. There is a vision and a plethora of tried and true code already within SOAP::Lite that shouldn't be needlessly thrown away. What we endeavor to do is make SOAP::Lite easier to grok and easier to work with. What we hope to create is a new module, called SOAP::Easy.

Byrne Reese
Lead Developer and Maintainer, SOAP::Lite

Don't Hate the Ads

Blog powered by TypePad