introducing jbpm

Upload: rose-hugo

Post on 19-Jul-2015

98 views

Category:

Documents


0 download

TRANSCRIPT

INTRODUCING JBPMAhmed 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 ManagementDomain 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 DefinitionBusiness 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 FeaturesCommon 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 FunctionsWorkflow 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 ):ExampleExample 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.

jBPMOverview jBPM jBPM Architecture Keyword . jPDL Process Deployment Process Execution

OverviewJBoss 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.

KeywordsAPI

jPDLjPDL stands for : JBoss Process Definition language Domain specific language based on XML

Process Modeling .Cont

Process Modeling .Cont

Process Modeling .Cont

Tasks

JPDL ElementsjPDL has a number of process

constructsstart-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

DemoEnvironment Setup (runtime, IDE, examples ) Design simple process. Deployment. Web console. API Advanced jBPM features .