1 / 29

How Does BPM Relate to JBI, BPEL and Integration

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)

Download Presentation

How Does BPM Relate to JBI, BPEL and Integration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related