On Oct 28, 2004, at 11:52 PM, David Jencks wrote:

My understanding of web services is that messages can be sent to either servlets or ejbs. (Apparently the servlets aren't "Servlet" implementations, but are usually wrapped in one). We need a gbean to be deployed for each such servlet and each such ejb. At the moment I think the best approach is to have a WSServletBuilder and a WSEJBBuilder that will actually build the gbeans. These, especially the WSEJBBuilder, would be similar to the openejb SessionConfigBuilder.

Not just similar to but the same as--one session bean can have all of the following interfaces:
- Local
- Remote
- ServiceEndpoint


All of which can have transaction attributes associated with them. The ServiceEndpoint interface can even be invoked directly by EJBs, Servlets, or App Clients through declaring it as a service-ref and looking a it up through JNDI. Any invocations on the ServiceEndpoint interface go through JAX-RPC.

Aside from JAX-RPC/ServiceEndpoint invocations, people can invoke the session bean through SOAP/WSDL over HTTP or HTTPS. In this case there is a mapping from WSDL to the ServiceEndpoint interface.

All in all, this is not very different from the CORBA integration which also supports Java and non-Java clients through IIOP. In this case we use SOAP instead of IIOP, ServiceEndpoint/JAX-RPC instead of Remote/RMI-IIOP, WSDL-to-Java mapping instead of IDL-to-Java mapping, and Axis instead of an ORB.

-David



Reply via email to