FWIW - JSON and SOAP are separate choices.

SOAP is an RPC protocol, typically using http, whose messages are serialized in XML.

JSON is just a serialization format. However, it is often used w/ http requests (i.e. REST) to implement RPC.

We use SOAP::Lite extensively in our build & information systems and I've been using it at various jobs for several years.

SOAP::Lite was great when it first emerged but has not gotten a lot of care over the past few years and is now showing its age. It doesn't support any of the new SOAP technologies (e.g. automatic WSDL generation like axis) or support for WS-Security.

But the primary problem I've had with SOAP::LIte is the slow serialization of large results into XML. (SOAP::Lite's XML deserializer and serializer are written in perl and inefficient. Aside from the perl XML parsing, SOAP::Lite also converts the entire result into an in-memory XML document which is then sent back to the client.

When I identified this serialization as a problem here at work and commented that JSON::Syck is a much faster serializer (its written in C), someone in our group came up with notion of serializing results in JSON and then sending that back in a SOAP response ("envelope"). This workaround makes my skin crawl. Its a band-aid.

Someone needs to make write a mod_perl handler to handle SOAP efficiently. In particular, I'd like a solution that can stream results back for batch-oriented RPC calls. Before SOAP::Lite, I wrote a mod_perl handler that did this, but I tossed it for the convenience of SOAP::Lite. But I've been thinking of dusting it off recently once I get the time. If anybody else has any interest or questions, please let me know.

Drew

On Mar 1, 2007, at 6:53 AM, Jonathan Vanasco wrote:


On Mar 1, 2007, at 6:02 AM, Martin Moss wrote:

Effectively I'll be simply posting strings of SOAP XML
to a webpage... But eventually we may use SOAP to pass
data around between Classes. Although I'm not sure if
this would be overkill.

Any hints/advice would be much appreciated..

Have you considered using JSON ? It might be easier for your needs. JSON::Syck works great with modperl, many perl modules support object init from YAML ( which is json compatible ), and a lot of the js frameworks support object init from JSON too ( I like MochiKit )




// Jonathan Vanasco

| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| SyndiClick.com
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|      FindMeOn.com - The cure for Multiple Web Personality Disorder
|      Web Identity Management and 3D Social Networking
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|      RoadSound.com - Tools For Bands, Stuff For Fans
|      Collaborative Online Management And Syndication Tools
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



Reply via email to