Upload
frederick-gyles-bell
View
222
Download
0
Embed Size (px)
Citation preview
1
1
JEEandDeployment
Thursday, August 30th
ADAM Seminar - 2007Cap Hornu – Baie de SommeFrance
2
2
Agenda
• Context
• JEE and related technologies
• Deployment
• Fractal Deployment Framework
• Limitations & Perspectives
3
3
Context
• Engineer in the ADAM team
• Deployment concerns
– Multi-scale:
– PDAs
– PCs
– Grid
Fractal Deployment Framework
– Multi-layers:– OS– Middleware– Applications
– Generic deployment: abstraction of
– platform– access protocol – transfer protocol
4
4
JEE Architecture
JDK
Containers
WEB EJB
Communication Transaction Mail
Tools / Applications
Verticaldependencies
5
5
JEE Implementations
JDK
Containers
WEB EJB
Communication Transaction Mail
Tools / Applications
Verticaldependencies
6
6
JEE Implementations
JDK
Containers
WEB EJB
Communication Transaction Mail
Tools / Applications
Verticaldependencies
7
7
JEE: Orchestration
Workflow engine
JEE server
JDK
Web container
8
8
JEE Clustering
• JASMINe
JEE cluster(JOnAS: jcluster)
Autonomic Managment Framework(Jade)
JDK
Cluster Monitoring and Design : JASMINe
Each instance has to be deployed by hand
9
9
The JBI technology
• Java Business Integration• Specification for applications running on an Enterprise Service Bus
– PEtALS (Fractal-based ESB)
– OpenESB
• Component Oriented Architecture
– Service Engines
– JBI binding components
– Service Assemblies
• Service Oriented Architecture
– SOAP
– WSDL
JRE
JBI components
10
10
Horizontal Dependencies
• Business dependencies
JDK
JEE server
Appli 2
ESB
JBI ApplicationWorkflow engine Appli 1
Orchestration
11
11
Deployment
• Transfer of software binaries
• Connection to the remote shell• Configuration file settings
• Environment variables settings
• Software lifecycle : install / configure / start (respecting a correct order) / unconfigure / stop / uninstall
• Vertical dependencies
• Horizontal dependencies
12
12
Deployment
• JEE deployment
• Java based applications
• Interconnection between software (Web containers / JEE servers / JEE Application tools)
• Management through an HTML console interface
13
13
FDF: A Generic Deployment Framework
• FDF is
• A language
– For network description
– For software description
• A deployment engine
– FDF core (deployment components, several implementations)
– Efficiently deploy the described systems (parallelism)
• An IHM
– Representation of the system
– Management of the deployment
14
14
FDF Language Description of the network
adam-network = INTERNET.NETWORK {
host-1 = INTERNET.HOST {
hostname = INTERNET.HOSTNAME(Name or IP);
user = INTERNET.USER(dolet,myPass,~/.ssh/id_rsa);
transfer = TRANSFER.SCP;
protocol = PROTOCOL.OpenSSH;
shell = SHELL.SH;
}
}
}
15
15
FDF Language Description of the software instances
java = JAVA.JRE {
archive = JAVA.ARCHIVE(~/archives/java/JRE_1_5.tgz);
home = JAVA.HOME(/tmp/dolet/fdf/jre);
host = /adam-network/host-1
}
16
16
FDF Language Description of the software
JAVA.JRE:
configure {
set-java_home = SHELL.SetVariable(JAVA_HOME,#[home]);
add-java-to-path = SHELL.AddPath(%JAVA_HOME%/bin);
}
PEtALS.SERVER
start {
petals-start = SHELL.Execute(java -jar #[home]/bin/server.jar);
}
17
17
FDF Personalities
• Personality = Set of software and properties related to a specific technology implementation
• Already available:– JOnAS
– JBoss
– Geronimo
– GlassFish
– PEtALS
– ORCHESTRA
– ACTIVEBPEL
18
18
Projects & Contributions
• S4ALL (Services For ALL)• ITEA Project
• Deployement of the services infrastructures
• Demo
• JOnES• RNTL Project
• Deployment of the JBI infrastructures
• Demo
• Integration in industrial applications• JOnAS (clusters)
• JASMINe (bootstrap deployment from an EJB that launch FDF)
• PEtALS
19
19
JEE Clustering
JEE cluster(JOnAS: jcluster)
AutonomicManagmentFramework
(Jade)
JDK
Cluster Monitoring and Design : JASMINe
EJB
configuration
FDF.fdf
generaterun
load
20
20
JOnES Demo: The Travel Agency
21
21
Travel Agency Deployment
22
22
23
23
S4ALL Demo
Java Java
FDF
Tomcat Ant JOnASOrchestraApplications
BPEL
FDF
24
24
Limitations & Perspectives
• Licence acceptation during software extraction (can't be done automatically)
• FDF Daemon (recover a previously deployed infrastructure)
• Error management
• Enforce FDF language typage (static verifications)
• FDF Sources annotations for documentation (cf javadoc)
25
25
Thank you
Any questions ?
http://fdf.gforge.inria.fr