XpertSolvers: Your Partner in Building Innovative Software Solutions
JBoss BPM Suite 6 Tech Labs Overview
1. JBoss BPM SUITE 6
Tech Labs
Andrea Leoncini
JBoss Senior Solution Architect @ Red Hat
andrea.leoncini@redhat.com
Milano 23 Ottobre - Roma 27 Novembre
2. WHAT IS BPM SYSTEM?
A Bridge between
Business Analysts and
Developers
3. WHAT IS A WORKFLOW?
It’s the digital Model
of a Business Process
8. A BUSINESS PROCESS
Catalog
Orders Social
A sequence of business
activities done by
business users and
business Inventory
applications to
achieve a business goal
Shipping
9. A BUSINESS PROCESS
An 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.
10. THE BPM SOLUTION
Shipping
System
Billing
System
Provider
System
Shop
System
1 - automate interaction between systems
11. THE BPM SOLUTION
Shipping
System
Billing
System
Provider
System
Shop
System
1 - automate interaction between systems…
2 - drive the business process from a model…
12. THE BPM SOLUTION
Shipping
System
Billing
System
Provider
System
Shop
System
1 - automate interaction between systems…
2 - drive the business process from a model…
3 - Manage user participation…
13. THE BPM SOLUTION
Shipping
System
Billing
System
Provider
System
Shop
System
1 - automate interaction between systems…
2 - drive the business process from a model…
3 - Manage user participation…
4 - Monitor execution…
14. WHEN DO YOU NEED A BPM?
Give me just one keyword
(or two)
Long Running
Human Task
17. WHAT WE DON’T DO
When we design a workflow?
Re-Design or Re-Invent
the Business Process
18. 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.
19. BPM Central tools
• Process designer and other editors;
• Rules modeler;
• Task client;
• Process Manager;
• Dashboard builder;
• Business asset manager.
20. 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
21. 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)
22. The KIE Factory
Project Project Project
GIT Source Repository
Building projects produce artifacts…
Artifacts are stored in the company
Maven repository
artifact
artifact
artifact
Maven Repository
23. The KIE Factory
Artifacts can be pulled by Runtime to
create KieBase(s)
artifact
artifact
artifact
artifact
artifact
artifact
Maven Repository
KIE Workbench - Business-central - JBoss EAP
24. The KIE Factory
Artifacts can be pulled by Runtime to
create KieBase(s)
artifact
artifact
artifact
artifact
artifact
artifact
Maven Repository
KIE Workbench - Business-central - JBoss EAP
Web Application - JEE Container - JBoss EAP
Standalone Java Application - JVM Container
OSGI Container - JBoss Fuse
25. Deployment scenario
The 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.
26. Deployment scenario - 2
The same deployment architecture can be enriched by
Maven Repository
KIE Workbench - Business-central - JBoss EAP
Processes Persistence
Web Application
REST
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.
27. Deployment scenario - 3
As well as the Business Central other custom Runtime
Engines can be created in a JEE container or as
standalone java applications
Custom Web App
Custom Execution Server
Maven Repository
Processes Persistence
JEE - EAP
Business-central
Execution Server
JEE - EAP
JSE
Standalone Application
28. Deployment scenario - 4
What about micro-services
and micro-containers and cloud-computing?
The OSGI Way
29. The OSGI Way
Mail Web SAP Messaging FTP
OSGI OSGI OSGI OSGI OSGI OSGI
Fabric
JBoss 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
30. The OSGI Way
Mail Web SAP Messaging FTP
OSGI OSGI OSGI OSGI OSGI OSGI
Fabric
JBoss 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
31. 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…
32. 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…
33. 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
34. 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.
36. red hat BPM Suite 6 languages
• BPMN 2.0
The 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.
37. The KIE API
• Authoring
• Building
• Testing
• Deploying
• Versioning
• Loading
• Running
• Interact
• Managing
• Monitoring
In the BPM arena we need:
KIE stands for
Knowledge Is Everything
38. 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.
39. KieSession
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.
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
40. KIE API
There are three type of API:
• classic core API
• remote API
• ReST API
41. 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)
42. This presentation is over
Andrea Leoncini
JBoss Senior Solution Architect @ Red Hat
THANK YOU for your attention!
andrea.leoncini@redhat.com
JBoss BPM SUITE 6
Tech Labs