jboss bpm suite 6 tech labs

42
JBoss BPM SUITE 6 Tech Labs Andrea Leoncini JBoss Senior Solution Architect @ Red Hat [email protected] Milano 23 Ottobre - Roma 27 Novembre

Upload: andrea-leoncini

Post on 15-Jul-2015

556 views

Category:

Software


1 download

TRANSCRIPT

JBoss BPM SUITE 6Tech Labs

Andrea LeonciniJBoss Senior Solution Architect @ Red Hat

[email protected]

Milano 23 Ottobre - Roma 27 Novembre

WHAT IS BPM SYSTEM?

A Bridge between Business Analysts and

Developers

WHAT IS A WORKFLOW?

It’s the digital Modelof a Business Process

WHAT IS A BPM ENGINE?

It’s a State Machine

A BUSINESS PROCESS

Catalog

Shipping

Inventory

SocialOrders

A BUSINESS PROCESS

Catalog

Shipping

Inventory

SocialOrders

strictly

related to

company

A BUSINESS PROCESS

Catalog

Shipping

Inventory

SocialOrders

Catalog

Shipping

Inventory

SocialOrders

A sequence of business activities done by business users and

business applications to achieve a business goal

A BUSINESS PROCESS

A BUSINESS PROCESSAn activity or set of activities that will accomplish a specific organizational goal but...

• Inefficient manual processes;

• Error Prone;

• Non repeatable;

• Lack of visibility;

• Hard coded;

• Hard to change.

THE BPM SOLUTION

ShippingSystem

BillingSystem

ProviderSystem

ShopSystem

1 - automate interaction between systems

THE BPM SOLUTION

ShippingSystem

BillingSystem

ProviderSystem

ShopSystem

1 - automate interaction between systems…

2 - drive the business process from a model…

THE BPM SOLUTION

ShippingSystem

BillingSystem

ProviderSystem

ShopSystem

1 - automate interaction between systems…

2 - drive the business process from a model…

3 - Manage user participation…

THE BPM SOLUTION

ShippingSystem

BillingSystem

ProviderSystem

ShopSystem

1 - automate interaction between systems…

2 - drive the business process from a model…

3 - Manage user participation…

4 - Monitor execution…

WHEN DO YOU NEED A BPM?Give me just one keyword(or two)

Long RunningHuman Task

Start

Request Inform

End

notify

Start

Request Inform

Endnotify

Start

Request Inform

End

notify

Start

Request Inform

Endnotify

Long Running

WHAT WE DON’T DOWhen we design a workflow?

Re-Design or Re-Inventthe Business Process

red hat BPM Suite 6 components

• BPM Central A web based application that provides tools for creating, editing, building, managing and monitoring assets and tasks.

• Artifact Repository AKA Knowledge Store or Knowledge Base repository is a set of data the application operates over and is referred by the Excution Server.

• Execution Server which provides the runtime environment for business assets.

BPM Central tools

• Process designer and other editors;

• Rules modeler ;

• Task client;

• Process Manager;

• Dashboard builder ;

• Business asset manager.

BPMS6 deployment concepts

GIT Repository

Project

Project

Maven Repository

Module/Artifact

Module/Artifact

Execution Server

Module/Artifact

Java application

web application

KIE Remote API

KIE ReST API

The KIE Factory

Project Project Project

GIT Source Repository

Developers and Analysts produce assets: Data Model, Rules Processes, Services…

Assets are stored in the company source repository (GIT)

The KIE Factory

Project Project Project

GIT Source Repository

Building projects produce artifacts…

Artifacts are stored in the company Maven repository

Maven Repository

artifact

artifact

artifact

The KIE FactoryArtifacts can be pulled by Runtime to

create KieBase(s)

Maven Repository

artifact

artifact

artifact

artifact

artifact

artifact

KIE Workbench - Business-central - JBoss EAP

The KIE FactoryArtifacts can be pulled by Runtime to

create KieBase(s)

Maven Repository

artifact

artifact

artifact

artifact

artifact

artifact

KIE Workbench - Business-central - JBoss EAP

Web Application - JEE Container - JBoss EAP

Standalone Java Application - JVM Container

OSGI Container - JBoss Fuse

Deployment scenarioThe basic scenario is based on Business Central.

Everyone access the web console

Maven Repository

KIE Workbench - Business-central - JBoss EAP

Processes Persistence

The Business Central Execution Engine pulls assets from Maven Repository and persists data on an external storage.

Deployment scenario - 2

Maven Repository

KIE Workbench - Business-central - JBoss EAP

Processes Persistence

Web Application

REST

The same deployment architecture can be enriched by an additional custom Web Application.

The new web app can be deployed in the same container of Business Central or in a remote one. The Web App access the Business

Central Execution Engine by using the REST API

The Business Central Execution Engine pulls assets from Maven Repository and persists data on an external storage.

Deployment scenario - 3

Maven Repository

Processes Persistence

As well as the Business Central other custom Runtime Engines can be created in a JEE container or as

standalone java applications

JEE - EAP

Business-central

Execution Server

JEE - EAP

Custom Web App

Custom Execution Server

JSE

Standalone Application

Deployment scenario - 4What about micro-services

and micro-containers and cloud-computing?

The OSGI Way

The OSGI Way

Mail Web SAP Messaging FTP

OSGI OSGI OSGI OSGI OSGI OSGI

FabricJBoss Fuse

CEP

External legacy systems

Services defined by PROFILE

KIE Container available as any other Camel component

Provisioning of the micro-containers made by Fabric

The OSGI Way

Mail Web SAP Messaging FTP

OSGI OSGI OSGI OSGI OSGI OSGI

FabricJBoss Fuse

CEP

External legacy systems

Services defined by PROFILE

KIE Container available as any other Camel component

Provisioning of the micro-containers made by Fabric

The OSGI Way

Mail Web SAP Messaging FTP

OSGI OSGI OSGI OSGI OSGI OSGI

CEP

External legacy systems

Services defined by PROFILE

KIE Container available as any other Camel component

Micro services can receive a message from an external system and fire up a Rule, Route the message to

another service as the Rule exit or start a process that uses rules and invokes services that call external

system that fires up a rule…

The OSGI Way

Mail Web SAP Messaging FTP

OSGI OSGI OSGI OSGI OSGI OSGI

CEP

External legacy systems

Services defined by PROFILE

KIE Container available as any other Camel component

Micro services can receive a message from an external system and fire up a Rule, Route the message to

another service as the Rule exit or start a process that uses rules and invokes services that call external

system that fires up a rule…

The OSGI Way

Mail Web SAP Messaging FTP

OSGI

OSGI

OSGI

OSGI

OSGI OSGI

CEP

Mail Web Messaging FTP

OSGI

Application is a network of services

Process Modelling

• Create workflow models using BPMN v2.0 language;

• The BPMN model is defined in the native XML language;

• Processes can also be modelled by using a GUI;

• and can modeled using API too.

Standard Languages

Two languages are out of this LAB scope

BPMN 2.0 & MVEL

red hat BPM Suite 6 languages

• BPMN 2.0The primary goal of BPMN (Business Process Model and Notation) is to provide a standard notation readily understandable by all business stakeholders.

• MVEL is a powerful expression language for Java-based applications. It provides a plethora of features and is suited for everything from the smallest property binding and extraction, to full blown scripts.

The KIE API

• Authoring

• Building

• Testing

• Deploying

• Versioning

• Loading

• Running

• Interact

• Managing

• Monitoring

In the BPM arena we need:

KIE stands forKnowledge Is Everything

KieBase

A KieBase is a repository of all the application's knowledge definitions. It contains rules, processes,

functions, and type models.The KieBase itself does not contain data; instead,

sessions are created from the KieBase into which data can be inserted, and, ultimately,

process instances may be started.

KieSession

The KieSession stores and executes on runtime data. It is created from the KieBase, or, more easily, created directly from the KieContainer if it has been defined

in the kmodule.xml file

Creating the KieBase can be quite heavy, whereas session creation is very light; therefore, it is recommended that KieBase be cached

where possible to allow for repeated session creation.Accordingly, the caching mechanism is automatically provided by the

KieContainer.

KIE API

• classic core API

• remote API

• ReST API

There are three type of API:

Enjoy the demo

• Business Central demo

• REST API demo

But we won’t cover: Work Item Handler, Exception Handling, CEP, BAM, BRP (Business Resource Planner aka OptaPlanner)

This presentation is overTHANK YOU for your attention!

Andrea LeonciniJBoss Senior Solution Architect @ Red Hat

[email protected]

JBoss BPM SUITE 6Tech Labs