geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Srinath Perera <hemap...@gmail.com>
Subject Re: Axis module review
Date Fri, 29 Oct 2004 09:17:14 GMT
Thanks everybody for the help :) :)... I think I got the big picure
and hopfully should be able to get the Web Services working(which do
not have EJB) behind them with out kernel. (There is a classloader
issue when the EJB involved. I will try to get the code up removing
all referances to kernel for POJO based WS.)

I think over all the stuff over the weekend get back. My view about
the Web Service is follows. There are two types of web services
A) EJB based
B) POJO based (servlet based one .. actually both has a servlet at the
front so I dont see any sense in the name "Servlet based" : ) )

Web Service(HTTP one we concern about) is a Servlet that accepts SOAP
over HTTP. Axis basically
1) get the request XML (SOAP) and converts them to the java objects
2) call the java class (POJO) or EJB that provide the implementation
3) get what ever the result and send them back as SOAP

Only deferance between the EJB based and  POJO based one is 
1) Axis call a EJB instead of POJO at step #2
2) We have to make sure EJB is up when the webservice is called

I think we should be able to do it with one WSBuilder. To be the steps
is like follows
1. Geronimo Deployer find that the WAR/EAR is a ws module by looking
at exsistance of the webservices.xml file in the module
2. The WSBuilder will create the confiuration and start it
     a. there should be a one GBean for each WS (we have to sort out
how to do this)
     b. there should be a GBean for each EJB that referanced 
3. when the confiuration started web services are avalible

AxisGBean will keep track of the things and manage Axis

Thanks 
Srinath


On Fri, 29 Oct 2004 01:24:19 -0700, David Blevins <dblevins@gluecode.com> wrote:
> 
> 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
> 
>

Mime
View raw message