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 .