March is Web Services month according to Sun, and they've organized a set of special events as well as one place that links to technical articles, products downloads, tutorials live interaction with Web Services experts, and more. The feature event is a live online roundtable with James Gosling and Bill Smith on web services, on March 14th.
- Posted by: Floyd Marinescu
- Posted on: March 07 2003 13:37 EST
Check out Web Services Education Month at java.sun.com.
- how to convert an ejb app into a web service component ? by bad mASH on March 07 2003 17:44 EST
We have developed this stand-alone e-commerce application(using EJBs on Jboss) that , according to our marketing feedback, will sell better as a web service based component. While we continue to sell this well as a stand-alone product, my mandate is to create a Web services based component out of this application, in a reasonable time frame.
Has anyone done this before ? Are there any guidelines or best practices for making ejb based web-services components? Can Jboss or any other application server make this less painful ? We have a lot of EJB expertise in-house but none of us have even looked at Web services before today !!Any pointers will be appreciated.
We went through a similar process about a year ago when we had to expose our API as Web Services. We went through couple of interactions and learned a few things through this process.
1. It is easier to expose stateless session beans than entity beans or statefull beans.
2. The Web services API ended up being more coarse grained than the EJB API (no one to one mapping).
3. The best way to design the API was to first design an XML document that would have all the data elements that you need for each operation and then write a thin layer to receive that document do validation when necessary and then call one or several EJBs. Collect the result back and format it into the a reply document.
There are a few tools out there that make it simpler to do that: Systinet, Glue, Cape Clear, BEA Workshop and Apache Axis.
The most challenging part is to identify the right operation and input and output XML documents (design work). The tools dramatically simplify implementing the thin wrapper.
edwink ATNOSPAM collaxa.com
Thanks for the info. I am exploring them as we speak. How has your experience in integrating your application with .NET based other applications ?
Integration with .NET has actually been a positive experience: Most tools have a good support for the WSDL generated by .NET so it is usually fairly easy to get called by .NET client (ASP or rich client) and call .NET Services. The only thing you want to watch for is not to create exotic XML Schema types.
edwink ATNOSPAM collaxa.com
Actually the ad 2 in your e-mail the main point. we at Systinet have learned that directly exposing a fine-grained EJB interface as a web service is often not a good idea. It might be helpful if you want to do something quickly but usually you should really start with the web service interface (WSDL), generate a skeleton and use EJBs to implement it (look at tutorials at http://www.systinet.com/resources/tutorials for more details how to create such simple web services wrapper).
However if you still want to use the direct exposing, you might find following link helpful:
This describes the Systinet approach to exposing EJBs as web services.
I hope that this is helpful