[Design of JBoss Web Services] - Re: JBossWS Deployers Integration
by richard.opalka@jboss.com
First our current deployers architecture:
We have three deployers in place, namely:
* WebServiceDeployerEJB
* WebServiceDeployerPreJSE
* WebServiceDeployerPostJSE
These are ordered in the following way:
ordering1) EJBDeployer < WebServiceDeployerEJB < WarDeployer
ordering2) WebServiceDeployerPreJSE < WarDeployer < WebServiceDeployerPostJSE
ordering1) is followed when EJB as WS is deployed (only one WS deployer does all the WS magic)
ordering2) is followed in case POJO as WS is …
[View More]deployed (two WS deployers do all the WS magic)
Each WS deployer has two deployer hooks registered (JAX-RPC and JAX-WS):
+--- WebServiceDeployerEJB ( holds WSDeploymentAspectManagerEJB )
| |
| +--- JAXRPCDeployerHookEJB21
| |
| +--- JAXWSDeployerHookEJB3
|
+--- WebServiceDeployerPreJSE ( holds WSDeploymentAspectManagerPreJSE )
| |
| +--- JAXRPCDeployerHookPreJSE
| |
| +--- JAXWSDeployerHookPreJSE
|
+--- WebServiceDeployerPostJSE ( holds WSDeploymentAspectManagerPostJSE )
|
+--- JAXRPCDeployerHookPostJSE
|
+--- JAXWSDeployerHookPostJSE
Deployer hook represents JBossAS 4 style deployer that does almost all the WS processing stuff.
It usually does the following things:
* determines the WS deployment type (JAX-WS or JAX-RPC)
* constructs initial JBossWS Metadata model that is later used by JBossWS deployment aspects
* calls WS deployment aspect manager to build/process WS Metadata model using registered WS deployment aspects
The following deployment aspects are registered with particular deployment aspect managers:
(AS guys can imagine them like AS deployers, they are following the same chain-of-responsibility pattern
and are also kind of ordered set of processors like AS deployers are).
WSDeploymentAspectManagerEJB
|
+--- AS
| |- WSContainerMetaDataDeploymentAspect = org.jboss.wsf.container.jboss50.deployment.metadata.ContainerMetaDataDeploymentAspect
| |- WSInjectionMetaDataDeploymentAspect = org.jboss.wsf.container.jboss50.deployment.metadata.InjectionMetaDataDeploymentAspect
| |- WSContextRootDeploymentAspect = org.jboss.wsf.framework.deployment.BackwardCompatibleContextRootDeploymentAspect
| |- WSVirtualHostDeploymentAspect = org.jboss.wsf.framework.deployment.VirtualHostDeploymentAspect
| |- WSEndpointAddressDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointAddressDeploymentAspect
| |- WSEndpointHandlerDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointHandlerDeploymentAspect
| |- WSEndpointLifecycleDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointLifecycleDeploymentAspect
| |- WSEndpointMetricsDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointMetricsDeploymentAspect
| |- WSEndpointNameDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointNameDeploymentAspect
| |- WSEndpointRegistryDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointRegistryDeploymentAspect
| |- WSURLPatternDeploymentAspect = org.jboss.wsf.framework.deployment.BackwardCompatibleURLPatternDeploymentAspect
| |- WSRuntimeLoaderDeploymentAspect = org.jboss.wsf.container.jboss50.deployment.RuntimeLoaderDeploymentAspect
| |- WSWebAppDeploymentAspect = org.jboss.wsf.container.jboss50.transport.WebAppDeploymentAspect
| +- WSWebAppGeneratorDeploymentAspect = org.jboss.wsf.container.jboss50.transport.WebAppGeneratorDeploymentAspect
|
+--- Native
|- WSNativeContextPropertiesDeploymentAspect = org.jboss.wsf.framework.deployment.ContextPropertiesDeploymentAspect
|- WSNativeEagerInitializeDeploymentAspect = org.jboss.wsf.stack.jbws.EagerInitializeDeploymentAspect
|- WSNativeEndpointHandlerDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointHandlerDeploymentAspect
|- WSNativeEndpointRecordProcessorDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointRecordProcessorDeploymentAspect
|- WSNativeEventingDeploymentAspect = org.jboss.wsf.stack.jbws.EventingDeploymentAspect
|- WSNativePublishContractDeploymentAspect = org.jboss.wsf.stack.jbws.PublishContractDeploymentAspect
|- WSNativeServiceEndpointInvokerDeploymentAspect = org.jboss.wsf.stack.jbws.ServiceEndpointInvokerDeploymentAspect
|- WSNativeRMDeploymentAspect = org.jboss.ws.extensions.wsrm.server.RMDeploymentAspect
|- WSNativeUnifiedMetaDataDeploymentAspect = org.jboss.wsf.stack.jbws.UnifiedMetaDataDeploymentAspect
+- WSJAXBIntroDeploymentAspect = org.jboss.wsf.stack.jbws.JAXBIntroDeploymentAspect
WSDeploymentAspectManagerPreJSE
|
+--- AS
| |- WSContainerMetaDataDeploymentAspect = org.jboss.wsf.container.jboss50.deployment.metadata.ContainerMetaDataDeploymentAspect
| |- WSInjectionMetaDataDeploymentAspect = org.jboss.wsf.container.jboss50.deployment.metadata.InjectionMetaDataDeploymentAspect
| |- WSContextRootDeploymentAspect = org.jboss.wsf.framework.deployment.BackwardCompatibleContextRootDeploymentAspect
| |- WSEndpointAddressDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointAddressDeploymentAspect
| |- WSEndpointHandlerDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointHandlerDeploymentAspect
| |- WSEndpointMetricsDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointMetricsDeploymentAspect
| |- WSEndpointNameDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointNameDeploymentAspect
| |- WSEndpointRegistryDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointRegistryDeploymentAspect
| |- WSModifyWebMetaDataDeploymentAspect = org.jboss.wsf.container.jboss50.deployment.tomcat.ModifyWebMetaDataDeploymentAspect
| +- WSURLPatternDeploymentAspect = org.jboss.wsf.framework.deployment.BackwardCompatibleURLPatternDeploymentAspect
|
+--- Native
+- WSNativeContextPropertiesDeploymentAspect = org.jboss.wsf.framework.deployment.ContextPropertiesDeploymentAspect
WSDeploymentAspectManagerPostJSE
|
+--- AS
| |- WSEndpointLifecycleDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointLifecycleDeploymentAspect
| +- WSRuntimeLoaderDeploymentAspect = org.jboss.wsf.container.jboss50.deployment.RuntimeLoaderDeploymentAspect
|
+--- Native
|- WSNativeEndpointHandlerDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointHandlerDeploymentAspect
|- WSNativeEndpointRecordProcessorDeploymentAspect = org.jboss.wsf.framework.deployment.EndpointRecordProcessorDeploymentAspect
|- WSNativeEventingDeploymentAspect = org.jboss.wsf.stack.jbws.EventingDeploymentAspect
|- WSNativePublishContractDeploymentAspect = org.jboss.wsf.stack.jbws.PublishContractDeploymentAspect
|- WSNativeServiceEndpointInvokerDeploymentAspect = org.jboss.wsf.stack.jbws.ServiceEndpointInvokerDeploymentAspect
|- WSNativeRMDeploymentAspect = org.jboss.ws.extensions.wsrm.server.RMDeploymentAspect
|- WSNativeUnifiedMetaDataDeploymentAspect = org.jboss.wsf.stack.jbws.UnifiedMetaDataDeploymentAspect
|- WSNativeEagerInitializeDeploymentAspect = org.jboss.wsf.stack.jbws.EagerInitializeDeploymentAspect
+- WSJAXBIntroDeploymentAspect = org.jboss.wsf.stack.jbws.JAXBIntroDeploymentAspect
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4237911#4237911
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4237911
[View Less]