Introducing JBPM

advertisement
INTRODUCING JBPM
•Ahmed M. Gamal, J2EE Developer
@iCraft
•Mohamed Maaty , Information
Analyst @ hp
Agenda
Challenge
Business Process
Management
jBPM
Demo
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 a programming language or specification
language dedicated 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 representation for
specifying business processes in 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 .
Download