INTRODUCING JBPM
Ahmed M. Gamal, J2EE Developer @iCraft Mohamed Maaty , Information Analyst @ hp
Agenda
Java Developer Conference 2010
Agenda
The Challenge
Business Process Management
JBOSS JBPM Overview
Overview
What is it ? What does it do ? Why should I care ? Typical Components
Collaboration Business Process language
Process Language Process Modeling JPDL Elements
Java Developer Conference 2010
The Challenge
Analyst Developer communication
bla bla bla bla bla bla bla bla bla
Problem
Business Logic Scattered Everywhere
Continuous Requirement Changes
Problem Dimensions
Business Process Management
Domain Specific languages . BPM Definition. BPMN 2.0. Service Orchestration (PBEL).
.Domain Specific languages
domain-specific language(DSL) is aprogramming languageor
specification languagededicated to a particular problem domain,
BPM Definition
Business process:
A procedure that describes how people and systems work
together
Business Process Management (BPM):
Optimizing efficiency by automating ,analyzing,
describing and improving business processes
Traditional BPM approach
Collaboration Common Language
BPM Key Features
Common Communication language. Graphically visualized process. Separation of concerns. Ease of Development and deploy. Ease of change and reuse Reduced development time/Time to Market.
Key Functions
Workflow delivers the following
functionality
Automation of processes Routing and scheduling of activities Process visibility Process control through escalations and notifications Tracking of activities Collaboration of all parties involved Convergence of process and information Redesign of business processes
BPMN 2.0 (business-oriented notation)
Business Process Modeling Notation(BPMN) is a
graphical representationfor specifyingbusiness processesin a business process model. The objective of BPMN is to support business process management for both technical users and business users .
Service Orchestration (BPEL)
Business Process Execution Language(BPEL) is a XML-
based language used to define enterprise business processes within Web services. Service orchestration is to be seen in the context of an Enterprise Service Bus. An enterprise service bus is a central communication backbone on a corporate level. It integrates many diverse systems and it is based on XML technology.
Service Orchestration (BPEL ):Example
Example Suppose you have services A, B and C on your enterprise service bus. Service orchestration is a graph based execution language for writing a new services as a function of existing services. E.g. A new service D can be written as a function of existing services A, B and C in an orchestration script.
jBPM
Overview jBPM jBPM Architecture Keyword . jPDL Process Deployment Process Execution
Overview
JBoss jBPM is a workflow, process
automation, that enables coordination between disparate applications and services, resulting in the deployment of new revenue generating business processes
Architecture
JBoss Enterprise Framework that delivers workflow, business
process management (BPM) and service orchestration in a multi-process language platform and in a scalable and flexible product footprint.
Keywords
API
jPDL
jPDL stands for : JBoss Process Definition language Domain specific language based on XML
Process Modeling .Cont
Process Modeling .Cont
Process Modeling .Cont
Tasks
JPDL Elements
jPDL has a number of process
constructs
start-state task-node Transition Decision Fork / Join process-state end-state
Process Deployment
Process Execution .Cont
Persistence
Process and execution can be persisted Without persistence, the execution state of a process could
not be stored and later retrieved.
Standard
Let Hibernate manage the connection or... Provide your connection to jBPM Combine your DB updates with jBPM In one transaction on the JDBC connection
Enterprise
Configure hibernate to participate in JTA transaction
Demo
Environment Setup (runtime, IDE, examples ) Design simple process. Deployment. Web console. API Advanced jBPM features .