You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Rex Wang <rw...@gmail.com> on 2010/01/14 04:30:30 UTC

cxf bundles

Hi

I am looking into "GERONIMO-5016 Enable cxf in Geronimo 3.0". There is an
issue I think need discuss first before I drive further. Not like axis, the
cxf community did not release their jars as a bundle. Instead they made 2
separate distributions named "cxf-bundle" and "cxf-bundle-minimal" to
contain the different set of their components. For instance:
The cxf-bundle-minimal bundle contains 17 components:
cxf-common-utilities
cxf-common-schemas
cxf-api
cxf-rt-core
cxf-rt-transports-http
cxf-rt-transports-http-jetty
cxf-rt-transports-jms
cxf-rt-bindings-soap
cxf-rt-databinding-aegis
cxf-rt-databinding-jaxb
cxf-rt-frontend-jaxws
cxf-rt-frontend-simple
cxf-rt-databinding-xmlbeans
cxf-rt-ws-security
cxf-rt-ws-policy
cxf-rt-ws-addr
cxf-rt-ws-rm
but what we need are just following 13:
cxf-api
cxf-common-utilities
cxf-rt-core
cxf-rt-bindings-xml
cxf-rt-bindings-soap
cxf-rt-databinding-jaxb
cxf-rt-frontend-jaxws
cxf-rt-frontend-simple
cxf-rt-transports-http
cxf-rt-ws-addr
cxf-rt-ws-security
cxf-tools-common
cxf-tools-java2ws
You can see the "cxf-tools-common" & "cxf-tools-java2ws" are not included by
"cxf-bundle-minimal".
The "cxf-bundle" contains all the 13 components we need, but it will import
a great many other components, which will not only bring a lot of jobs to
exclude un-necessary jars when build our cxf plugins, but also increase the
size of new G3.0.

So I see 2 ways to pull cxf bundles in:
1. Use the cxf-bundle-minimal and make a new private bundle that contains
"cxf-tools-common" & "cxf-tools-java2ws" in Geronimo.
2. Make a private cxf bundle customized by ourselves which only contains the
above 13 packages

I suggest the approach #2. Any comments?

Thanks

-- 
Lei Wang (Rex)
rwonly AT apache.org

Re: cxf bundles

Posted by Ivan <xh...@gmail.com>.
If CXF would not publish bunlized file for each library, we might need to do
it by ourselves. Build all the CXF libraries in one file would make work
easy. but shall we make it more fine-grained?  for example, for runtime,
there is one, for tools, there is another one.

2010/1/14 Rex Wang <rw...@gmail.com>

> Hi
>
> I am looking into "GERONIMO-5016 Enable cxf in Geronimo 3.0". There is an
> issue I think need discuss first before I drive further. Not like axis, the
> cxf community did not release their jars as a bundle. Instead they made 2
> separate distributions named "cxf-bundle" and "cxf-bundle-minimal" to
> contain the different set of their components. For instance:
> The cxf-bundle-minimal bundle contains 17 components:
> cxf-common-utilities
> cxf-common-schemas
> cxf-api
> cxf-rt-core
> cxf-rt-transports-http
> cxf-rt-transports-http-jetty
> cxf-rt-transports-jms
> cxf-rt-bindings-soap
> cxf-rt-databinding-aegis
> cxf-rt-databinding-jaxb
> cxf-rt-frontend-jaxws
> cxf-rt-frontend-simple
> cxf-rt-databinding-xmlbeans
> cxf-rt-ws-security
> cxf-rt-ws-policy
> cxf-rt-ws-addr
> cxf-rt-ws-rm
> but what we need are just following 13:
> cxf-api
> cxf-common-utilities
> cxf-rt-core
> cxf-rt-bindings-xml
> cxf-rt-bindings-soap
> cxf-rt-databinding-jaxb
> cxf-rt-frontend-jaxws
> cxf-rt-frontend-simple
> cxf-rt-transports-http
> cxf-rt-ws-addr
> cxf-rt-ws-security
> cxf-tools-common
> cxf-tools-java2ws
> You can see the "cxf-tools-common" & "cxf-tools-java2ws" are not included
> by "cxf-bundle-minimal".
> The "cxf-bundle" contains all the 13 components we need, but it will import
> a great many other components, which will not only bring a lot of jobs to
> exclude un-necessary jars when build our cxf plugins, but also increase the
> size of new G3.0.
>
> So I see 2 ways to pull cxf bundles in:
> 1. Use the cxf-bundle-minimal and make a new private bundle that contains
> "cxf-tools-common" & "cxf-tools-java2ws" in Geronimo.
> 2. Make a private cxf bundle customized by ourselves which only contains
> the above 13 packages
>
> I suggest the approach #2. Any comments?
>
> Thanks
>
> --
> Lei Wang (Rex)
> rwonly AT apache.org
>



-- 
Ivan

Re: cxf bundles

Posted by Rex Wang <rw...@gmail.com>.
2010/1/14 David Jencks <da...@yahoo.com>

> 1. is there a need for the 2 tools jars to be in the same bundle as the
> minimal bundle?  Maybe we could use minimal + the other two jars
> individually bundleized.
>
That is the #1 I suggested above. For #2, because the minimal bundle still
contains some useless components such as  "cxf-common-schemas",
"cxf-rt-databinding-aegis".. to geronimo, I think we can made an individual
bundle only contains those we need.

> 2. do the other jars in the minimal bundle provide generally useful
> functionality?
>
Seems not.

> 3. how much is exposed unnecessarily if the individual jars were
> bundleized?
>
4. Have we approached cxf about creating the appropriate bundles there?  Its
> pretty unlikely we will be ready to release g 3 before they do another
> release.
>
I  have send a email to cxf mailling list. I suspect if they have the
motivation to bundlize each jar like axis2.

>
> thanks
> david jenkcs
>
> On Jan 13, 2010, at 7:30 PM, Rex Wang wrote:
>
> Hi
>
> I am looking into "GERONIMO-5016 Enable cxf in Geronimo 3.0". There is an
> issue I think need discuss first before I drive further. Not like axis, the
> cxf community did not release their jars as a bundle. Instead they made 2
> separate distributions named "cxf-bundle" and "cxf-bundle-minimal" to
> contain the different set of their components. For instance:
> The cxf-bundle-minimal bundle contains 17 components:
> cxf-common-utilities
> cxf-common-schemas
> cxf-api
> cxf-rt-core
> cxf-rt-transports-http
> cxf-rt-transports-http-jetty
> cxf-rt-transports-jms
> cxf-rt-bindings-soap
> cxf-rt-databinding-aegis
> cxf-rt-databinding-jaxb
> cxf-rt-frontend-jaxws
> cxf-rt-frontend-simple
> cxf-rt-databinding-xmlbeans
> cxf-rt-ws-security
> cxf-rt-ws-policy
> cxf-rt-ws-addr
> cxf-rt-ws-rm
> but what we need are just following 13:
> cxf-api
> cxf-common-utilities
> cxf-rt-core
> cxf-rt-bindings-xml
> cxf-rt-bindings-soap
> cxf-rt-databinding-jaxb
> cxf-rt-frontend-jaxws
> cxf-rt-frontend-simple
> cxf-rt-transports-http
> cxf-rt-ws-addr
> cxf-rt-ws-security
> cxf-tools-common
> cxf-tools-java2ws
> You can see the "cxf-tools-common" & "cxf-tools-java2ws" are not included
> by "cxf-bundle-minimal".
> The "cxf-bundle" contains all the 13 components we need, but it will import
> a great many other components, which will not only bring a lot of jobs to
> exclude un-necessary jars when build our cxf plugins, but also increase the
> size of new G3.0.
>
> So I see 2 ways to pull cxf bundles in:
> 1. Use the cxf-bundle-minimal and make a new private bundle that contains
> "cxf-tools-common" & "cxf-tools-java2ws" in Geronimo.
> 2. Make a private cxf bundle customized by ourselves which only contains
> the above 13 packages
>
> I suggest the approach #2. Any comments?
>
> Thanks
>
> --
> Lei Wang (Rex)
> rwonly AT apache.org
>
>
>


-- 
Lei Wang (Rex)
rwonly AT apache.org

Re: cxf bundles

Posted by Daniel Kulp <dk...@apache.org>.
On Thu January 14 2010 2:44:51 am David Jencks wrote:
> 1. is there a need for the 2 tools jars to be in the same bundle as
> the minimal bundle?  Maybe we could use minimal + the other two jars
> individually bundleized.

I'm trying to figure out why the two tool jars are even needed in the osgi 
runtime at all.   Those are for the command line tooling so I'm really at a 
loss as to why they would be needed in the container.


> 2. do the other jars in the minimal bundle provide generally useful
> functionality? 

IMO.  Yes, especially with CXF 2.3 which we hope to get out this quarter.  

1) cxf-rt-ws-policy  - you really don't want cxf-rt-ws-security without this 
one.   Doing ws-security with SecurityPolicy is much easier and the policy 
stuff requires this jar.

2) cxf-rt-transports-jms - with 2.3, this will bring full SOAP over JMS spec 
compliance.   

3) cxf-common-schemas - I personally thought this was required for anything in 
CXF to work.  The fact that you have something working without it actually 
surprises me.  :-)    It's certainly needed in some cases if schema validation 
is turned on.

4) http-jetty - you're probably correct in that this wouldn't be required for 
you.  It's small though.   I believe the osgi imports for stuff it needs are 
marked optional.   I think with 2.2.6, there is also http-osgi which uses the 
OSGi http stuff.

5) cxf-rt-databinding-xmlbeans/aegis - not required for JAX-WS compliance.  
Semi useful though.  With 2.3, changing from JAXB to one of the others is just 
a matter of adding a @DataBinding annotation.   No config or anything.   That 
said, I'm not sure why xmlbeans is in the minimal bundle.   Probably shouldn't 
be.   Aegis is needed for DOSGi which uses the minimal bundle.   2.3 also adds 
an SDO databinding, but again, shouldn't be in minimal.

6) ws-rm - I'm honestly not sure why this is in the minimal bundle at all.  It 
shouldn't be. 

In anycase, fragments would be good if someone knowledgeable in the area would 
like to help out with that.


> 3. how much is exposed unnecessarily if the individual jars were
> bundleized? 

Unfortunately, they cannot be until we completely refactor things which would 
break compatibility and not something we can really do until 3.0.     Bundle 
fragments are a possibility.

> 4. Have we approached cxf about creating the appropriate bundles
> there?  Its pretty unlikely we will be ready to release g 3 before
> they do another release.

We definitely could.   I really need to start a discussion about the minimal 
bundle though.  It's growing with each release and it's now not much different 
than the full bundle.    2.2.6 actually adds JAX-RS in there as well.   Not 
really "minimal" anymore.  :-(

Dan


> 
> thanks
> david jenkcs
> 
> On Jan 13, 2010, at 7:30 PM, Rex Wang wrote:
> > Hi
> >
> > I am looking into "GERONIMO-5016 Enable cxf in Geronimo 3.0". There
> > is an issue I think need discuss first before I drive further. Not
> > like axis, the cxf community did not release their jars as a bundle.
> > Instead they made 2 separate distributions named "cxf-bundle" and
> > "cxf-bundle-minimal" to contain the different set of their
> > components. For instance:
> > The cxf-bundle-minimal bundle contains 17 components:
> > cxf-common-utilities
> > cxf-common-schemas
> > cxf-api
> > cxf-rt-core
> > cxf-rt-transports-http
> > cxf-rt-transports-http-jetty
> > cxf-rt-transports-jms
> > cxf-rt-bindings-soap
> > cxf-rt-databinding-aegis
> > cxf-rt-databinding-jaxb
> > cxf-rt-frontend-jaxws
> > cxf-rt-frontend-simple
> > cxf-rt-databinding-xmlbeans
> > cxf-rt-ws-security
> > cxf-rt-ws-policy
> > cxf-rt-ws-addr
> > cxf-rt-ws-rm
> > but what we need are just following 13:
> > cxf-api
> > cxf-common-utilities
> > cxf-rt-core
> > cxf-rt-bindings-xml
> > cxf-rt-bindings-soap
> > cxf-rt-databinding-jaxb
> > cxf-rt-frontend-jaxws
> > cxf-rt-frontend-simple
> > cxf-rt-transports-http
> > cxf-rt-ws-addr
> > cxf-rt-ws-security
> > cxf-tools-common
> > cxf-tools-java2ws
> > You can see the "cxf-tools-common" & "cxf-tools-java2ws" are not
> > included by "cxf-bundle-minimal".
> > The "cxf-bundle" contains all the 13 components we need, but it will
> > import a great many other components, which will not only bring a
> > lot of jobs to exclude un-necessary jars when build our cxf plugins,
> > but also increase the size of new G3.0.
> >
> > So I see 2 ways to pull cxf bundles in:
> > 1. Use the cxf-bundle-minimal and make a new private bundle that
> > contains "cxf-tools-common" & "cxf-tools-java2ws" in Geronimo.
> > 2. Make a private cxf bundle customized by ourselves which only
> > contains the above 13 packages
> >
> > I suggest the approach #2. Any comments?
> >
> > Thanks
> 

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog

Re: cxf bundles

Posted by Daniel Kulp <dk...@apache.org>.
On Thu January 14 2010 3:25:23 am David Jencks wrote:
> On Jan 13, 2010, at 11:44 PM, David Jencks wrote:
> > 1. is there a need for the 2 tools jars to be in the same bundle as
> > the minimal bundle?  Maybe we could use minimal + the other two jars
> > individually bundleized.
> > 2. do the other jars in the minimal bundle provide generally useful
> > functionality?
> > 3. how much is exposed unnecessarily if the individual jars were
> > bundleized?
> 
> this would be "nothing" if we had a core bundle with everything else
> fragment bundles.

When we started doing OSGi related stuff in CXF, we DIDN'T go down the route 
of bundles fragments because, at the time, Felix didn't support them at all 
and the support in Equinox was only partially there.   Basically, not 
something we could rely on.   Since we already had the big bundle jar (users 
wanted that), we just added the OSGi stuff to there.    

I would LOVE some help doing the fragment thing if that is now working in the 
various OSGi containers.   

Dan



> 
> thanks
> david jencks
> 
> > 4. Have we approached cxf about creating the appropriate bundles
> > there?  Its pretty unlikely we will be ready to release g 3 before
> > they do another release.
> >
> > thanks
> > david jenkcs
> >
> > On Jan 13, 2010, at 7:30 PM, Rex Wang wrote:
> >> Hi
> >>
> >> I am looking into "GERONIMO-5016 Enable cxf in Geronimo 3.0". There
> >> is an issue I think need discuss first before I drive further. Not
> >> like axis, the cxf community did not release their jars as a
> >> bundle. Instead they made 2 separate distributions named "cxf-
> >> bundle" and "cxf-bundle-minimal" to contain the different set of
> >> their components. For instance:
> >> The cxf-bundle-minimal bundle contains 17 components:
> >> cxf-common-utilities
> >> cxf-common-schemas
> >> cxf-api
> >> cxf-rt-core
> >> cxf-rt-transports-http
> >> cxf-rt-transports-http-jetty
> >> cxf-rt-transports-jms
> >> cxf-rt-bindings-soap
> >> cxf-rt-databinding-aegis
> >> cxf-rt-databinding-jaxb
> >> cxf-rt-frontend-jaxws
> >> cxf-rt-frontend-simple
> >> cxf-rt-databinding-xmlbeans
> >> cxf-rt-ws-security
> >> cxf-rt-ws-policy
> >> cxf-rt-ws-addr
> >> cxf-rt-ws-rm
> >> but what we need are just following 13:
> >> cxf-api
> >> cxf-common-utilities
> >> cxf-rt-core
> >> cxf-rt-bindings-xml
> >> cxf-rt-bindings-soap
> >> cxf-rt-databinding-jaxb
> >> cxf-rt-frontend-jaxws
> >> cxf-rt-frontend-simple
> >> cxf-rt-transports-http
> >> cxf-rt-ws-addr
> >> cxf-rt-ws-security
> >> cxf-tools-common
> >> cxf-tools-java2ws
> >> You can see the "cxf-tools-common" & "cxf-tools-java2ws" are not
> >> included by "cxf-bundle-minimal".
> >> The "cxf-bundle" contains all the 13 components we need, but it
> >> will import a great many other components, which will not only
> >> bring a lot of jobs to exclude un-necessary jars when build our cxf
> >> plugins, but also increase the size of new G3.0.
> >>
> >> So I see 2 ways to pull cxf bundles in:
> >> 1. Use the cxf-bundle-minimal and make a new private bundle that
> >> contains "cxf-tools-common" & "cxf-tools-java2ws" in Geronimo.
> >> 2. Make a private cxf bundle customized by ourselves which only
> >> contains the above 13 packages
> >>
> >> I suggest the approach #2. Any comments?
> >>
> >> Thanks
> 

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog

Re: cxf bundles

Posted by David Jencks <da...@yahoo.com>.
On Jan 13, 2010, at 11:44 PM, David Jencks wrote:

> 1. is there a need for the 2 tools jars to be in the same bundle as  
> the minimal bundle?  Maybe we could use minimal + the other two jars  
> individually bundleized.
> 2. do the other jars in the minimal bundle provide generally useful  
> functionality?
> 3. how much is exposed unnecessarily if the individual jars were  
> bundleized?

this would be "nothing" if we had a core bundle with everything else  
fragment bundles.

thanks
david jencks
> 4. Have we approached cxf about creating the appropriate bundles  
> there?  Its pretty unlikely we will be ready to release g 3 before  
> they do another release.
>
> thanks
> david jenkcs
> On Jan 13, 2010, at 7:30 PM, Rex Wang wrote:
>
>> Hi
>>
>> I am looking into "GERONIMO-5016 Enable cxf in Geronimo 3.0". There  
>> is an issue I think need discuss first before I drive further. Not  
>> like axis, the cxf community did not release their jars as a  
>> bundle. Instead they made 2 separate distributions named "cxf- 
>> bundle" and "cxf-bundle-minimal" to contain the different set of  
>> their components. For instance:
>> The cxf-bundle-minimal bundle contains 17 components:
>> cxf-common-utilities
>> cxf-common-schemas
>> cxf-api
>> cxf-rt-core
>> cxf-rt-transports-http
>> cxf-rt-transports-http-jetty
>> cxf-rt-transports-jms
>> cxf-rt-bindings-soap
>> cxf-rt-databinding-aegis
>> cxf-rt-databinding-jaxb
>> cxf-rt-frontend-jaxws
>> cxf-rt-frontend-simple
>> cxf-rt-databinding-xmlbeans
>> cxf-rt-ws-security
>> cxf-rt-ws-policy
>> cxf-rt-ws-addr
>> cxf-rt-ws-rm
>> but what we need are just following 13:
>> cxf-api
>> cxf-common-utilities
>> cxf-rt-core
>> cxf-rt-bindings-xml
>> cxf-rt-bindings-soap
>> cxf-rt-databinding-jaxb
>> cxf-rt-frontend-jaxws
>> cxf-rt-frontend-simple
>> cxf-rt-transports-http
>> cxf-rt-ws-addr
>> cxf-rt-ws-security
>> cxf-tools-common
>> cxf-tools-java2ws
>> You can see the "cxf-tools-common" & "cxf-tools-java2ws" are not  
>> included by "cxf-bundle-minimal".
>> The "cxf-bundle" contains all the 13 components we need, but it  
>> will import a great many other components, which will not only  
>> bring a lot of jobs to exclude un-necessary jars when build our cxf  
>> plugins, but also increase the size of new G3.0.
>>
>> So I see 2 ways to pull cxf bundles in:
>> 1. Use the cxf-bundle-minimal and make a new private bundle that  
>> contains "cxf-tools-common" & "cxf-tools-java2ws" in Geronimo.
>> 2. Make a private cxf bundle customized by ourselves which only  
>> contains the above 13 packages
>>
>> I suggest the approach #2. Any comments?
>>
>> Thanks
>>
>> -- 
>> Lei Wang (Rex)
>> rwonly AT apache.org
>


Re: cxf bundles

Posted by David Jencks <da...@yahoo.com>.
1. is there a need for the 2 tools jars to be in the same bundle as  
the minimal bundle?  Maybe we could use minimal + the other two jars  
individually bundleized.
2. do the other jars in the minimal bundle provide generally useful  
functionality?
3. how much is exposed unnecessarily if the individual jars were  
bundleized?
4. Have we approached cxf about creating the appropriate bundles  
there?  Its pretty unlikely we will be ready to release g 3 before  
they do another release.

thanks
david jenkcs
On Jan 13, 2010, at 7:30 PM, Rex Wang wrote:

> Hi
>
> I am looking into "GERONIMO-5016 Enable cxf in Geronimo 3.0". There  
> is an issue I think need discuss first before I drive further. Not  
> like axis, the cxf community did not release their jars as a bundle.  
> Instead they made 2 separate distributions named "cxf-bundle" and  
> "cxf-bundle-minimal" to contain the different set of their  
> components. For instance:
> The cxf-bundle-minimal bundle contains 17 components:
> cxf-common-utilities
> cxf-common-schemas
> cxf-api
> cxf-rt-core
> cxf-rt-transports-http
> cxf-rt-transports-http-jetty
> cxf-rt-transports-jms
> cxf-rt-bindings-soap
> cxf-rt-databinding-aegis
> cxf-rt-databinding-jaxb
> cxf-rt-frontend-jaxws
> cxf-rt-frontend-simple
> cxf-rt-databinding-xmlbeans
> cxf-rt-ws-security
> cxf-rt-ws-policy
> cxf-rt-ws-addr
> cxf-rt-ws-rm
> but what we need are just following 13:
> cxf-api
> cxf-common-utilities
> cxf-rt-core
> cxf-rt-bindings-xml
> cxf-rt-bindings-soap
> cxf-rt-databinding-jaxb
> cxf-rt-frontend-jaxws
> cxf-rt-frontend-simple
> cxf-rt-transports-http
> cxf-rt-ws-addr
> cxf-rt-ws-security
> cxf-tools-common
> cxf-tools-java2ws
> You can see the "cxf-tools-common" & "cxf-tools-java2ws" are not  
> included by "cxf-bundle-minimal".
> The "cxf-bundle" contains all the 13 components we need, but it will  
> import a great many other components, which will not only bring a  
> lot of jobs to exclude un-necessary jars when build our cxf plugins,  
> but also increase the size of new G3.0.
>
> So I see 2 ways to pull cxf bundles in:
> 1. Use the cxf-bundle-minimal and make a new private bundle that  
> contains "cxf-tools-common" & "cxf-tools-java2ws" in Geronimo.
> 2. Make a private cxf bundle customized by ourselves which only  
> contains the above 13 packages
>
> I suggest the approach #2. Any comments?
>
> Thanks
>
> -- 
> Lei Wang (Rex)
> rwonly AT apache.org