You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Dan Diephouse <da...@envoisolutions.com> on 2006/09/11 16:27:57 UTC
Guidelines for Separation of JAX-WS/Implementing classes
Hi All,
As there has been some confusion in the past and some confusion
currently about the proper separation between the core, service model,
and jax-ws, I thought I'd try to set forth a few guidelines. These
should be relatively uncontentious, but feel free to +1/-1 and put me in
my place if need be:
1. Do not reference the service class, service methods, or method
parameter types outside of the Databinding & Invoker classes.
2. Do not use any JAX-WS classes outside of the jaxws module.
3. One exception to #2 is tests. Currently depend on testutils in the
soap/core/etc modules, which depends on jaxws. So sometimes we have to
depend on on jaxws if we're using generated artifacts. Try to minimize
these references though.
4. Do not reference the implementing class outside of a particular
invoker implementation.
These guidelines help us keep good separation between our modules,
making it easy for non-jaxws frontends or different types of
databindings to be added.
Cheers,
- Dan
--
Dan Diephouse
Envoi Solutions
http://envoisolutions.com
http://netzooid.com/blog
Re: Guidelines for Separation of JAX-WS/Implementing classes
Posted by Daniel Kulp <da...@iona.com>.
On Monday September 11 2006 10:27 am, Dan Diephouse wrote:
> Hi All,
>
> As there has been some confusion in the past and some confusion
> currently about the proper separation between the core, service model,
> and jax-ws, I thought I'd try to set forth a few guidelines. These
> should be relatively uncontentious, but feel free to +1/-1 and put me in
> my place if need be:
>
> 1. Do not reference the service class, service methods, or method
> parameter types outside of the Databinding & Invoker classes.
> 2. Do not use any JAX-WS classes outside of the jaxws module.
> 3. One exception to #2 is tests. Currently depend on testutils in the
> soap/core/etc modules, which depends on jaxws. So sometimes we have to
> depend on on jaxws if we're using generated artifacts. Try to minimize
> these references though.
> 4. Do not reference the implementing class outside of a particular
> invoker implementation.
5. Related to 2 - don't throw WebServiceException. That's a JAX-WS thing.
We should have proper subclasses of the Exception/UncheckedException from the
common module that are thrown in all cases. The JAX-WS frontend should
catch those and map them to the proper WebServiceException.
>
> These guidelines help us keep good separation between our modules,
> making it easy for non-jaxws frontends or different types of
> databindings to be added.
>
> Cheers,
> - Dan
--
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727 C: 508-380-7194 F:781-902-8001
daniel.kulp@iona.com