The Inside Track on Firefox Development.

« Smart Keywords Get Smarter | Main | Extension/Update Manager Screenshots »

April 21, 2004

Web Service Joy, The Ongoing Saga

The best thing - the absolute best thing - about working with Mozilla's web services implementation is that when you encounter a bug, and find a way of working around it, another bug hiding underneath is waiting to bite you. Well, after sitting down with Darin for over 2 hrs I finally have a solution that works acceptably for my Extension Update mechanism. The bug fix was an incorrectly offset DOM element - a one word patch. Sigh. Thanks Darin for the help otherwise I'd surely still be stuck.

Despite the convoluted nature of their use from client-side javascript, I'm nonetheless enamored of the power and potential of writing rich clients using WSDL/SOAP. It certainly seems like there are a number of interesting apps that could be built on this technology. The real stumbling block now is Mozilla's implementation, which has been described diplomatically as "lightly tested." In reality it seems to be more the case that the code was made to compile on all platforms, and then checked in. What's really needed now is a comprehensive test suite of features that real world applications are likely to want to use (complex types as parameters and return values, arrays of complex types as parameters and return values) and various server configurations and such like using both interfaces - the WSDL wrapper to SOAP and using SOAP directly. It's only by developing a test suite and then bringing the implementation into compliance that the feature will become truly useful. At the moment, with Darin's fix it is slightly better than a toy. ;-)

Posted by ben at April 21, 2004 2:24 AM

Comments

SOAP? wasn't CORBA bad enough already that they had to reimplement it using XML?

XML-RPC at least is minimally reasonable...

Posted by: K. at April 22, 2004 4:44 AM

CORBA's big problem wasn't the RPC layer, it was the rest of the crap in the horribly-bloated specs, and the fruit-salad approach to API design.

Biggest, I suppose. It didn't really lack for big problems.

Posted by: shaver at April 22, 2004 2:02 PM

Has anyone else noticed that keywords in Firefox seem to be broken now? Going back a couple of nightlies solves the problem. I've looked around Mozillazine's fora but can't find any reference to this.

Posted by: Peter at April 23, 2004 9:55 PM

What about rss feeds? Would be useful for those wanting to put latest release, most popular, top 10, on their website, blog, or just see via a feed reader.

Posted by: Robert Accettura at April 25, 2004 6:35 PM

Been messing with various approaches for getting an XUL app "talking" to a remote web server. Particularily interested in XUL "launched" from a website. After messing with SOAP and XML-RPC in Mozilla, decided that, at least for the time being, these are not the way to go, partly due to bugs and partly due to excessive security.

Instead of a language neutral mechanism like SOAP, now looking at a specific implementation that gets PHP and Javascript talking. From Javascript to PHP, Javascript data structures are serialized into a form PHP understands. Going the other way, PHP serializes it's data structures into an anonymous Javascript function which can be eval()'ed. Underlying transport can then be XMLHttpRequest. More info here and here.

The same approach would work with Python + pickle, for example, and any language which supports a simple byte representation of it's data structures.

Posted by: Harry Fuecks at May 3, 2004 1:40 AM