240 likes | 555 Views
Workflow, BPM, Orchestration and Java. Tom Baeyens JBoss. BPEL is a clumsy way to support Business Process Management. Agenda. Workflow, BPM and orchestration Landscape Terminology BPM vs Orchestration Graph Oriented Programming The model
E N D
Workflow, BPM, Orchestration and Java Tom Baeyens JBoss
Agenda Workflow, BPM and orchestration • Landscape • Terminology • BPM vs Orchestration Graph Oriented Programming • The model • Foundation for workflow, BPM and orchestration • How developers benefit
Landscape Workflow BPM Fragmented Orchestration
Business Process A recurring procedure in an organisation • Starts with a goal • Steps to take to reach the goal • One time --> ad hoc process • Recurrence --> business process
Workflow Describing how people work together for business processes • Focus on coordination of human tasks • Sometimes IT systems are included
Business Process Management Making an organisation run more efficient by analysing and improving the business processes • Analysing business processes • Finding and removing inefficiencies • People and systems • Superset of workflow
Orchestration Composing new (web) services from other (web) services • Integration technology • Environment: • SOA / ESB • Mainly XML and WSDL based • Positioned as a technology for BPM
Motivation for BPM Systems Two features missing in OOP: • OOP cannot handle wait states • No support for persisting an execution • A BPMS supports software (processes) that spans wait states • No graphical representation • No common language • Requirements translated to SW design • A BPMS provides a technique to structure software around a process
Two Trends in BPM Landscape • Pure-Play BPM • Software productsfor workflow and BPM • No common foundation • Integration Broker Suites • Integration broker vendors • With orchestration software • Consensus and hype around BPEL • BPEL is no good basis for BPM
Required Features for BPM • Support for wait states • Graphical representation • Task management • Programming logic • Application integration
Java Apps The SOA Level (XML, WSDL & SOAP) Orchestration BPM Enterprise Service Bus (ESB) The Programming Level (Java, C#, ...) Legacy App JEE Application Server .NET App BPM
Graph Oriented Programming • A common model is needed • Currently there is none • Fragmentation • As the relational model for databases • Observations • Business Analysts describe their processes in a graph • Each tool is based on a directed graph • Graph Oriented Programming • Technique to support BPM requirements in an OO programming language
Node Transition leavingTransitions from * arrivingTransitions to * Graph Oriented Programming • Model a process as a graph
Troot Token Tshipping Tbilling parent Node children Graph Oriented Programming • Model an execution as a pointer
leavingTransitions Node Transition * +execute(Token) +leave(Token, Transition) +take(Token) to 1 Graph Oriented Programming • Node.execute • implements process constructs • can propagate or keep the token
Graph Oriented Programming Process instance
Graph Oriented Programming Workflow Integration Orchestration Graph Oriented Programming Java Technology
JBoss jBPM • Solid foundations • Graph Oriented Programming • Task Management • Clean Java integration • Timer service • Message service (in 3.1) • Easy • POJO (JSE) *and* Enterprise (JEE) • Any DB, Any appserver • Scalable • Standalone, Webapp or .ear
JBoss JEMS: Plug & Play Middleware JBoss AS Hibernate JBoss Portal JBoss jBPM JBoss IDE Apache Tomcat Professional Open Source + ----------------------------- JBoss JEMS
JBossWorld • JBoss World Barcelona • October 10-12 • Hilton Diagonal Mar Hotel • Barcelona, Spain
Q&A • Graph Oriented Programming http://jbpm.org/gop • JBoss jBPM http://jbpm.org • JBoss http://jboss.com