You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Stefan Schmidt <sc...@gmail.com> on 2005/06/29 13:33:50 UTC

Geronimo-Beehive integration/support plans

Hi,

the last couple of weeks I spend quite a bit of time struggeling with 
writing and testing JAX-RPC examples for Geronimo. The major reasons for 
my struggling where:

- JAX-RPC related complexity (heaps of deployment descrptors for even 
the easiest Web services)
- insufficient (open source) tool support for 'autogenerating' 
deployment descriptors, configs, mappings etc.
- a couple of (hopefully minor :-)) bugs within Geronimo (see 
webservices JIRA)

Today I came across the Apache Beehive project which implements JSR-181 
WS Metadata support. I am aware that Beehive requires Tomcat and Java 5.

Also I saw this statement by Geir:
“We are excited that Geronimo users now have easy access to Beehive's 
technology for building SOAs,” said *Geir Magnusson Jr*., Apache 
Geronimo project chair. “As evidenced by our acceptance of Apache 
Beehive into the incubator, we see it as a significant step forward in 
helping to make Java enterprise application development easier, giving 
developers state-of-the-art innovations for any Java platform.”

So I was wondering what the current status of the - obviously intended - 
integration/support of Beehive in Geronimo is? Is it worth for me to 
research and test a little with Beehive assuming that we can see Beehive 
support withing Geronimo sometime in the near future?

Best regards,

Stefan Schmidt


Re: Geronimo-Beehive integration/support plans

Posted by Stefan Schmidt <sc...@gmail.com>.
dims,

Ok, will try to make this clearer :-). The JSR181 spec states in chapter 
7 'Mapping JSR-181 to the J2EE 1.4 Runtime
Environment' exactly the scenarios that I was having in mind:

Example: I have an existing Session EJB and want to expose two of its 
public methods as a Web service. Currently I have to write/generate the 
service endpoint interface, the WSDL file, the webservices.xml 
deployment descriptor, the jax-rpc-mapping.xml deployment descriptor and 
entries in the ejb-jar.xml manually which is quite error-prone and 
time-consuming.

Since the JSR181 was proposed to ease this complex process by 
auto-generating the above artefacts, I was wondering if Beehive 
currently supports this feature. Citation: "The JSR-181 processor 
examines the annotations in each Web Service file
and uses this information to generate a JSR-109 deployment unit (EAR or 
WAR file)."

Here is an code example I would think of (a simple Session EJB):
/
@WebService(targetNamespace="http://www.openuri.org/MyNamespace" 
name="StaffDirectory")

public class StaffDirectoryEJBBean implements SessionBean {
    private SessionContext _context;

    public void ejbCreate() {}
    public void ejbActivate() {}
    public void ejbPassivate() {}

    public void ejbRemove() {}

    public void setSessionContext(SessionContext ctx) {
        _context = ctx;
    }

    @WebMethod(operationName="GetStaffByDepartment")
    public StaffBean[] getStaffByDepartment(String department) {  
        .... //StaffBean is a simple JavaBean (data container)
    }

    @WebMethod(operationName="SetStaffDetails")
    public void setStaffDetails(StaffBean person) {
        ....
    }
}/

Is it possible by simply adding those @WebService/@WebMethod annotations 
to the EJB to generate an EAR archive containing all interfaces, 
deployment descriptors and mappings required by J2EE 1.4?

As far as I am aware Geronimo currently integrates Axis as a module to 
provide J2EE 1.4-compliant Web services support. Using Axis as a 
standalone application within Geronimo (I believe that's what happens 
with Tomcat/Axis at the moment) is not what I had in mind.

I hope this is clearer :-).

Thanks,

Stefan




Davanum Srinivas wrote:

>Stefan,
>
>Beehive contains an implementation of JSR181 based on Axis. It does
>not do any of the J2EE stuff like JSR 109. Am still confused on what
>exactly you need. WSS4J does implement WS-Security for use with Axis.
>Binary attachments are already in Axis. We have some code in EWS
>project that can generate axis wsdd given a jaxrpc mapping file (and
>maybe a bunch of ther related things as well). Please explain in
>simple terms what you are looking for. Example: we have POJO's that
>needs to be exposed as web services, we may need to deploy the code
>independent of the soap stack used internally in any J2EE container
>(?)
>
>thanks,
>dims
>
>On 6/29/05, Stefan Schmidt <sc...@gmail.com> wrote:
>  
>
>>Thanks Eddie and Jeremy for the information. So I gather that Beehive is
>>currently not supported due to the VM restraints. I hope that this is
>>going to change soon :-).
>>
>>Eddie: I think that since Geronimo is looking at full J2EE 1.4
>>compliance JAX-RPC is definetely the way to go here, but I am not a
>>specialist in Geronimo matters. Is Beehive currently able to generate
>>all JAX-RPC required artefacts such as:
>>
>>    * a WSDL document
>>    * a JAX-RPC mapping file
>>    * a Web service descriptor file (webservices.xml)
>>
>>Also, does Beehive currently support both, EJB endpoints and JAX-RPC
>>service endpoints (witch reside in front of a servlet or POJO)? What
>>about Web services that make usage of more complex structures such as
>>JavaBeans or Arrays of JavaBeans, binary attachments and WS-Security -
>>does Beehive support these (more advanced) features as well? I am
>>especially looking for the auto-generation of JAX-RPC mapping files in
>>this case because they tend to become quite complex when using those
>>features.
>>
>>Stefan
>>
>>Jeremy Boynes wrote:
>>
>>    
>>
>>>Eddie ONeil wrote:
>>>
>>>      
>>>
>>>>  From the Geronimo side, how well is the Java 5 VM supported?
>>>>
>>>>        
>>>>
>>>Right now it isn't due to issues with CORBA. We hope to fix this soon.
>>>--
>>>Jeremy
>>>
>>>      
>>>
>>    
>>
>
>
>  
>


Re: Geronimo-Beehive integration/support plans

Posted by Davanum Srinivas <da...@gmail.com>.
Stefan,

Beehive contains an implementation of JSR181 based on Axis. It does
not do any of the J2EE stuff like JSR 109. Am still confused on what
exactly you need. WSS4J does implement WS-Security for use with Axis.
Binary attachments are already in Axis. We have some code in EWS
project that can generate axis wsdd given a jaxrpc mapping file (and
maybe a bunch of ther related things as well). Please explain in
simple terms what you are looking for. Example: we have POJO's that
needs to be exposed as web services, we may need to deploy the code
independent of the soap stack used internally in any J2EE container
(?)

thanks,
dims

On 6/29/05, Stefan Schmidt <sc...@gmail.com> wrote:
> Thanks Eddie and Jeremy for the information. So I gather that Beehive is
> currently not supported due to the VM restraints. I hope that this is
> going to change soon :-).
> 
> Eddie: I think that since Geronimo is looking at full J2EE 1.4
> compliance JAX-RPC is definetely the way to go here, but I am not a
> specialist in Geronimo matters. Is Beehive currently able to generate
> all JAX-RPC required artefacts such as:
> 
>     * a WSDL document
>     * a JAX-RPC mapping file
>     * a Web service descriptor file (webservices.xml)
> 
> Also, does Beehive currently support both, EJB endpoints and JAX-RPC
> service endpoints (witch reside in front of a servlet or POJO)? What
> about Web services that make usage of more complex structures such as
> JavaBeans or Arrays of JavaBeans, binary attachments and WS-Security -
> does Beehive support these (more advanced) features as well? I am
> especially looking for the auto-generation of JAX-RPC mapping files in
> this case because they tend to become quite complex when using those
> features.
> 
> Stefan
> 
> Jeremy Boynes wrote:
> 
> > Eddie ONeil wrote:
> >
> >>   From the Geronimo side, how well is the Java 5 VM supported?
> >>
> >
> > Right now it isn't due to issues with CORBA. We hope to fix this soon.
> > --
> > Jeremy
> >
> 
> 


-- 
Davanum Srinivas -http://blogs.cocoondev.org/dims/

Re: Geronimo-Beehive integration/support plans

Posted by Stefan Schmidt <sc...@gmail.com>.
Thanks Eddie and Jeremy for the information. So I gather that Beehive is 
currently not supported due to the VM restraints. I hope that this is 
going to change soon :-).

Eddie: I think that since Geronimo is looking at full J2EE 1.4 
compliance JAX-RPC is definetely the way to go here, but I am not a 
specialist in Geronimo matters. Is Beehive currently able to generate 
all JAX-RPC required artefacts such as:

    * a WSDL document
    * a JAX-RPC mapping file
    * a Web service descriptor file (webservices.xml)

Also, does Beehive currently support both, EJB endpoints and JAX-RPC 
service endpoints (witch reside in front of a servlet or POJO)? What 
about Web services that make usage of more complex structures such as 
JavaBeans or Arrays of JavaBeans, binary attachments and WS-Security - 
does Beehive support these (more advanced) features as well? I am 
especially looking for the auto-generation of JAX-RPC mapping files in 
this case because they tend to become quite complex when using those 
features.

Stefan

Jeremy Boynes wrote:

> Eddie ONeil wrote:
>
>>   From the Geronimo side, how well is the Java 5 VM supported?
>>
>
> Right now it isn't due to issues with CORBA. We hope to fix this soon.
> -- 
> Jeremy
>


Re: Geronimo-Beehive integration/support plans

Posted by Jeremy Boynes <jb...@apache.org>.
Eddie ONeil wrote:
>   From the Geronimo side, how well is the Java 5 VM supported?
> 

Right now it isn't due to issues with CORBA. We hope to fix this soon.
--
Jeremy

Re: Geronimo-Beehive integration/support plans

Posted by Eddie ONeil <ek...@gmail.com>.
Stefan--

  I can provide some perspective from the Beehive side...

  Beehive is currently working on JSR 181 support in a sub-project
called WSM (web service metadata) that targets the Axis stack. 
Annotated web services should run atop Geronimo + Axis (on a Java 5
VM) without any trouble, though I've not tried this yet and I'm sure
we'll run into an issue or two which we'll need to address.  :)

  Authoring the JSR-181 compliant POJO would definitely be easier than
dealing with the JAX-RPC complexity.  Today, Beehive creates an Axis
SOAPService at runtime, but we should be able to generate the JAX-RPC
artifacts at build time from the POJO as well.  We're currently
restructuring WSM a bit to facilitate this.

  One point on the Beehive runtime requirements -- we just need a Java
5 VM.  And:

- Ant 1.6+ to use our build tools
- Servlet 2.4 / JSP 2.0 for NetUI

  Longer term, working with Geronimo is definitely something Beehive
is interested in, so what types of integrations would people find
useful?  For example, we'd like to enable Controls inside of OpenEJB.

  From the Geronimo side, how well is the Java 5 VM supported?

Eddie




On 6/29/05, Stefan Schmidt <sc...@gmail.com> wrote:
> Hi,
> 
> the last couple of weeks I spend quite a bit of time struggeling with
> writing and testing JAX-RPC examples for Geronimo. The major reasons for
> my struggling where:
> 
> - JAX-RPC related complexity (heaps of deployment descrptors for even
> the easiest Web services)
> - insufficient (open source) tool support for 'autogenerating'
> deployment descriptors, configs, mappings etc.
> - a couple of (hopefully minor :-)) bugs within Geronimo (see
> webservices JIRA)
> 
> Today I came across the Apache Beehive project which implements JSR-181
> WS Metadata support. I am aware that Beehive requires Tomcat and Java 5.
> 
> Also I saw this statement by Geir:
> "We are excited that Geronimo users now have easy access to Beehive's
> technology for building SOAs," said *Geir Magnusson Jr*., Apache
> Geronimo project chair. "As evidenced by our acceptance of Apache
> Beehive into the incubator, we see it as a significant step forward in
> helping to make Java enterprise application development easier, giving
> developers state-of-the-art innovations for any Java platform."
> 
> So I was wondering what the current status of the - obviously intended -
> integration/support of Beehive in Geronimo is? Is it worth for me to
> research and test a little with Beehive assuming that we can see Beehive
> support withing Geronimo sometime in the near future?
> 
> Best regards,
> 
> Stefan Schmidt
> 
>