Using SOAP with EJBs


I spent a few hours today playing around with Axis, the Apache Software Foundation web services tool.  One of the things I wanted to do was to get a SOAP interface to some EJBs running on jBOSS.  There's a half done tutorial at the jBOSS site, but there are no examples in it yet.  Google led me to a great little tutorial on Axis and, in part III, jBOSS.  I recommend starting with part I and working your way through it.  It says, BTW, that you need Java 1.4, but I found that 1.3 worked just fine.  One of the things you get from using SOAP with EJBs is a workable .NET interface to your J2EE apps. 

One of the things I did get from the jBOSS tutorial was a great little definition of web services.  Web services are self-contained pieces of code that have three distinguishing properties:

  1. They communicate in an interoperable XML protocol, such as SOAP.
  2. They describe themselves in an interoperable XML meta-format, such as WSDL.
  3. They are able to federate globally through XML based registry services, such as UDDI.

I like that its not defined in terms of SOAP, WSDL, and UDDI, but rather in terms of the overall functionality, with those three things given as examples.  For example, I think you could substitute Google and WSIL for UDDI and still have an XML based registry service that allows services to federate.