2014 pre-msc-is-5 process layer
TRANSCRIPT
Andreas Martin - Page 1
Master of Science in Business Information Systems FHNW Pre-Master Information Systems
5. Process Layer
Andreas Martin
5. Process Layer
http://www.flickr.com/photos/dirk_hofmann/4200450207
Andreas Martin - Page 2
Process Layer
Workflow Systems
camunda BPM
Hands-on
Hands-on 5: BPM CDI WEB APPLICATION
Hands-on 6: BPM JAVA EE
5. Process Layer
Andreas Martin - Page 3
Workflow Systems
5. Process Layer
Andreas Martin - Page 4
Workflow System Characteristics
5. Process Layer
Andreas Martin - Page 5
camunda BPM Open Source BPM and Workflow based on BPMN 2.0
5. Process Layer
Andreas Martin - Page 6
camunda BPM – the Approach
5. Process Layer
Source: http://de.slideshare.net/camunda/open-source-bpm-mit-bpmn-20-und-java
Andreas Martin - Page 7
Features - Modeller: Process Modelling with BPMN 2.0
5. Process Layer
Source: http://camunda.org
Andreas Martin - Page 8
Features - Platform: Visual Process Monitoring Find Process Instances
5. Process Layer
Source: http://camunda.org
Andreas Martin - Page 9
Features - Platform: Visual Process Monitoring Inspect a Process Instance
5. Process Layer
Source: http://camunda.org
Andreas Martin - Page 10
Features - Platform: Visual Process Monitoring Repair a Process Instance
5. Process Layer
Source: http://camunda.org
Andreas Martin - Page 11
Features - Platform: Implement Processes Native Java API
5. Process Layer
Source: http://camunda.org
Andreas Martin - Page 12
Features - Platform: Implement Processes Seamless Spring & Java EE Integration
5. Process Layer
Source: http://camunda.org
Andreas Martin - Page 13
Features - Platform: Execute BPMN 2.0
5. Process Layer
Source: http://camunda.org
Andreas Martin - Page 14
camunda BPM – History and Roadmap
5. Process Layer
Source: http://de.slideshare.net/camunda/open-source-bpm-mit-bpmn-20-und-java
Andreas Martin - Page 15
camunda BPM - Infrastructure
5. Process Layer
Source: http://de.slideshare.net/camunda/open-source-bpm-mit-bpmn-20-und-java
Andreas Martin - Page 16
camunda BPM - Components
5. Process Layer
Source: http://de.slideshare.net/camunda/open-source-bpm-mit-bpmn-20-und-java
Andreas Martin - Page 17
camunda BPM – Java EE service
5. Process Layer
@Named @Stateless public class CustomerService { @Inject @ProcessVariable public Object customerId; @Inject private BusinessProcess businessProcess; @EJB CustomerEJB customerEJB; public void loadCustomer() { Customer customer = customerEJB.findCustomerById(Long .valueOf((String) customerId)); if (customer != null) { businessProcess.setVariable("customerFirstName", customer.getFirstName()); businessProcess.setVariable("customerLastName", customer.getLastName()); } } }
Andreas Martin - Page 18
camunda BPM – HTML forms
5. Process Layer
<form class="form-horizontal"> <div class="control-group"> <label class="control-label">Customer ID</label> <div class="controls"> <input form-field type="string" name="customerId"></input> </div> </div> <div class="control-group"> <label class="control-label">Amount</label> <div class="controls"> <input form-field type="number" name="amount"></input> </div> </div> </form>
Andreas Martin - Page 19
Hands-on 5 BPM CDI WEB APPLICATION
5. Process Layer
Andreas Martin - Page 20
Hands-on 5
2. Derive use cases from workflow graph.
3. Extract service model from use case model.
5. Process Layer
1. We are going to implement the “Loan Approval” process.
Andreas Martin - Page 21
Hands-on 5
4. Import “hands-on-5” project.
5. Model the execution graph using the workflow graph as blueprint.
6. Implement the services as modelled in service model.
7. The project already contains HTML forms – inspect them.
8. Add the service calls to the BPMN model and make sure that process model is executable.
9. Add the form references and conditions to the BPMN model.
10. Deploy and run the workflow.
5. Process Layer
Andreas Martin - Page 22
Hands-on 6 BPM JAVA EE
5. Process Layer
Andreas Martin - Page 23
Database Connection …will be used for the next hands-on
Modify the MySQL_premscis-xa-ds.xml file:
When using a Web Project in Eclipse, it is possible to deploy a datasource using a JBoss datasource file (…-ds.xml)
This file must be placed under: Project +---src\main\webapp\WEB-INF ¦ faces-config.xml ¦ jboss-web.xml ¦ MySQL_premscis-xa-ds.xml
Choose another student ‘number’ (DatabaseName) to avoid overwriting. When using Camunda BPM in a Java EE environment you have to implement a “xa-datasource”
5. Process Layer
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<xa-datasource jndi-name="java:jboss/datasources/MySQL_premscis_xa" pool-name="MySQL_premscis" enabled="true" use-java-
context="true">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
<xa-datasource-property name="PortNumber">80</xa-datasource-property>
<xa-datasource-property name="ServerName">mature.iwi.wirtschaft.fhnw.ch</xa-datasource-property>
<xa-datasource-property name="DatabaseName">premscis</xa-datasource-property>
<driver>mysql-connector-java-5.1.32-bin.jarcom.mysql.jdbc.Driver_5_1</driver>
<security>
<user-name>premscis</user-name>
<password>premscis</password>
</security>
</xa-datasource>
</datasources>
Andreas Martin - Page 24
Hands-on 6 …implement the Reference Project
5. Process Layer