I am currently involved in a project where we implement business logic and data access using ejb (only session beans, not using entity beans now). we have jsp/servlet web application that uses the ejb. in addtion, an intranet VB application accesses the ejb through http/servlets by way of passing request data and getting results (response) in xml format (very similar to SOAP).
With this in mind. I gave some thought on the design issues. Here are some questions:
1. What is a good way to design middleware services that can serve multiple hetrogeneous clients within the framework of ejb ?(no CORBA, no DCOM). Is ejb more a component less a service? if so, how to develop a service that wrap around ejb?
2. How does SOAP play a role here? Should we have another layer sitting on top of ejb to provide services or should we make ejb service-provider-enabled or perhaps a service-driven bean?
What is your thought?
essentially u have answered ur questtion. EJB is just a famework for developing components. for interoperability among heterogenous application SOAP/XML is great. but u wud need some kind of middleware services to achieve as u also
mentioned. what u doin right now is sending Http requests to ur servlets from VB and getting the results back. thats what SOAP is bout, runnin over the HTTP protocol. theres nothin wrong with what u doin right now.
bout VB directly accessing the EJB components, i think BEA/webphere do give u the option of writin VB clients for EJB components but again they use CORBA to achieve the same.
i m sure in future as more n more application servres incorporate SOAP/XML into their products u will see SOAP services. what they essentially do is translate the XML/SOAP request into an appropriate bean method call and return the desired result in XML format.
hope this helps