how does bpm relate to jbi, bpel and integration

29
© JBoss Inc. 2005 Tom Baeyens JBoss jBPM How Does BPM Relate to JBI, BPEL and Integration

Upload: jesse-lawson

Post on 30-Dec-2015

26 views

Category:

Documents


1 download

DESCRIPTION

How Does BPM Relate to JBI, BPEL and Integration. Tom Baeyens JBoss jBPM. BPEL is a clumsy way to support Business Process Management. Agenda. Integration Example SOA, ESB, JBI and WS-BPEL Business Process Management Goals Process Languages Pure-Play BPM Conclusions. n * (n-1) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: How Does BPM  Relate to JBI, BPEL  and Integration

© JBoss Inc. 2005

Tom BaeyensJBoss jBPM

How Does BPM Relate to JBI, BPEL and Integration

Page 2: How Does BPM  Relate to JBI, BPEL  and Integration

2

BPEL is a clumsy way

to support Business Process

Management

Page 3: How Does BPM  Relate to JBI, BPEL  and Integration

3

Agenda

IntegrationExample SOA, ESB, JBI and WS-BPEL

Business Process ManagementGoalsProcess LanguagesPure-Play BPM

Conclusions

Page 4: How Does BPM  Relate to JBI, BPEL  and Integration

4

Application Integration

• Trend # enterprise apps # integrations Maintenance nightmare

n * (n-1)2

Page 5: How Does BPM  Relate to JBI, BPEL  and Integration

5

Enterprise Service Bus

• Based on async messaging• One service interface (e.g. WSDL)• Extra (mgmt, secutity, routing, ...)

Enterprise Service Bus

Page 6: How Does BPM  Relate to JBI, BPEL  and Integration

6

Note on Loosely Coupled

• ‘Loosely coupled’ Loose, looser, loosest ? Tradeoff

• Tighter Refactoring Performance Easy development Easy deployment

• Looser Less chance of cascading updates

Page 7: How Does BPM  Relate to JBI, BPEL  and Integration

7

Dependency Types

• Remoteness Invocation in a thread in one JVM Inter Process Communication (IPC)

• Data format XML Java objects ...

• Synchronicity Availability Scaling

Page 8: How Does BPM  Relate to JBI, BPEL  and Integration

8

EAI Example

QuoteService qs = (QuoteService) esb.findService(“quotes”);

Quote q = qs.getQuote(Products.NAPPY);

order(q.getVendor(), q.getProduct(), 3);

public interface QuoteService {

Quote getQuote(Product p);

}

Page 9: How Does BPM  Relate to JBI, BPEL  and Integration

9

Example Deployment

QuotesServerOurApp <quote>

<item>nappy</item>

</quote>

<quote-response>

<item>nappy</item>

<price>$7</price>

</quote-response>

Page 10: How Does BPM  Relate to JBI, BPEL  and Integration

10

Example Stub Implementation

public class QuoteServiceStub

implements QuoteService {

public Price getQuote(Product p) {

Message quoteMsg = createQuoteMsg(p);

sendMsg(quoteMsg);

Message priceMsg = receiveMsg();

return priceMsg.getPrice();

}

}

Page 11: How Does BPM  Relate to JBI, BPEL  and Integration

11

Path of Execution

QuotesServerOurApp Tx

Tx

Tx

Page 12: How Does BPM  Relate to JBI, BPEL  and Integration

12

Stubs Inappropriate for Async

QuoteService qs = (QuoteService) Services.findService(“quotes”);

Quote q = qs.getQuote(Products.NAPPY);

order(q.getVendor(), q.getProduct(), 3);

sendQuoteRequest(Products.NAPPY);

handleQuotesResponse(msg);

Page 13: How Does BPM  Relate to JBI, BPEL  and Integration

13

WS-BPEL

• XML Scripting Language• Express a new service

as a function of other services• Resolves

One piece of software Persist execution

• WSDL based interfaces• XML based data

Page 14: How Does BPM  Relate to JBI, BPEL  and Integration

14

Java Business Integration

• Environment for Java components With WSDL interface

• App developer deploys to engines

Normalized Message Router

BPELengine

XSLTengine

...engine

Page 15: How Does BPM  Relate to JBI, BPEL  and Integration

15

Integration Broker Suites

• Type of product• ESB+

Orchestration engine Other extra services

• Consensus around BPEL

Page 16: How Does BPM  Relate to JBI, BPEL  and Integration

© JBoss Inc. 2005

Business Process Management

A different branch in the line of software evolution

Page 17: How Does BPM  Relate to JBI, BPEL  and Integration

17

Business Process

A recurring procedurein an organisation

• Starts with a goal• Steps to take to reach the goal• One time --> ad hoc process• Recurrence --> business process

Page 18: How Does BPM  Relate to JBI, BPEL  and Integration

18

Workflow

Describing how people work together for business processes

• Focus on coordination of human tasks• Sometimes IT systems are included

Page 19: How Does BPM  Relate to JBI, BPEL  and Integration

19

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

Page 20: How Does BPM  Relate to JBI, BPEL  and Integration

20

BPM System Goals

• Improve communication Business analyst Developer

• People and systems Express how they work together

• Structure software around business Reduce translation to software design Create agile business

• Learn by probing

Page 21: How Does BPM  Relate to JBI, BPEL  and Integration

21

BPM System Challenges

• Support for long running processes Integration with systems Human tasks

• Graphical representation Common language

Page 22: How Does BPM  Relate to JBI, BPEL  and Integration

22

Pure-Play BPM

• Software productsfor workflow and BPM

• Process language for expressing business processes

• Runtime engine to support long running processes

• No consensus about foundation

Page 23: How Does BPM  Relate to JBI, BPEL  and Integration

23

JBoss jBPM

• Example of Pure-Play BPM• 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

Page 24: How Does BPM  Relate to JBI, BPEL  and Integration

24

Required Features for BPM

• Support for long running processes• Graphical representation• Task management• Programming logic• Application integration

Page 25: How Does BPM  Relate to JBI, BPEL  and Integration

© JBoss Inc. 2005

Conclusions

Page 26: How Does BPM  Relate to JBI, BPEL  and Integration

26

Conclusions

• Product types Pure-Play BPM Integration Broker Suites

• 2 different lines of evolution• Solved the same problems

Long running processes Graphical representation

• Difference is the interface and data jPDL: Java and java objects BPEL: WSDL and XML

Page 27: How Does BPM  Relate to JBI, BPEL  and Integration

27

The Programming Level (Java, C#, ...)

JEE Application Server

LegacyApp

.NETApp

The SOA Level (XML, WSDL & SOAP)

Enterprise Service Bus (ESB)

JavaApps BPM

BPMOrchestration

Page 28: How Does BPM  Relate to JBI, BPEL  and Integration

28

Comparing Process Languages

jPDL BPEL

Wait states

Graphical

Task mgmt

Programminglogic

Integration of applications

Page 29: How Does BPM  Relate to JBI, BPEL  and Integration

29

Q&A

• JBoss jBPM http://jbpm.org• JBoss http://jboss.com • JBI http://jcp.org JSR 208• Enterprise Integration Patterns

Gregor HopheBobby Woolf