320 likes | 480 Views
Introducing jBPM. Ahmed M. Gamal , J2EE Developer @ iCraft Mohamed Maaty , Information Analyst @ hp. Agenda. The Challenge. Analyst –Developer communication. bla bla bla bla bla bla bla bla bla. Problem. Business Logic Scattered Everywhere. Continuous Requirement Changes.
E N D
Introducing jBPM • Ahmed M. Gamal, J2EE Developer @iCraft • Mohamed Maaty, Information Analyst @ hp
Agenda Java Developer Conference 2010
Analyst –Developer communication bla bla bla bla bla bla bla bla bla
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
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 • JBossjBPM 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
JPDL Elements • jPDL has a number of process constructs • start-state • task-node • Transition • Decision • Fork / Join • process-state • end-state
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 .