How Does BPM Relate to JBI, BPEL and Integration
Post on 30-Dec-2015
22 Views
Preview:
DESCRIPTION
Transcript
© JBoss Inc. 2005
Tom BaeyensJBoss jBPM
How Does BPM Relate to JBI, BPEL and Integration
2
BPEL is a clumsy way
to support Business Process
Management
3
Agenda
IntegrationExample SOA, ESB, JBI and WS-BPEL
Business Process ManagementGoalsProcess LanguagesPure-Play BPM
Conclusions
4
Application Integration
• Trend # enterprise apps # integrations Maintenance nightmare
n * (n-1)2
5
Enterprise Service Bus
• Based on async messaging• One service interface (e.g. WSDL)• Extra (mgmt, secutity, routing, ...)
Enterprise Service Bus
6
Note on Loosely Coupled
• ‘Loosely coupled’ Loose, looser, loosest ? Tradeoff
• Tighter Refactoring Performance Easy development Easy deployment
• Looser Less chance of cascading updates
7
Dependency Types
• Remoteness Invocation in a thread in one JVM Inter Process Communication (IPC)
• Data format XML Java objects ...
• Synchronicity Availability Scaling
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);
}
9
Example Deployment
QuotesServerOurApp <quote>
<item>nappy</item>
</quote>
<quote-response>
<item>nappy</item>
<price>$7</price>
</quote-response>
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();
}
}
11
Path of Execution
QuotesServerOurApp Tx
Tx
Tx
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);
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
14
Java Business Integration
• Environment for Java components With WSDL interface
• App developer deploys to engines
Normalized Message Router
BPELengine
XSLTengine
...engine
15
Integration Broker Suites
• Type of product• ESB+
Orchestration engine Other extra services
• Consensus around BPEL
© JBoss Inc. 2005
Business Process Management
A different branch in the line of software evolution
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
18
Workflow
Describing how people work together for business processes
• Focus on coordination of human tasks• Sometimes IT systems are included
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
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
21
BPM System Challenges
• Support for long running processes Integration with systems Human tasks
• Graphical representation Common language
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
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
24
Required Features for BPM
• Support for long running processes• Graphical representation• Task management• Programming logic• Application integration
© JBoss Inc. 2005
Conclusions
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
27
The Programming Level (Java, C#, ...)
JEE Application Server
LegacyApp
.NETApp
The SOA Level (XML, WSDL & SOAP)
Enterprise Service Bus (ESB)
JavaApps BPM
BPMOrchestration
28
Comparing Process Languages
jPDL BPEL
Wait states
Graphical
Task mgmt
Programminglogic
Integration of applications
29
Q&A
• JBoss jBPM http://jbpm.org• JBoss http://jboss.com • JBI http://jcp.org JSR 208• Enterprise Integration Patterns
Gregor HopheBobby Woolf
top related