2014 Pre-MSc-IS-5 Process Layer

Post on 13-Jul-2015

45 views 2 download

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