Tuesday, January 16, 2007

A closer look at loan approval BPEL build.xml

We can look at the build.xml file that comes with the loan_approval example to provide insight on how to deploy a BPEL process.

The simple dos command “ant deploy” will deploy the business process archive, webservices, and jsps .

3 Main Sub Tasks of "deploy":

1. "deploy-bpel" (Create and deploy BPEL(bpel_example.bpr))

-Above copies /dist/bpel_example.bpr to ${env.CATALINA_HOME}/bpr/

2."deploy-ws" (Create and deploy Web services)

-Above copies /dist/bpel_example_web_services.wsr to ${env.CATALINA_HOME}/bpr

3. "deploy-jsp" (Create and deploy JSP)
-Above copies /dist/bpel_example_client_page.war to ${env.CATALINA_HOME}/webapps

So this is basically copying the Business Process Archive File, web services and jsp pages to the tomcat directories to make the BPEL Process happen.

Further details into the prerequisites to the above 3 main tasks

Looking into 1. "Create and deploy BPEL"
Jar the contents of /bpel_process/ directory into /dist/bpel_example.bpr

Looking into 2. "Create and deploy Web services"
Init-dist – create the dist directory if not already there
Compile – compile all code in the src directory into the classes directory
Deploy-config – copy bpel_example_config.xml to ${env.CATALINA_HOME}/temp directory
Jar up the ws classes into dist\bpel_example_web_services.wsr :
-/META-INF/service.wsdd (Web Services Deployment Descriptor (WSDD) file)
-Include all the classes in the classes directory but excluding the client classes

Looking into 3. Create and deploy JSP
Init-dist - Ensure dist directory is there
Compile- build all src code and put classes in classes directory
Deploy-config – copy bpel_example_config.xml to ${env.CATALINA_HOME}/temp
Jar up:
- 4 classes (BPELTestclient.class, RuntimeParams.class,Constants.class, & loanProcessFault.class) into /WEB-INF/classes directory
- contents of the jsp directory
into a /dist/ bpel_example_client_page.war

This is essentially what the build.xml does. I needed to go through this myself to provide a clearer understanding of what is exactly going on.

Next steps I would like to do is look into making some changes and seeing them reflected to get a better feel of ActiveBPEL implementations.

No comments: