For starters, I can create a Domino web service using Lotusscript. And since I haven't done much Java coding lately, I appreciate not having to remember all of the Java particulars in order to create a web service.
From what I can tell so far, a Lotusscript-based web service can accomplish everything that a Java web service can. No "gotta use Java for this because Lotusscript can't handle it" predicament here!
Domino Web services are based on custom Lotusscript classes. I've been creating custom Lotusscript classes for about four years now, so creating one that serves as the basis for a web service is a snap. Sure, I'd like to be able to see my class properties and methods in the Objects tab, but none of us have had that capability since Lotusscript was introduced in 1997. Maybe, someday...
A Domino web service can handle simple input like a text string or a complex object represented in XML. This probably puts a Domino web service on par with a WebSphere web service, a Microsoft .NET and most other web service platforms. While this isn't an earth-shattering revelation, its nice to be able to say this about Domino when I can!
When a client calls a Domino web service, Domino automatically populates the parameters of your web service function with data received. If your web service receives an XML document, Domino will automatically "transform" the data in that XML document into custom Lotusscript classes that you reference in your function declaration. (And by "transform", I'm not referring to XSLT or XSL-FO.) For an excellent description how this works, I highly recommend reading
Julian Robichaux's article titled
"Practical Web services in IBM Lotus Domino 7: Writing and testing simple Web services".
You can run web services on your Domino server without having to perform any additional configuration. That's worth repeating: You can run web services on your Domino server without having to perform any additional configuration.
You can test web services locally, provided you start your local web retriever task by previewing something in your browser.
If you know how to create and debug a Domino agent, you can create and debug a Domino web service. While there are differences between the two, there are enough similarities so that an experienced Domino developer can start writing Domino web services quickly.
Taking all of the above into consideration, I'm amazed at how simple it is to develop web services in Domino. Domino developers are able to leverage their existing skills, and can develop solutions without a Domino server.
Amazing. If only IBM/Lotus had spent its time adding more capabilities like this to Domino, instead of chasing its collective tail and ultimately fumbling the whole Lotus Workplace thing...but I'll save that rant for a future blog.
(1)