Title: SlickDeploy
1Slick-Deploy
- WebSphere 6 Deployment Tool
- Jatin Bhadra
- WebSpere User Group 29th June 2006
2Agenda
- Manual build and deployment process
- Disadvantage of Manual process
- How Slick-Deploy can improve?
- Future enhancement in Slick-Deploy
- Questions
3Fictitious Organisation
- Organisation Personal and General Insurance
- Several Developer Teams
- 30 40 applications
- 4 Environments, FTE, NFTE, PPTE, Prod
- 1 Deployer/SysAdmin Team
Dev Team
Sys Admin
Dev Team
Dev Team
PandG
4Application Build
5TimeLine
Today
Manual
6Manual Process
Writes code
Generates ear
EAR
Developers
WAS
installs
EAR
Deployer
7After few releases
There is bug in Production. I am not sure which
version of source is running in Production!!!!!
L
8Build Process
- Developer send the EAR file to deployer in email
or in copies on a share
9Automated build Process
- Extract Source from Version Control System
- Compile the code using automated scripts
- Package the code
10Advantages of Automated Build
- Enforce Standards
- Consistent use of Third-party and Java Compilers
- Can locate any version of EAR
- Faster builds and process driven builds
11TimeLine
Today
Automated Build
Manual
12Application Deployment
13What is deployment
- Install the package the EAR file
- Change the configuration of the application
EAR
WAS
Deployer
14EAR Configuration JNDI Name
15EAR Configuration ejb-ref bnds
EJB
EJB
EJB
WEB
WEB
Security
ejb-ref
EAR
16EAR Configuration res-ref bnds
EJB
EJB
DataSource
WEB
WEB
JMS Queue
Security
res-ref
Resources
17Application Configuration Maze
Datasource
JMS
18In Summary
- JNDI names for the EJBs
- JNDI mapping to ejb-refs and res-refs
- Virtual Host mapping to web-module
19Deployment Communication Process
How will I get the config info?
How do I tell the deployer?
20Deployment Communication Process Attempt 1
Well done
Why tell? I have all configs in EAR correct
21After few drop, app become complicated Attempt
1 fails
Oops!! One of our developers has miss configured
an existing JNDI name
Oh! You are using wrong DS JNDI and affecting
other apps
22Deployment Communication Process Attempt 2
Good man
Brilliant idea!
Send him a document
23After few deploys using document Attempt 2 fails
I hope it works
I hope he deploys it correct!!
24Need to be repeatable
25Disadvantages of Trusting Developers
Documentation
- Time Consuming
- Error Prone
- Tedious
- Non Repeatable
- Risky
26Now what
Yeah right! Jython is complicated
Lets automate it
27Introduction to Slick-Deploy
- Open Source - free
- Generic XML based
- ANT based
- Easy!!
28What can Slick Deploy do
- Stop writing Documentation
- Create an XML file deploydata.xml
Slick- Deploy
Deploy Data.xml
generate
read
EAR
EAR
29Deploy
Slick- Deploy
WAS ND Dep manager
Node 1
deploy
Node 2
Node 3
host, port, protocol
Node 4
30Deploydata Section - Security
-
name"SpecialRoleName" name"AllAuthenticatedUsers" / name"Everyone" /
Security
Group
EAR
31Deploydata Section - EJB
-
- module-ds-bnd"jdbc/Trade3/TradeDataSource"
- messagelistner"trade3tradeport"
ing name"TradeEJB" jndi-name"ejb/Trade3/Trade"
ectionFactory" name"jms/Trade3/TradeBrokerQCF" /
ding name"HoldingEJB" jndi-name"ejb/Trade3/Holding"
/
DS
EJB
EJB
EJB JNDI
EJB
EAR
32Deploydata Section - Web
- virtualhost"www_host" name"ejb/Trade" name"ejb/Trade3/Trade" /
nFactory" name"jms/Trade3/TradeBrokerQCF" /
name"jms/TradeBrokerQueue"
/
virtualhost"www_host"
WEB
WEB
DS
EJB
Virtual host
EAR
33Deploydata Section libraries/staring weight
34Environment Configuration
- Create a Build and Deploy Server
- Install the WebSphere Client
- Install ANT and your ANT Scripts
- All the apps to all WAS boxes are deployed from
here
Where do I install SlickDeploy?
35Deployment Server Push Approach
Deploy ANT Script
SD Ant jar
Deploy
WAS Client
WAS Dep Manager
SD Deploy jar
36Deploydata location
- In version control system with your EAR file
versioned together
Where to keep DD.xml
37How to write an automated script?
EAR Deploy Data.xml
extract
EAR process
Deploy Data.xml
Target Web- Sphere
WAS ND
deploy
Copy deploy
38Slick-Deploy ANT tasks
How do I write SD ANT tasks
39Deploy EAR Process
-
- earFileLocation"c/ear/Trade3.ear
- deployDataLocation"c/deploydata/Trade3-deploydat
a.xml" /
40Deploy ANT Task
-
- applicationName"Trade3"
- cell"MyCell01" port"8889" host"MyHost"
- cluster"Test-CL
- earFileLocation"c/SlickDeploy/ear/Trade3.ear
- deployDataLocation"c/Trade3-deploydata.xml"
- userName"wasadmin" password"wasadmin"
- failIfResourceAbsent"No" webserver"IIS"
connectionType"SOAP" /
41How to write an automated script?
EAR Deploy Data.xml
Query host, Port, Uname Password
extract
EAR process
Deploy Data.xml
ANT file
Target Web- Sphere
WAS ND
deploy
Copy deploy
42DDCreater
- Pass the location of EAR file.
- Pass the location where deploydata.xml file
should be created.
Do I have to write the deploydata
43What do the deployers feel?
Wow! Just answer a few questions and sit and
watch the deployment progress!!!
44Why automate?
- Repeatable deployment without manual
intervention. - No manual error.
- Reduce deployment time of application by 50.
- Reduce the human resource required for deploying
the application. - Reduce the amount of documentation developers and
deployers need to produce and hence technical
staff can concentrate on technical work.
45(No Transcript)
46TimeLine
Auto App Deployment
Today
Manual
47Resources?
But I still have to create the resources, Servers
etc. What about that?
48Patience! Next release
- Server/Cluster creation/update
- JDBC Provider creation/update
- DataSource creation/update
- JMS Queue/Destination creation/update
- Environment Specific configuration
49TimeLine
Auto Resource/env creation
Next Release
Auto App Deployment
Manual
50TimeLine
GUI User Interface
Future
Auto Resource/env creation
Auto App Deployment
Manual
51TimeLine
Autotrigger Reports
GUI User Interface
Future
Auto Resource/env creation
Auto App Deployment
Manual
52Questions
53Cmd line
- "JAVA_HOME\bin\java" -Duser.install.rootc\ANT\
workfile" -classpath "ANT_HOME\lib\ant-launche
r.jarANT_HOME\lib\SlickDeployTask.jar
ANT_HOME\lib\ant.jarDEPLOY_LIB\SlickDeploy.j
ar" -Dcom.ibm.CORBA.ConfigURL
file.../Custom01/properties/sas.client.props "
-Dant.homeANT_HOME" -Djava.util.logging.con
fig.fileloggingConfigFile org.apache.tools.an
t.launch.Launcher -buildfile C\ant\deploy.xml
54Register SlickDeploy with ANT
55Extract from version control
- Exec,
- Version control custom tasks
VCS
extract
ear
DD
56Process the EAR file
DD
ear
extract
ear
57Copy to the ND
ear
copy
WAS ND
58Deploy the app
ear
install
WAS ND
59WebSphere Architecture
WAS ND
Node 1
Node 2
Node 3
Node 4
Cell
60Application Server
Application Server
Application Server
App
Node
61How is it written
- DeploydataReader
- Read the deploydata
- EARProcesser
- Process the EAR with deploydata.xml
- Deploy
- Deploy the application
62References
- http//www-128.ibm.com/developerworks/websphere/te
chjournal/archive.html - WebSphere Application Server V6 System Management
and Configuration Handbook sg246451.pdf - IBM press IBM WebSPere System Administration
Leigh Williamson, Lavena Chan, Roger Cundiff,
Shawn Lauzon, Christopher Mitchell