This is definition document so I don't have to repeat everything on the JIRA 
tasks

DEPLOYER-OVERVIEW
-----------------

The deployer architecture is made up of the following components:

VDF - Virtual Deployment Framework
The VDF works to abstract
deployments meaning the deployers don't have to deal with
the physical structure/protocol of the deployments.
It is responsible for abstracting away:
packed/unpacked deployments
copying remote/nested deployments to a temp location
supplying logical urls for users/config/codebase-protectiondomain/etc
supplying physical urls for classloading/debugging/etc

VDF Context
A VDF context identifies a deployment/subdeployment
holding the information that is identifed by the
structural component deployers.

Deployer
A deployer is made up two components.
1) A structural component that says it recognises a particular
deployment and deconstructs the deployment into its VDF contexts.
2) A deployment component that looks at the deployment
and constructs the objects. 

MainDeployer 
Like the current main deployer it is reponsible for
deploy(URL) and undeploy(URL). It also serves as a registry
for the other deployers.

MicroContainer
Any bean that implements the "Deployer interface"
will be registered/unregistered with the MainDeployer
as it is instantiated.
Since the structural components have no dependencies
they can be instantiated early and the deployments
identified.

Deployment Chains 
Both the structural and deployment components
of the deployers are stored inside the MainDeployer registry
as a chain in a "priority" order.

Structural Chain 
For the structural chain, the first deployer in "priority" order
to recognise the deployer wins.
All deployments/subdeployments must be structurally recognised
before the deployment chain is processed.

Deployment Chain
Each deployer gets to process the deployment in the "priority" order.
The chain is processed depth first, i.e. priority order over all
deployments/subdeployments before moving to the next in the chain

Structural Component More Detail
To construct the VDF context the structural component must be
able to identify:
1) The set of urls that make up the deployment classpath
2) The location of the metadata, e.g. META-INF, WEB-INF, etc.
3) The set of possible subdeployments

Deployment Component More Detail
This does the job of deployment for this VDF context
(not subcontexts/deployments).
We want to aim to use the deployment specific
metadata to create microcontainer metadata that can be installed
(instantiated/configured) according to dependencies.
But there are thirdparty components where complete control
of the construction/config is not under IOC/microcontainer control

RAW Deployers
Classloading
JAR
Bean

Classloading Deployer
This has no structural component.
It forms the highest priority (first) deployment component
since very little else can be done reliably until the classes
are available.
It takes it info from the urls identified by the structural
deployments in the VDF contexts.

JAR Deployer
This is the lowest priority (last) structural component.
It takes jars/zips and top level directories (not sub deployments)
and adds the url to the VDF context for classloading.
There is no deployment component.

Bean Deployer
The priority of this deployer is unimportant.
Structural component
It takes .bean with a (META-INF/jboss-bean.xml)
or plain -bean.xml files that contain raw microcontainer
config in xml format.
It identifies the root of the .bean archive (or expanded deployment)
as the classloader url.
Any file in the root of the .bean is eligible as a subdeployment.
Deployment component
Parses the -bean.xml and installs it into the microcontainer

Profile
A profile serves as a collection of deployments.
The simplest implementation is the current JBoss directory
structure, i.e. a static config and a hot deploy config.
A more useful implementation for production
is a versioned/persistent list of deployments.
The profile feeds URLs to the main deployer.

Other Deployers
SAR
RAR
EJB2
EJB3
EAR
-ds.xml
WAR
BSH

Hot Deployment Profile
The hot deployment profile will need the mechanisms
to order deployments like current JBoss


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

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


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to