SlideShare a Scribd company logo
Eclipse BPEL Designer   SOA-based Business Integration with Eclipse
The presenters  Michael Illiger, IBM Corp. Active member of the BPEL Designer project. Software developer at the IBM Böblingen Research & Development Laboratory. Eclipse enthusiast Simon Moser, IBM Corp.  Co-lead of the BPEL Designer Project  Member of the WS-BPEL technical Committe at OASIS This presentation is based on his slides. on vacation…
Outline of the presentation Introduction WS-BPEL concepts and their realization in our tool Basic and Structured Activities BPEL Designer: Recent features and relations Demo: ODE Runtime integration WS-BPEL concepts and their realization in our tool Partner Links, Variables, Correlation, Fault Handling
Part 1: Introduction What is Business Process? 1   A business process is a set of coordinated tasks and activities that will lead to accomplishing a specific organizational goal. Tasks and activities can be represented as (web) services.  What is a (Web) Service? 1   Web services (sometimes called  application services ) are services (usually including some combination of programming and data, but possibly including human resources as well) that are made available from a business's  Web server  for web users or other web-connected programs.  1  – definitions taken from whatis.com
Introduction: Why WS – BPEL?  WSDL defined Web services have a stateless interaction model  Messages are exchanged using Synchronous invocation Uncorrelated asynchronous invocations Most “real-world” business processes require a more robust interaction model Messages exchanged in a two-way, peer-to-peer conversation lasting minutes, hours, days, etc. WS-BPEL provides the ability to express stateful, long-running interactions
Introduction: What is WS-BPEL  WS-BPEL describes in an SOA how your company performs its business processes With WS-BPEL, it is straightforward to let your business partners and customers directly participate in your business processes With WS-BPEL, it is straightforward to tie in web services as activities of your business processes
Part 2: BPEL Concepts and Realisation process invoke receive receive invoke invoke Handlers fault handler event handler fault handler compensation handler termination handler event handler Partner Links Partner Link Type Port Type 1 Port Type 2 partner link partner link Variables 42 WSDL Message XML Schema Type XML Schema Element Properties Correlation Sets Property 1 Property 2 Structured Activities if-else while scope pick sequence flow repeatUntil forEach Basic Activities receive reply invoke throw exit wait empty compensate validate assign rethrow extensionActivity compensateScope
BPEL Concept: Basic Activities process New Tutorial! receive reply invoke Invoke a one-way or  request-response operation Do a blocking wait for a  matching message to arrive / send a message in reply validate assign Update the values of variables or partner links with new data Validate XML data stored in variables throw rethrow Generate a fault from inside the business process  Forward a fault from inside a fault handler exit Immediately terminate execution of a business process instance compensate compensateScope Invoke compensation on all completed child scopes in default order Invoke compensation on one completed child scope wait Wait for a given time period or until a certain time has passed  empty No-op instruction for a business process extensionActivity Wrapper for language extensions
BPEL Concept: Structured Activities process … … flow Contained activities are executed in parallel, partially ordered through control links sequence Contained activities are performed sequentially in lexical order while Contained activity is repeated while a predicate holds repeatUntil Contained activity is repeated until a predicate holds pick Block and wait for a suitable message to arrive (or time out) forEach Contained activity is performed sequentially or in parallel, controlled by a specified counter variable if-elseif-else Select exactly one branch of activity from a set of choices scope Associate contained activity with its own local variables, partner links, etc.,  and handlers 2. N. 1. … B C A c c c1 c2 2. N. 1. … A M2 M1
…  and Realisation: Activities This is just a dummy slide – I will show a demo here …
Part 3: BPEL Designer relations  We are based on Eclipse frameworks and technologies like EMF, GEF, SWT We use stuff from other Eclipse projects …  WTP (for all the WSDL related stuff, e.g. creating a WSDL) DTP (for all the XSD related stuff, e.g. creating an XSD for a variable) …  We also use stuff from / make use of other open source projects ..  e.g. Apache ODE
Part 3: Standard Compliance Support of BPELWS 1.1 (in version 0.1) Support of BPEL 2.0 … …  all standard activities are supported  No full support of extensibility mechanisms yet  No support of abstract BPEL
Part 3: Useful recent features synchronized editable source view Palette dockable / hideable / in a view WSIL browser for discovering available web services Export as image  Switch diagram orientation Apache ™  ODE runtime integration plugins New Tutorial!
Part 4: Demo – Runtime integration Of course we could have used any of our companies runtime environments to show a demo …  …  but in order to stay true to the open source idea …  …  we used an open source BPEL engine called Apache ODE as reference runtime and wrote some integration code …
Part 4: Demo of „Model – Deploy - Run“  Create a new „Hello World“ BPEL project Model a business process Create a new ODE server (see next slide) Add the project to the server (see 2nd next slide) Start the server (triggers the deploy)  Make sure the process is deployed (in ODE‘s admin console) Run the process (eg. using SOAP UI to send messages) This is just a dummy slide – I will show a demo here …
Demo: reference runtime integration (Apache ODE) This is just a dummy slide – I will show a demo here …
Demo: Add BPEL projects to Apache ODE server and deploy This is just a dummy slide – I will show a demo here …
For more information … Project hub: http://www.eclipse.org/bpel Dev mailing list:  [email_address]
Any Questions?
Backup
BPEL Concept: Partner Links process partner link partner link type Peer-to-peer conversational partner relationship WSDL port type myRole Provided port type WSDL port type partnerRole Required port type receive Inbound request – service provided by the process invoke Outbound request – service required by the process
BPEL Concept: Variables process xsl:transform assign receive request response invoke request reply response 42 WSDL message WSDL message WSDL messages Variables defined using WSDL messages 42 XML schemas XML Schema elements / types Variables defined using XML schema elements or types
and Realisation: Partner Links, Variables This is just a dummy slide – I will show a demo here …
BPEL Concept: Variable Properties process XML schema element WSDL message part part part ... property property alias Typed properties are  mapped (aliased) to  parts of WSDL messages  or XML schema elements property property alias A property creates a  name that has  semantic significance beyond an XML schema type getVariableProperty( variable, property ) Properties  isolate the process logic from the details of a  variable definition  
BPEL Concept: Properties and  Correlation Sets How to identify stateful instances via stateless WS interfaces? A process instance is assigned one or more keys Business data is used as key, e.g., customerID A key can be compound, e.g., (customerID, orderNumber) WS-BPEL calls a key a correlation set – it is used to correlate an incoming message with a process instance Process 4 (0123,15) Process 3 (0815,42) Process 2 (4711,37) Process 1 (0815,12) 0815 42 Message 2 customerID orderNumber 4711 37 Message 1
BPEL Concept: Properties and  CorrelationSets process How to identify stateful instances via stateless Web service interfaces? initiate process instance 3 correlation set customerId orderNumber process instance 1 process instance 2 process instance 4 receive Submit purchase order Messages in long-running conversations are correlated to the correct process instance locate purchaseOrder cId = 0815 orderNo = 42 receive Query order status queryOrderStatus custId = 0815 oNo = 42 customerId orderNumber 4 (0815, 49) 3 (0815, 42) 2 (0707, 11) 1 (0311, 33) process instance 3
…  and Realisation: Correlation This is just a dummy slide – I will show a demo here …
BPEL Concept: Fault,  Compensation Handling 1. Do some work (successfully invoke two services) 2. Invoke another service (throws fault) 6. Undo work (in reverse order) process scope invoke invoke invoke fault handler compensate compensation handler compensate compensation handler compensation handler invoke invoke 3. The fault triggers the process-level fault handler 4. Compensate previous work 5. Propagate compensation
…  and Realisation: Add a handler …  This is just a dummy slide – I will show a demo here …
Legal Notices Copyright © IBM Corp., 2008. All rights reserved.  Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. IBM and the IBM logo are trademarks or registered trademarks of IBM Corporation, in the United States, other countries or both. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation, in the United States, other countries or both. BEA and the BEA Logo are trademarks or registered trademarks of BEA Systems, Inc in the United States and other countries. Oracle and the Oracle Logo are trademarks or registered trademarks of Oracle Corporation in the United States and other countries. Apache and the Apache Logo are trademarks or registered trademarks of Apache Software Foundation in the United States and other countries. Java and all Java-based marks, among others, are trademarks or registered trademarks of Sun Microsystems in the United States, other countries or both. Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc. Other company, product and service names may be trademarks or service marks of others.  THE INFORMATION DISCUSSED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.  WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION, IT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AND IBM AND INTEL SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, SUCH INFORMATION.  ANY INFORMATION CONCERNING IBM'S OR INTEL’S PRODUCT PLANS OR STRATEGY IS SUBJECT TO CHANGE BY IBM OR INTEL WITHOUT NOTICE.

More Related Content

PDF
EMC Documentum xCP 2.x Tips for application migration v1.1
Haytham Ghandour
 
PDF
Edition of an enterprise software in PHP, feedback
Nicolas Dupont
 
PDF
Code Refactoring
kim.mens
 
PDF
Badi
raj bp
 
PPT
Visual Basic 6.0
Palitha Baddegama
 
PDF
Working Effectively With Legacy Perl Code
erikmsp
 
PPT
Spring AOP
AnushaNaidu
 
ODP
Refactoring Techniques
Mayada Ghanem
 
EMC Documentum xCP 2.x Tips for application migration v1.1
Haytham Ghandour
 
Edition of an enterprise software in PHP, feedback
Nicolas Dupont
 
Code Refactoring
kim.mens
 
Badi
raj bp
 
Visual Basic 6.0
Palitha Baddegama
 
Working Effectively With Legacy Perl Code
erikmsp
 
Spring AOP
AnushaNaidu
 
Refactoring Techniques
Mayada Ghanem
 

What's hot (18)

PDF
Refactoring 101
Adam Culp
 
PDF
Refactoring PHP
Adam Culp
 
PDF
iPhone Developer Summit West
jasonc411
 
PDF
Dependency injection
Eugenio Lentini
 
PDF
Part 1 implementing a simple_web_service
krishmdkk
 
PDF
jBPM5 Community Training Module #5: Domain Specific Processes
Mauricio (Salaboy) Salatino
 
PDF
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
Mauricio (Salaboy) Salatino
 
PDF
Spring AOP
SHAKIL AKHTAR
 
PPTX
Component interface
JAYAARC
 
PDF
jBPM Community Training #2: The BPM Practice
Mauricio (Salaboy) Salatino
 
PDF
9 crucial Java Design Principles you cannot miss
Mark Papis
 
PPTX
C:\Fakepath\Combating Software Entropy 2
Hammad Rajjoub
 
PDF
Modern JavaScript Applications: Design Patterns
Volodymyr Voytyshyn
 
PDF
Java j2ee interview_questions
ppratik86
 
PPTX
J developer 11g components ppt
TUSHAR VARSHNEY
 
PPTX
Technical Interview
prashant patel
 
PPTX
Spring andspringboot training
Mallikarjuna G D
 
Refactoring 101
Adam Culp
 
Refactoring PHP
Adam Culp
 
iPhone Developer Summit West
jasonc411
 
Dependency injection
Eugenio Lentini
 
Part 1 implementing a simple_web_service
krishmdkk
 
jBPM5 Community Training Module #5: Domain Specific Processes
Mauricio (Salaboy) Salatino
 
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
Mauricio (Salaboy) Salatino
 
Spring AOP
SHAKIL AKHTAR
 
Component interface
JAYAARC
 
jBPM Community Training #2: The BPM Practice
Mauricio (Salaboy) Salatino
 
9 crucial Java Design Principles you cannot miss
Mark Papis
 
C:\Fakepath\Combating Software Entropy 2
Hammad Rajjoub
 
Modern JavaScript Applications: Design Patterns
Volodymyr Voytyshyn
 
Java j2ee interview_questions
ppratik86
 
J developer 11g components ppt
TUSHAR VARSHNEY
 
Technical Interview
prashant patel
 
Spring andspringboot training
Mallikarjuna G D
 
Ad

Similar to Eclipse BPEL Designer (20)

PDF
Introduction and Advanced Concepts of BPEL
Denis Weerasiri
 
PDF
Service Oriented Architecture [3/5] : Business Process Management using BPEL
IMC Institute
 
PDF
Business Process Management using BPEL
Thanachart Numnonda
 
PPT
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Tammo van Lessen
 
PPTX
BPEL, BPEL vs ESB (Integration)
ejlp12
 
PPTX
Introduction to business process execution language
Patel Saunak
 
PPT
SOA-based Business Integration with Eclipse BPEL and Apache ODE
Tammo van Lessen
 
PPT
Soa bpel-123
Priyanka Bansal
 
PPTX
Introduction to business process execution language
suranisaunak
 
PPT
Oracle
guest1e1d16
 
PPT
Soa & Bpel
lakshmi isukapally
 
PPT
Soa & Bpel
lakshmi isukapally
 
PDF
Bpel activities to upload club oracle
xavier john
 
PDF
Bpel activities to upload club oracle
XAVIERCONSULTANTS
 
PDF
Bpel activities to upload club oracle
prathap kumar
 
PDF
Apache O D E Apache Con E U2008
elliando dias
 
PDF
Oracle BPA Suite to BPEL: A case study
Lonneke Dikmans
 
PPT
Business Process Execution Language
招政 蔣
 
PDF
BPELscript
Oliver Kopp
 
PDF
ISI Institute E-Services TP 3
Abdessattar Ettaieb
 
Introduction and Advanced Concepts of BPEL
Denis Weerasiri
 
Service Oriented Architecture [3/5] : Business Process Management using BPEL
IMC Institute
 
Business Process Management using BPEL
Thanachart Numnonda
 
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Tammo van Lessen
 
BPEL, BPEL vs ESB (Integration)
ejlp12
 
Introduction to business process execution language
Patel Saunak
 
SOA-based Business Integration with Eclipse BPEL and Apache ODE
Tammo van Lessen
 
Soa bpel-123
Priyanka Bansal
 
Introduction to business process execution language
suranisaunak
 
Oracle
guest1e1d16
 
Soa & Bpel
lakshmi isukapally
 
Soa & Bpel
lakshmi isukapally
 
Bpel activities to upload club oracle
xavier john
 
Bpel activities to upload club oracle
XAVIERCONSULTANTS
 
Bpel activities to upload club oracle
prathap kumar
 
Apache O D E Apache Con E U2008
elliando dias
 
Oracle BPA Suite to BPEL: A case study
Lonneke Dikmans
 
Business Process Execution Language
招政 蔣
 
BPELscript
Oliver Kopp
 
ISI Institute E-Services TP 3
Abdessattar Ettaieb
 
Ad

Recently uploaded (20)

PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Software Development Methodologies in 2025
KodekX
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 

Eclipse BPEL Designer

  • 1. Eclipse BPEL Designer SOA-based Business Integration with Eclipse
  • 2. The presenters Michael Illiger, IBM Corp. Active member of the BPEL Designer project. Software developer at the IBM Böblingen Research & Development Laboratory. Eclipse enthusiast Simon Moser, IBM Corp. Co-lead of the BPEL Designer Project Member of the WS-BPEL technical Committe at OASIS This presentation is based on his slides. on vacation…
  • 3. Outline of the presentation Introduction WS-BPEL concepts and their realization in our tool Basic and Structured Activities BPEL Designer: Recent features and relations Demo: ODE Runtime integration WS-BPEL concepts and their realization in our tool Partner Links, Variables, Correlation, Fault Handling
  • 4. Part 1: Introduction What is Business Process? 1 A business process is a set of coordinated tasks and activities that will lead to accomplishing a specific organizational goal. Tasks and activities can be represented as (web) services. What is a (Web) Service? 1 Web services (sometimes called application services ) are services (usually including some combination of programming and data, but possibly including human resources as well) that are made available from a business's Web server for web users or other web-connected programs. 1 – definitions taken from whatis.com
  • 5. Introduction: Why WS – BPEL? WSDL defined Web services have a stateless interaction model Messages are exchanged using Synchronous invocation Uncorrelated asynchronous invocations Most “real-world” business processes require a more robust interaction model Messages exchanged in a two-way, peer-to-peer conversation lasting minutes, hours, days, etc. WS-BPEL provides the ability to express stateful, long-running interactions
  • 6. Introduction: What is WS-BPEL WS-BPEL describes in an SOA how your company performs its business processes With WS-BPEL, it is straightforward to let your business partners and customers directly participate in your business processes With WS-BPEL, it is straightforward to tie in web services as activities of your business processes
  • 7. Part 2: BPEL Concepts and Realisation process invoke receive receive invoke invoke Handlers fault handler event handler fault handler compensation handler termination handler event handler Partner Links Partner Link Type Port Type 1 Port Type 2 partner link partner link Variables 42 WSDL Message XML Schema Type XML Schema Element Properties Correlation Sets Property 1 Property 2 Structured Activities if-else while scope pick sequence flow repeatUntil forEach Basic Activities receive reply invoke throw exit wait empty compensate validate assign rethrow extensionActivity compensateScope
  • 8. BPEL Concept: Basic Activities process New Tutorial! receive reply invoke Invoke a one-way or request-response operation Do a blocking wait for a matching message to arrive / send a message in reply validate assign Update the values of variables or partner links with new data Validate XML data stored in variables throw rethrow Generate a fault from inside the business process Forward a fault from inside a fault handler exit Immediately terminate execution of a business process instance compensate compensateScope Invoke compensation on all completed child scopes in default order Invoke compensation on one completed child scope wait Wait for a given time period or until a certain time has passed empty No-op instruction for a business process extensionActivity Wrapper for language extensions
  • 9. BPEL Concept: Structured Activities process … … flow Contained activities are executed in parallel, partially ordered through control links sequence Contained activities are performed sequentially in lexical order while Contained activity is repeated while a predicate holds repeatUntil Contained activity is repeated until a predicate holds pick Block and wait for a suitable message to arrive (or time out) forEach Contained activity is performed sequentially or in parallel, controlled by a specified counter variable if-elseif-else Select exactly one branch of activity from a set of choices scope Associate contained activity with its own local variables, partner links, etc., and handlers 2. N. 1. … B C A c c c1 c2 2. N. 1. … A M2 M1
  • 10. … and Realisation: Activities This is just a dummy slide – I will show a demo here …
  • 11. Part 3: BPEL Designer relations We are based on Eclipse frameworks and technologies like EMF, GEF, SWT We use stuff from other Eclipse projects … WTP (for all the WSDL related stuff, e.g. creating a WSDL) DTP (for all the XSD related stuff, e.g. creating an XSD for a variable) … We also use stuff from / make use of other open source projects .. e.g. Apache ODE
  • 12. Part 3: Standard Compliance Support of BPELWS 1.1 (in version 0.1) Support of BPEL 2.0 … … all standard activities are supported No full support of extensibility mechanisms yet No support of abstract BPEL
  • 13. Part 3: Useful recent features synchronized editable source view Palette dockable / hideable / in a view WSIL browser for discovering available web services Export as image Switch diagram orientation Apache ™ ODE runtime integration plugins New Tutorial!
  • 14. Part 4: Demo – Runtime integration Of course we could have used any of our companies runtime environments to show a demo … … but in order to stay true to the open source idea … … we used an open source BPEL engine called Apache ODE as reference runtime and wrote some integration code …
  • 15. Part 4: Demo of „Model – Deploy - Run“ Create a new „Hello World“ BPEL project Model a business process Create a new ODE server (see next slide) Add the project to the server (see 2nd next slide) Start the server (triggers the deploy) Make sure the process is deployed (in ODE‘s admin console) Run the process (eg. using SOAP UI to send messages) This is just a dummy slide – I will show a demo here …
  • 16. Demo: reference runtime integration (Apache ODE) This is just a dummy slide – I will show a demo here …
  • 17. Demo: Add BPEL projects to Apache ODE server and deploy This is just a dummy slide – I will show a demo here …
  • 18. For more information … Project hub: http://www.eclipse.org/bpel Dev mailing list: [email_address]
  • 21. BPEL Concept: Partner Links process partner link partner link type Peer-to-peer conversational partner relationship WSDL port type myRole Provided port type WSDL port type partnerRole Required port type receive Inbound request – service provided by the process invoke Outbound request – service required by the process
  • 22. BPEL Concept: Variables process xsl:transform assign receive request response invoke request reply response 42 WSDL message WSDL message WSDL messages Variables defined using WSDL messages 42 XML schemas XML Schema elements / types Variables defined using XML schema elements or types
  • 23. and Realisation: Partner Links, Variables This is just a dummy slide – I will show a demo here …
  • 24. BPEL Concept: Variable Properties process XML schema element WSDL message part part part ... property property alias Typed properties are mapped (aliased) to parts of WSDL messages or XML schema elements property property alias A property creates a name that has semantic significance beyond an XML schema type getVariableProperty( variable, property ) Properties isolate the process logic from the details of a variable definition 
  • 25. BPEL Concept: Properties and Correlation Sets How to identify stateful instances via stateless WS interfaces? A process instance is assigned one or more keys Business data is used as key, e.g., customerID A key can be compound, e.g., (customerID, orderNumber) WS-BPEL calls a key a correlation set – it is used to correlate an incoming message with a process instance Process 4 (0123,15) Process 3 (0815,42) Process 2 (4711,37) Process 1 (0815,12) 0815 42 Message 2 customerID orderNumber 4711 37 Message 1
  • 26. BPEL Concept: Properties and CorrelationSets process How to identify stateful instances via stateless Web service interfaces? initiate process instance 3 correlation set customerId orderNumber process instance 1 process instance 2 process instance 4 receive Submit purchase order Messages in long-running conversations are correlated to the correct process instance locate purchaseOrder cId = 0815 orderNo = 42 receive Query order status queryOrderStatus custId = 0815 oNo = 42 customerId orderNumber 4 (0815, 49) 3 (0815, 42) 2 (0707, 11) 1 (0311, 33) process instance 3
  • 27. … and Realisation: Correlation This is just a dummy slide – I will show a demo here …
  • 28. BPEL Concept: Fault, Compensation Handling 1. Do some work (successfully invoke two services) 2. Invoke another service (throws fault) 6. Undo work (in reverse order) process scope invoke invoke invoke fault handler compensate compensation handler compensate compensation handler compensation handler invoke invoke 3. The fault triggers the process-level fault handler 4. Compensate previous work 5. Propagate compensation
  • 29. … and Realisation: Add a handler … This is just a dummy slide – I will show a demo here …
  • 30. Legal Notices Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. IBM and the IBM logo are trademarks or registered trademarks of IBM Corporation, in the United States, other countries or both. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation, in the United States, other countries or both. BEA and the BEA Logo are trademarks or registered trademarks of BEA Systems, Inc in the United States and other countries. Oracle and the Oracle Logo are trademarks or registered trademarks of Oracle Corporation in the United States and other countries. Apache and the Apache Logo are trademarks or registered trademarks of Apache Software Foundation in the United States and other countries. Java and all Java-based marks, among others, are trademarks or registered trademarks of Sun Microsystems in the United States, other countries or both. Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc. Other company, product and service names may be trademarks or service marks of others. THE INFORMATION DISCUSSED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION, IT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AND IBM AND INTEL SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, SUCH INFORMATION. ANY INFORMATION CONCERNING IBM'S OR INTEL’S PRODUCT PLANS OR STRATEGY IS SUBJECT TO CHANGE BY IBM OR INTEL WITHOUT NOTICE.