[jbossws-dev] [Design of JBoss Web Services] - Re: Simplify deploy/undeploy cycles for different stacks

adrian@jboss.org do-not-reply at jboss.com
Wed Feb 20 07:50:11 EST 2008


"thomas.diesler at jboss.com" wrote : 
  | AFAICS, your comments relates to AS50 only and how the AS decides to provide the WS funtionality. Much of it I understand and would agree.
  | 

The same problem exists in all versions. I was using AS5.0 as an example.

As for the correct way to do it, look at how the MC/deployers are integrated.

The jars are provided with suitable integration hooks 
- a SPI (system programmer interface) e.g. MainDeployer, classloading, parsing, etc.

These are well defined and "stable" interfaces, implementations and helpers
(I quote stable because we still haven't done our CR1 release yet :-)

The AS project (system and system-jmx) then uses (and extends them
in some places - e.g. legacy jmx integration) them.

The deployments (the configuration files) are created by the appserver project
where it can modify the behaviour to suit its own requirements.

In principle your project should not have to change. Instead what changes
is the way it is integrated into the different releases of the appserver
(using the mechanism defined by that version/release).

For your "community updates" this should just be case of replacing the jars
if you have paid any attention to the backwards (and forwards) compatibility
of your spi.

ANOTHER ASIDE:

In principle, going forward, the jboss-integration project should define
a webservices spi (interfaces and helpers) which you (or anybody
else) can implement to provide webservices for any jboss project that
integrates using our standard spi (e.g. AS, embedded, esb, etc.)

It would then be a case of writing a JBoss4 subdeployer or a JBoss5 deployer
on top of that spi. (I doubt it will ever get done for JBoss4 ;-)

This would then embody the three different roles 
(currently you do all three yourself):

* Policy - what needs doing (the user - e.g. JBossAS)
* Wiring - How to go about doing it (the api/spi - e.g. jboss-integration)
* Implementation - Do it (you - JBossWS)

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4130728#4130728

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4130728



More information about the jbossws-dev mailing list