how does bpm relate to jbi bpel and integration n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
How Does BPM Relate to JBI, BPEL and Integration PowerPoint Presentation
Download Presentation
How Does BPM Relate to JBI, BPEL and Integration

play fullscreen
1 / 29

How Does BPM Relate to JBI, BPEL and Integration

127 Views Download Presentation
Download Presentation

How Does BPM Relate to JBI, BPEL and Integration

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. How Does BPM Relate to JBI, BPEL and Integration Tom Baeyens JBoss jBPM

  2. BPEL is a clumsy way to support Business Process Management

  3. Agenda Integration Example SOA, ESB, JBI and WS-BPEL Business Process Management Goals Process Languages Pure-Play BPM Conclusions

  4. n * (n-1) 2 Application Integration • Trend • # enterprise apps • # integrations • Maintenance nightmare

  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 <quote> <item>nappy</item> </quote> OurApp QuotesServer <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. Tx Tx Tx Path of Execution OurApp QuotesServer

  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 BPEL engine XSLT engine ... engine

  15. Integration Broker Suites • Type of product • ESB+ • Orchestration engine • Other extra services • Consensus around BPEL

  16. Business Process Management A different branch in the line of software evolution

  17. 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

  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

  25. 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. 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

  28. Comparing Process Languages

  29. Q&A • JBoss jBPM http://jbpm.org • JBoss http://jboss.com • JBI http://jcp.org JSR 208 • Enterprise Integration Patterns Gregor Hophe Bobby Woolf