automate workflows with leading open-source bpm

52
1 Automate Workflows With Leading Open Source BPM Prakash Aradyha Product Management Director, Red Hat Dr Kris Verlaenen, Principal Software Engineer, Lead BPM Architect March 12, 2014

Upload: kris-verlaenen

Post on 01-Nov-2014

1.346 views

Category:

Technology


0 download

DESCRIPTION

Webinar on JBoss BPM Suite 6

TRANSCRIPT

Page 1: Automate workflows with leading open-source BPM

1

Automate Workflows With Leading Open Source BPM

Prakash Aradyha Product Management Director, Red Hat

Dr Kris Verlaenen, Principal Software Engineer, Lead BPM Architect

March 12, 2014

Page 2: Automate workflows with leading open-source BPM

2

Topics

● JBoss BPM Suite 6.0 Overview● Core features of BPMS 6● Under the hood of BPMS 6● BPM in Action – Detailed demo

Page 3: Automate workflows with leading open-source BPM

3

Overview

Page 4: Automate workflows with leading open-source BPM

4

JBoss BPM Suite – Components

Page 5: Automate workflows with leading open-source BPM

5

JBoss BRMS - Components

Page 6: Automate workflows with leading open-source BPM

6

JBoss BRMS Vs BPM Suite

JBoss BRMS 6.0JBoss BRMS 6.0

JBoss BPM Suite 6.0 Target - Realtime Decision Management

Target:Process AutomationService Enabled OrchestrationIntelligent Business Operations

Page 7: Automate workflows with leading open-source BPM

7

BPM Suite Architecture

Page 8: Automate workflows with leading open-source BPM

8

BPM Lifecycle

Core Services

Page 9: Automate workflows with leading open-source BPM

9

Core Services: Execution Server

Client Applications ESBs Partner

ServicesMobileClients

● Centralized Execution Server

● REST, JMS and Native Java Interfaces out of the box

● Native Java Client that interfaces through REST

● Clusterable, Scalable Server

Page 10: Automate workflows with leading open-source BPM

10

Core Services: Development Repository

● GIT Based – Universally accepted

● Enterprise features like tagging, branching etc

● No repository migration hassles● Browse any GIT repository● Import and Export● Indexed searching

Page 11: Automate workflows with leading open-source BPM

11

Knowledge Management

Page 12: Automate workflows with leading open-source BPM

12

Choice of Tools

Business User Friendly – Web Based Developer Friendly – IDE Based

Page 13: Automate workflows with leading open-source BPM

13

Core Services: Integration with FSW

Switchyard● Defined SY task in Designer

● Direct invocation of SY services from Process

● SY can instantiate a business process

● SY can signal a process

● SY can execute a task

Page 14: Automate workflows with leading open-source BPM

14

Core Services: Business Resource Planner (TP)

Page 15: Automate workflows with leading open-source BPM

15

Core Services: Business Resource Planner (TP)

Page 16: Automate workflows with leading open-source BPM

16

BPM Lifecycle - Model

Business Assets

Page 17: Automate workflows with leading open-source BPM

17

Model: Business Central

Page 18: Automate workflows with leading open-source BPM

18

Model: Project Structure

Page 19: Automate workflows with leading open-source BPM

19

Model: Data Modeler

Page 20: Automate workflows with leading open-source BPM

20

Model: Process Modeler

Page 21: Automate workflows with leading open-source BPM

21

Model: Form Designer

Page 22: Automate workflows with leading open-source BPM

22

Model: Rule Authoring

Page 23: Automate workflows with leading open-source BPM

23

Model: Simulation

Page 24: Automate workflows with leading open-source BPM

24

BPM Lifecycle - Deploy

Business Assets

Core Services

Page 25: Automate workflows with leading open-source BPM

25

Deploy: Packaging, Deployment Repository

● Maven Packages● Build – Creates a kjar – Includes all assets – process

definitions, classes, forms, images etc● Deploy – Deploy to a Maven repo● Applications can pull from Maven Repo● Dependency management with other libraries – Share

libraries● Integrate with SRAMP – Governance in multi stage● Configure Maven Repo location

Page 26: Automate workflows with leading open-source BPM

26

Deploy: How Deploy Works

Page 27: Automate workflows with leading open-source BPM

27

Migrating from 5.3 to 6

● Things to Consider in migration● New development repository – JCR to GIT● New Packaging – PKG to Maven JARs● New APIs – Knowledge APIs to KIE

● Legacy KIE APIs are still supported● All assets – process defs, DRLs, Decision Tables,

models work as is

Page 28: Automate workflows with leading open-source BPM

28

BPM Lifecycle – Process Monitor

Page 29: Automate workflows with leading open-source BPM

29

Process Monitoring: Overview

Page 30: Automate workflows with leading open-source BPM

30

BPM Lifecycle - Tasks

Tasks

Page 31: Automate workflows with leading open-source BPM

31

Tasks: Inbox

Page 32: Automate workflows with leading open-source BPM

32

Tasks: Task List

Page 33: Automate workflows with leading open-source BPM

33

Tasks: Task Execution

Page 34: Automate workflows with leading open-source BPM

34

BPM Lifecycle: Analyze

Page 35: Automate workflows with leading open-source BPM

35

BAM – Business Activity Monitoring

Page 36: Automate workflows with leading open-source BPM

36

BAM: Overview

Page 37: Automate workflows with leading open-source BPM

37

BAM: Define KPIs

Page 38: Automate workflows with leading open-source BPM

38

BAM: Process Dashboard

Page 39: Automate workflows with leading open-source BPM

39

Under the hoods

Page 40: Automate workflows with leading open-source BPM

40

New Core Features

● RuntimeManager:● Session + TaskService management

● CDI integration● Execution server● Remote API

● REST, JMS● Deployment using kjar

Page 41: Automate workflows with leading open-source BPM

41

RuntimeManager

● Access to KieSession and TaskService● Hides setup complexity

● Manages sessions● Singleton session● Session per request● Session per process instance

KieSession

TaskService

Runtim

eManager

Page 42: Automate workflows with leading open-source BPM

42

RuntimeManager Example

RuntimeManager manager = RuntimeManagerFactory.Factory.get() .newPerProcessInstanceRuntimeManager(environment);

RuntimeEngine runtime = manager.getRuntimeEngine( ProcessInstanceIdContext.get(id));

KieSession ksession = runtime.getKieSession();// do something here, e.g.ksession.startProcess(“org.jbpm.hello”);

manager.disposeRuntimeEngine(engine);manager.close();

Page 43: Automate workflows with leading open-source BPM

43

jBPM Services (CDI)

● Inject services into your CDI environment@Inject @Singleton RuntimeManager singletonManager;@Inject TaskService taskService;

● Configure (@Produces) EMF, environment, usergroupcallback

Page 44: Automate workflows with leading open-source BPM

44

jBPM Execution Server

● Execute process and task commands● Through UI● Remote API

● Clustered environment● High Availability● Load balancing

Page 45: Automate workflows with leading open-source BPM

45

Execution Server

Request3

PrInst1PrInst2

Request2

Request1

Quartz +Helix + Zookeeper

Page 46: Automate workflows with leading open-source BPM

46

Remoting

● KieSession and TaskService● Possibly more later● Uses RuntimeManager

● Using REST or JMS● JAXB + JSON

● Remote client using existing interfaces

Page 47: Automate workflows with leading open-source BPM

47

REST APIhttp://server.address:port/{application-id}/rest/ runtime {id: [a-zA-Z0-9-]+} // deploymentId process {id: [a-zA-Z0-9-]+} start * start process [POST] instance {id: \\d} * process instance details [GET] signal * signal event [POST] abort * abort process instance [POST] signal {id: [a-zA-Z0-9-]+} * signal event [POST] workitem {id: \\d} complete * complete work item [POST] abort * abort work item [POST] execute * execute the given command [POST] task {id: \\d+} * task details [GET] activate * activate task claim * claim task [POST] // etc.. execute * execute the given command [POST] query * task query

Page 48: Automate workflows with leading open-source BPM

48

Command Serialization

● JAXB serialization of commands● e.g. Start task

<command-message> <deploymentId>test</deploymentId> <ver>1</ver> <start-task> <taskId>1</taskId> <userId>krisv</userId> </start-task></command-message>

Page 49: Automate workflows with leading open-source BPM

49

REST Client Example

RuntimeEngine runtimeEngine = new RemoteRestSessionFactory( "org.jbpm:HR:1.0”, “http://localhost:8080/jbpm-console", AuthenticationType.BASIC, "krisv", "krisv") .newRuntimeEngine();

engine.getKieSession().startProcess("org.jbpm.humantask");

engine.getTaskService().start(1, "krisv");

Page 50: Automate workflows with leading open-source BPM

50

Demo

Page 51: Automate workflows with leading open-source BPM

51

Thank You

Page 52: Automate workflows with leading open-source BPM

52

Questions?