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

Automate workflows with leading open-source BPM

Embed Size (px)

DESCRIPTION

Webinar on JBoss BPM Suite 6

Citation preview

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?