2014 pre-msc-is-5 process layer

24
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

Upload: andreasmartin

Post on 13-Jul-2015

45 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 2014 Pre-MSc-IS-5 Process Layer

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

Page 2: 2014 Pre-MSc-IS-5 Process Layer

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

Page 3: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 3

Workflow Systems

5. Process Layer

Page 4: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 4

Workflow System Characteristics

5. Process Layer

Page 5: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 5

camunda BPM Open Source BPM and Workflow based on BPMN 2.0

5. Process Layer

Page 6: 2014 Pre-MSc-IS-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

Page 7: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 7

Features - Modeller: Process Modelling with BPMN 2.0

5. Process Layer

Source: http://camunda.org

Page 8: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 8

Features - Platform: Visual Process Monitoring Find Process Instances

5. Process Layer

Source: http://camunda.org

Page 9: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 9

Features - Platform: Visual Process Monitoring Inspect a Process Instance

5. Process Layer

Source: http://camunda.org

Page 10: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 10

Features - Platform: Visual Process Monitoring Repair a Process Instance

5. Process Layer

Source: http://camunda.org

Page 11: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 11

Features - Platform: Implement Processes Native Java API

5. Process Layer

Source: http://camunda.org

Page 12: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 12

Features - Platform: Implement Processes Seamless Spring & Java EE Integration

5. Process Layer

Source: http://camunda.org

Page 13: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 13

Features - Platform: Execute BPMN 2.0

5. Process Layer

Source: http://camunda.org

Page 14: 2014 Pre-MSc-IS-5 Process Layer

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

Page 15: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 15

camunda BPM - Infrastructure

5. Process Layer

Source: http://de.slideshare.net/camunda/open-source-bpm-mit-bpmn-20-und-java

Page 16: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 16

camunda BPM - Components

5. Process Layer

Source: http://de.slideshare.net/camunda/open-source-bpm-mit-bpmn-20-und-java

Page 17: 2014 Pre-MSc-IS-5 Process Layer

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()); } } }

Page 18: 2014 Pre-MSc-IS-5 Process Layer

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>

Page 19: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 19

Hands-on 5 BPM CDI WEB APPLICATION

5. Process Layer

Page 20: 2014 Pre-MSc-IS-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.

Page 21: 2014 Pre-MSc-IS-5 Process Layer

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

Page 22: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 22

Hands-on 6 BPM JAVA EE

5. Process Layer

Page 23: 2014 Pre-MSc-IS-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>

Page 24: 2014 Pre-MSc-IS-5 Process Layer

Andreas Martin - Page 24

Hands-on 6 …implement the Reference Project

5. Process Layer