Post on 15-Jul-2015
JBoss BPM SUITE 6Tech Labs
Andrea LeonciniJBoss Senior Solution Architect @ Red Hat
andrea.leoncini@redhat.com
Milano 23 Ottobre - Roma 27 Novembre
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…
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.
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.
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
andrea.leoncini@redhat.com
JBoss BPM SUITE 6Tech Labs