You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by Dan Corneanu <cd...@savatech.ro> on 2012/09/28 10:00:28 UTC

in memory server with dynamic WS deployment

Hi,
I would like to use the in memory server implementation for a custom
project. One of the main requirements is that it has to provide support
for dynamic/runtime deployment of new web services and register
endpoints for them.

I have looked at the code and saw it uses jax-ws RI as the WS runtime.
Unfortunately this implementation has a very static deployment
mechanisms using sun-jaxws.xml

How complicated would it be to switch the in memory server
implementation from using jax-ws RI to using Apache Axis2 or Apache CXF
(which are somewhat more open to dynamic deployment of new web services)?

Any suggestion or remark on this matter is highly appreciated.

Thank you in advance,
Dan.

P.S.
As far as I can tell, both Axis2 and CXF do implement Jax-WS.

Re: in memory server with dynamic WS deployment

Posted by Mark Streit <mc...@gmail.com>.
Not sure what your specific use case is (so pardon any assumptions) ...but
just a couple of thoughts:

1) To Florian's point, I would not think one would want to "tamper" with
the Chemistry In-memory WAR ... configuration files, endpoint descriptors,
etc since it is all self-contained (hence the JAX-WS RI JAR files, etc).
 You drop it in /webapps under Tomcat and it just "goes".

2) Since you have your *own *services that you want to develop anyway, (and
you mentioned this is POC work)...are you not going to want those custom
services in their own deployable WAR ... specifically for your services
when you eventually cut over to a more robust CMIS server implementation
(beyond the in-memory one being used for testing and POC work).  I realize
those service endpoints will be running on a different context-root (but
can be in the same container).

3) If they are in their own deployment unit (WAR), and you want to use
Apache CXF (which, is far better than Axis2 IMO, with a very active/helpful
development community - similar to this one for Chemistry), you could
include the required set of CXF component JAR files in the /WEB-INF/lib of
the WAR (similar to how Chemistry carries the JAX-WS RI).  You could take
advantage of the all the dynamic stuff that CXF provides since you're
isolated in your own WAR and not infringing on Chemistry's implementation.
  I know we have done similar things where we wanted to use a specific
JAX-WS implementation (CXF or JAX-WS RI/Metro) and were running on a WAS 7
app server.  You have to do some classloader setting gymnastics especially
for WAS 7 since they unfortunately bury Axis2 into their own runtime stack
and the WAS classloader is a complex "thing" ( I could use a more colorful
word for it ).  If you're running on a Tomcat instance or lighter-weight
container - it's immensely easier since you have way more control.

FWIW - we used the Chemistry "fileshare" implementation for some POC work -
worked great OOTB and then switched the POC as it expanded to use things
things like Alfresco 4 (community edition) and Sharepoint (and so far AF4
has shown to be more CMIS-compliant especially with the CMIS SQL).


As I noted - just a few thoughts.


Mark


On Fri, Oct 5, 2012 at 4:37 AM, Dan Corneanu <cd...@savatech.ro> wrote:

> On 9/28/2012 11:37 AM, Florian Müller wrote:
> > What kind of dynamic do you need? It implements an industry standard
> > and everything is fixed by the standard. There is nothing you can add
> > without violating the standard.
> I want to deploy some custom/higher level SOAP Services alongside the
> CMIS services. The CMIS API/Services will stay the same. Is this against
> the standard? I do not want to extend/modify the CMIS interface. The
> extra services will be in a different name space etc.
>
> Best regards,
> Dan.
>



*
*

Re: in memory server with dynamic WS deployment

Posted by Dan Corneanu <cd...@savatech.ro>.
On 9/28/2012 11:37 AM, Florian Müller wrote:
> What kind of dynamic do you need? It implements an industry standard
> and everything is fixed by the standard. There is nothing you can add
> without violating the standard.
I want to deploy some custom/higher level SOAP Services alongside the
CMIS services. The CMIS API/Services will stay the same. Is this against
the standard? I do not want to extend/modify the CMIS interface. The
extra services will be in a different name space etc.

Best regards,
Dan.

Re: in memory server with dynamic WS deployment

Posted by Florian Müller <fm...@apache.org>.
 Hi Dan,

 Regarding JAX-WS, check these mail threads:
 - 
 http://mail-archives.apache.org/mod_mbox/chemistry-dev/201206.mbox/%3C4FDF8B71.9020108%40apache.org%3E
 - 
 http://mail-archives.apache.org/mod_mbox/chemistry-dev/201208.mbox/%3C503E653C.9050903%40apache.org%3E

 In a nutshell, a library that supports JAX-WS is not enough. OpenCMIS 
 needs additional features. Changing the Web Service implementation is a 
 major effort.

 What kind of dynamic do you need? It implements an industry standard 
 and everything is fixed by the standard. There is nothing you can add 
 without violating the standard.


 Florian




> Hi Dan,
>
> Are you aware that the InMemory server is only useful for developing 
> and
> education purposes? As the names says all data are kept only in RAM 
> and
> are lost after shutting down the server. It is not intended for 
> productive
> useŠ.
>
> Jens
>
> On 28.09.12 10:00, "Dan Corneanu" <cd...@savatech.ro> wrote:
>
>>Hi,
>>I would like to use the in memory server implementation for a custom
>>project. One of the main requirements is that it has to provide 
>> support
>>for dynamic/runtime deployment of new web services and register
>>endpoints for them.
>>
>>I have looked at the code and saw it uses jax-ws RI as the WS 
>> runtime.
>>Unfortunately this implementation has a very static deployment
>>mechanisms using sun-jaxws.xml
>>
>>How complicated would it be to switch the in memory server
>>implementation from using jax-ws RI to using Apache Axis2 or Apache 
>> CXF
>>(which are somewhat more open to dynamic deployment of new web 
>> services)?
>>
>>Any suggestion or remark on this matter is highly appreciated.
>>
>>Thank you in advance,
>>Dan.
>>
>>P.S.
>>As far as I can tell, both Axis2 and CXF do implement Jax-WS.


Re: in memory server with dynamic WS deployment

Posted by Dan Corneanu <cd...@savatech.ro>.
On 9/28/2012 11:05 AM, Huebel, Jens wrote:
> Hi Dan,
>
> Are you aware that the InMemory server is only useful for developing and
> education purposes? As the names says all data are kept only in RAM and
> are lost after shutting down the server. It is not intended for productive
> useŠ.
>
> Jens
>
> On 28.09.12 10:00, "Dan Corneanu" <cd...@savatech.ro> wrote:
Yes, sure I am.
First it will be just a proof of concept then if it goes well, we will
switch to another repository connector.


Re: in memory server with dynamic WS deployment

Posted by "Huebel, Jens" <j....@sap.com>.
Hi Dan,

Are you aware that the InMemory server is only useful for developing and
education purposes? As the names says all data are kept only in RAM and
are lost after shutting down the server. It is not intended for productive
useŠ.

Jens

On 28.09.12 10:00, "Dan Corneanu" <cd...@savatech.ro> wrote:

>Hi,
>I would like to use the in memory server implementation for a custom
>project. One of the main requirements is that it has to provide support
>for dynamic/runtime deployment of new web services and register
>endpoints for them.
>
>I have looked at the code and saw it uses jax-ws RI as the WS runtime.
>Unfortunately this implementation has a very static deployment
>mechanisms using sun-jaxws.xml
>
>How complicated would it be to switch the in memory server
>implementation from using jax-ws RI to using Apache Axis2 or Apache CXF
>(which are somewhat more open to dynamic deployment of new web services)?
>
>Any suggestion or remark on this matter is highly appreciated.
>
>Thank you in advance,
>Dan.
>
>P.S.
>As far as I can tell, both Axis2 and CXF do implement Jax-WS.