Modified: websites/staging/ode/trunk/content/extensions/implicit-correlations.html ============================================================================== --- websites/staging/ode/trunk/content/extensions/implicit-correlations.html (original) +++ websites/staging/ode/trunk/content/extensions/implicit-correlations.html Fri Jul 14 10:08:12 2017 @@ -1,145 +1,155 @@ -<!DOCTYPE html> -<html> - <head> - <title>Apache ODE – Implicit Correlations</title> - <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> - <meta property="og:image" content="http://ode.apache.org/img/ode-logo.png" /> - - <link href="/css/application.min.css" rel="stylesheet" media="screen"> - - - - - - <script src="http://code.jquery.com/jquery-latest.js"></script> - <script src="/js/bootstrap.min.js"></script> - <script type="text/javascript"> - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-36293077-1']); - _gaq.push(['_trackPageview']); - - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> - <body> - - <!-- Navbar --> - <div class="navbar navbar-fixed-top"> - <div class="navbar-inner"> - <div class="container"> - <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <a class="brand" href="/index.html">Apache ODE</a> - <div class="nav-collapse collapse"> - <ul class="nav"> - <li class=""> - <a href="/getting-ode.html">Getting ODE</a> - </li> - <li class="active dropdown"> - <a href="/userguide/" class="dropdown-toggle" data-toggle="dropdown" data-target="#">Documentation<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/userguide/">User Guide</a></li> - <li><a href="/developerguide/">Developer Guide</a></li> - <li><a href="/ws-bpel-20-specification-compliance.html">WS-BPEL Compliance</a></li> - <li><a href="/extensions/">WS-BPEL Extensions</a></li> - <li><a href="/faq.html">FAQ</a></li> - <li><a href="/roadmap.html">Roadmap</a></li> - <li><a href="/resource-services.html">Resources & Services</a></li> - <li><a href="/javadoc/">Javadoc</a></li> - </ul> - </li> - <li class=" dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contributing<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/mailing-lists.html">Mailing Lists</a></li> - <li><a href="/developerguide/building-ode.html">Building ODE</a></li> - <li><a href="/developerguide/source-code.html">Source Code</a></li> - <li><a href="http://issues.apache.org/jira/browse/ODE">Bug Tracking</a></li> - <li><a href="/contributors.html">Contributors</a></li> - <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="http://www.apache.org" class="dropdown-toggle" data-toggle="dropdown" data-target="#">The ASF<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org">Apache Software Foundation</a></li> - <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> - <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li> - <li><a href="http://www.apache.org/security/">Security</a></li> - </ul> - </li> - </ul> - </div> - </div> - </div> - </div> - - <!-- Subhead --> - - <header class="jumbotron subhead" id="overview"> - <div class="container"> - - <h1>Implicit Correlations</h1> - - </div> - </header> - - - <!-- Content --> - <div class="container"> - - <div class="row"> - <div class="span12"> - <ul> +<!DOCTYPE html> +<html> + <head> + <title>Apache ODE – Implicit Correlations</title> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <meta property="og:image" content="http://ode.apache.org/img/ode-logo.png" /> + + <link href="/css/application.min.css" rel="stylesheet" media="screen"> + + + + + + <script src="http://code.jquery.com/jquery-latest.js"></script> + <script src="/js/bootstrap.min.js"></script> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-36293077-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + </head> + <body> + + <!-- Navbar --> + <div class="navbar navbar-fixed-top"> + <div class="navbar-inner"> + <div class="container"> + <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="brand" href="/index.html">Apache ODE</a> + <div class="nav-collapse collapse"> + <ul class="nav"> + <li class=""> + <a href="/getting-ode.html">Getting ODE</a> + </li> + <li class="active dropdown"> + <a href="/userguide/" class="dropdown-toggle" data-toggle="dropdown" data-target="#">Documentation<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="/userguide/">User Guide</a></li> + <li><a href="/developerguide/">Developer Guide</a></li> + <li><a href="/ws-bpel-20-specification-compliance.html">WS-BPEL Compliance</a></li> + <li><a href="/extensions/">WS-BPEL Extensions</a></li> + <li><a href="/faq.html">FAQ</a></li> + <li><a href="/roadmap.html">Roadmap</a></li> + <li><a href="/resource-services.html">Resources & Services</a></li> + <li><a href="/javadoc/">Javadoc</a></li> + </ul> + </li> + <li class=" dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contributing<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="/mailing-lists.html">Mailing Lists</a></li> + <li><a href="/developerguide/building-ode.html">Building ODE</a></li> + <li><a href="/developerguide/source-code.html">Source Code</a></li> + <li><a href="http://issues.apache.org/jira/browse/ODE">Bug Tracking</a></li> + <li><a href="/contributors.html">Contributors</a></li> + <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li> + </ul> + </li> + <li class="dropdown"> + <a href="http://www.apache.org" class="dropdown-toggle" data-toggle="dropdown" data-target="#">The ASF<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="http://www.apache.org">Apache Software Foundation</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li> + <li><a href="http://www.apache.org/security/">Security</a></li> + </ul> + </li> + </ul> + </div> + </div> + </div> + </div> + + <!-- Subhead --> + + <header class="jumbotron subhead" id="overview"> + <div class="container"> + + <h1>Implicit Correlations</h1> + + </div> + </header> + + + <!-- Content --> + <div class="container"> + + <div class="row"> + <div class="span12"> + <style type="text/css"> +/* The following code is added by mdx_elementid.py + It was originally lifted from http://subversion.apache.org/style/site.css */ +/* + * Hide class="elementid-permalink", except when an enclosing heading + * has the :hover property. + */ +.headerlink, .elementid-permalink { + visibility: hidden; +} +h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> +<ul> <li><a href="#ImplicitCorrelations-Introduction">Introduction</a></li> <li><a href="#ImplicitCorrelations-ProcesstoProcessInteractionUseCase">Process to Process Interaction Use Case</a></li> <li><a href="#ImplicitCorrelations-ProcesstoServiceInteractionUseCase">Process to Service Interaction Use Case</a></li> </ul> <p><a name="ImplicitCorrelations-Introduction"></a></p> -<h3 id="introduction">Introduction</h3> +<h3 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permanent link">¶</a></h3> <p>BPEL process instances are stateful --- therefore, a client interacting with the BPEL engine must identify the particular instance with which it intends to interact in all of its communications. The BPEL specification defines a mechanism --- <em>correlation</em> --- which allows the process designer to specify which parts of an incoming message (i.e. a message going from a client to the BPEL server) should be used to identify the target process instance. Correlation is a powerful mechanism --- however it is a bit complicated and relies on "in-band" message data to associate a messages with a process instance. </p> <p>To keep simple cases simple, ODE provides an alternative correlation mechanism --- <em>implicit correlation</em> --- that automatically handles correlation through "out-of-band" session identifiers. The mechanism is simple: a unique session identifier is associated with every every partner link instance. When a message is sent on a partner link, the session identifier is sent along with the message. The recipient is then able to use the received session identifier in subsequent communications with the process instance. Messages received by the BPEL engine that have a session identifier are routed to the correct instance (and partner link) by that session identifer.</p> -<p>There are two major use cases for the implicit correlation mechanism requiring different levels of familiarity with the mechanism's details: process to process and process to service interactions. The former case deals with situations where the ODE BPEL process instance is communicating with another ODE process instance. The latter deals with situations where a ODE BPEL process instance is communicating with an external (non-ODE) service.<br /> -</p> +<p>There are two major use cases for the implicit correlation mechanism requiring different levels of familiarity with the mechanism's details: process to process and process to service interactions. The former case deals with situations where the ODE BPEL process instance is communicating with another ODE process instance. The latter deals with situations where a ODE BPEL process instance is communicating with an external (non-ODE) service. </p> <p><a name="ImplicitCorrelations-ProcesstoProcessInteractionUseCase"></a></p> -<h3 id="process-to-process-interaction-use-case">Process to Process Interaction Use Case</h3> +<h3 id="process-to-process-interaction-use-case">Process to Process Interaction Use Case<a class="headerlink" href="#process-to-process-interaction-use-case" title="Permanent link">¶</a></h3> <p>When an ODE process needs to communicate with other ODE processes, using implicit correlations is quite simple. Simply omit the <code><correlations></code> element from the <code><receive></code>, <code><pick></code>, and <code><invoke></code> activities. The following is an example showing one process (processA) starting another (processB) and then being called back:</p> <ul> <li> <p>ProcessA</p> -<div class="codehilite"><pre><span class="o">.</span> -<span class="o">.</span> -<span class="o">.</span> -<span class="o"><</span><span class="n">invoke</span> <span class="n">name</span><span class="o">=</span><span class="s">"initiate"</span> <span class="n">partnerLink</span><span class="o">=</span><span class="s">"responderPartnerLink"</span> <span class="n">portType</span><span class="o">=</span><span class="s">"test:MSResponderPortType"</span> - <span class="n">operation</span><span class="o">=</span><span class="s">"initiate"</span> <span class="n">inputVariable</span><span class="o">=</span><span class="s">"dummy"</span><span class="o">/></span> -<span class="o"><</span><span class="n">receive</span> <span class="n">name</span><span class="o">=</span><span class="s">"callback"</span> <span class="n">partnerLink</span><span class="o">=</span><span class="s">"responderPartnerLink"</span> - <span class="n">portType</span><span class="o">=</span><span class="s">"test:MSMainPortType"</span> <span class="n">operation</span><span class="o">=</span><span class="s">"callback"</span> <span class="n">variable</span><span class="o">=</span><span class="s">"dummy"</span><span class="o">/></span> -<span class="o">.</span> -<span class="o">.</span> -<span class="o">.</span> +<div class="codehilite"><pre><span class="p">.</span> +<span class="p">.</span> +<span class="p">.</span> +<span class="o"><</span><span class="n">invoke</span> <span class="n">name</span><span class="p">=</span>"<span class="n">initiate</span>" <span class="n">partnerLink</span><span class="p">=</span>"<span class="n">responderPartnerLink</span>" <span class="n">portType</span><span class="p">=</span>"<span class="n">test</span><span class="p">:</span><span class="n">MSResponderPortType</span>" + <span class="n">operation</span><span class="p">=</span>"<span class="n">initiate</span>" <span class="n">inputVariable</span><span class="p">=</span>"<span class="n">dummy</span>"<span class="o">/></span> +<span class="o"><</span><span class="n">receive</span> <span class="n">name</span><span class="p">=</span>"<span class="n">callback</span>" <span class="n">partnerLink</span><span class="p">=</span>"<span class="n">responderPartnerLink</span>" + <span class="n">portType</span><span class="p">=</span>"<span class="n">test</span><span class="p">:</span><span class="n">MSMainPortType</span>" <span class="n">operation</span><span class="p">=</span>"<span class="n">callback</span>" <span class="n">variable</span><span class="p">=</span>"<span class="n">dummy</span>"<span class="o">/></span> +<span class="p">.</span> +<span class="p">.</span> +<span class="p">.</span> </pre></div> </li> <li> <p>ProcessB</p> -<div class="codehilite"><pre><span class="o">.</span> -<span class="o">.</span> -<span class="o">.</span> -<span class="o"><</span><span class="n">receive</span> <span class="n">name</span><span class="o">=</span><span class="s">"start"</span> <span class="n">partnerLink</span><span class="o">=</span><span class="s">"mainPartnerLink"</span> <span class="n">variable</span><span class="o">=</span><span class="s">"dummy"</span> - <span class="n">portType</span><span class="o">=</span><span class="s">"resp:MSResponderPortType"</span> <span class="n">operation</span><span class="o">=</span><span class="s">"initiate"</span> <span class="n">createInstance</span><span class="o">=</span><span class="s">"yes"</span><span class="o">/></span> -<span class="o"><</span><span class="n">invoke</span> <span class="n">name</span><span class="o">=</span><span class="s">"callback"</span> <span class="n">partnerLink</span><span class="o">=</span><span class="s">"mainPartnerLink"</span> - <span class="n">portType</span><span class="o">=</span><span class="s">"resp:MSMainPortType"</span> <span class="n">operation</span><span class="o">=</span><span class="s">"callback"</span> <span class="n">inputVariable</span><span class="o">=</span><span class="s">"dummy"</span><span class="o">/></span> -<span class="o">.</span> -<span class="o">.</span> -<span class="o">.</span> +<div class="codehilite"><pre><span class="p">.</span> +<span class="p">.</span> +<span class="p">.</span> +<span class="o"><</span><span class="n">receive</span> <span class="n">name</span><span class="p">=</span>"<span class="n">start</span>" <span class="n">partnerLink</span><span class="p">=</span>"<span class="n">mainPartnerLink</span>" <span class="n">variable</span><span class="p">=</span>"<span class="n">dummy</span>" + <span class="n">portType</span><span class="p">=</span>"<span class="n">resp</span><span class="p">:</span><span class="n">MSResponderPortType</span>" <span class="n">operation</span><span class="p">=</span>"<span class="n">initiate</span>" <span class="n">createInstance</span><span class="p">=</span>"<span class="n">yes</span>"<span class="o">/></span> +<span class="o"><</span><span class="n">invoke</span> <span class="n">name</span><span class="p">=</span>"<span class="n">callback</span>" <span class="n">partnerLink</span><span class="p">=</span>"<span class="n">mainPartnerLink</span>" + <span class="n">portType</span><span class="p">=</span>"<span class="n">resp</span><span class="p">:</span><span class="n">MSMainPortType</span>" <span class="n">operation</span><span class="p">=</span>"<span class="n">callback</span>" <span class="n">inputVariable</span><span class="p">=</span>"<span class="n">dummy</span>"<span class="o">/></span> +<span class="p">.</span> +<span class="p">.</span> +<span class="p">.</span> </pre></div> @@ -148,27 +158,27 @@ <p>In the above example, ODE will use the implicit correlation mechanism because no explicit correlations are specified. Communication between the two processes will reach the correct instance as long as the same partner link is used.</p> <p>For a complete example check <a href="https://svn.apache.org/repos/asf/ode/trunk/distro/src/examples-war/MagicSession/">MagicSession</a>.</p> <p><a name="ImplicitCorrelations-ProcesstoServiceInteractionUseCase"></a></p> -<h3 id="process-to-service-interaction-use-case">Process to Service Interaction Use Case</h3> -<p>See the <a href="/developerguide/stateful-exchange-protocol.html">Stateful Exchange Protocol</a>.</p> - </div> - </div> - - - <!-- Footer --> - <footer class="footer"> - <div class='row'> - <div class='span3'> - <img src="/img/asf.png" alt="Apache Software Foundation"/> - </div> - <div class='span9'> - <p><strong>Apache ODE</strong><sup>™</sup> is a top-level project at the <a href="http://www.apache.org">Apache Software Foundation<sup>™</sup></a> - Through a collaborative and meritocratic development process, Apache - projects deliver enterprise-grade, freely available software products that - attract large communities of users.</p> - <p>Apache ODE, ODE, Apache, the Apache feather logo, and the Apache ODE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> - </div> - </div> - </footer> - </div> <!-- /container --> - </body> +<h3 id="process-to-service-interaction-use-case">Process to Service Interaction Use Case<a class="headerlink" href="#process-to-service-interaction-use-case" title="Permanent link">¶</a></h3> +<p>See the <a href="/developerguide/stateful-exchange-protocol.html">Stateful Exchange Protocol</a>.</p> + </div> + </div> + + + <!-- Footer --> + <footer class="footer"> + <div class='row'> + <div class='span3'> + <img src="/img/asf_logo_url.png" alt="Apache Software Foundation"/> + </div> + <div class='span9'> + <p><strong>Apache ODE</strong><sup>™</sup> is a top-level project at the <a href="http://www.apache.org">Apache Software Foundation<sup>™</sup></a> + Through a collaborative and meritocratic development process, Apache + projects deliver enterprise-grade, freely available software products that + attract large communities of users.</p> + <p>Apache ODE, ODE, Apache, the Apache feather logo, and the Apache ODE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> + </div> + </div> + </footer> + </div> <!-- /container --> + </body> </html> \ No newline at end of file
Modified: websites/staging/ode/trunk/content/extensions/index.html ============================================================================== --- websites/staging/ode/trunk/content/extensions/index.html (original) +++ websites/staging/ode/trunk/content/extensions/index.html Fri Jul 14 10:08:12 2017 @@ -1,103 +1,114 @@ -<!DOCTYPE html> -<html> - <head> - <title>Apache ODE – BPEL Extensions</title> - <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> - <meta property="og:image" content="http://ode.apache.org/img/ode-logo.png" /> - - <link href="/css/application.min.css" rel="stylesheet" media="screen"> - - - - - - <script src="http://code.jquery.com/jquery-latest.js"></script> - <script src="/js/bootstrap.min.js"></script> - <script type="text/javascript"> - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-36293077-1']); - _gaq.push(['_trackPageview']); - - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> - <body> - - <!-- Navbar --> - <div class="navbar navbar-fixed-top"> - <div class="navbar-inner"> - <div class="container"> - <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <a class="brand" href="/index.html">Apache ODE</a> - <div class="nav-collapse collapse"> - <ul class="nav"> - <li class=""> - <a href="/getting-ode.html">Getting ODE</a> - </li> - <li class="active dropdown"> - <a href="/userguide/" class="dropdown-toggle" data-toggle="dropdown" data-target="#">Documentation<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/userguide/">User Guide</a></li> - <li><a href="/developerguide/">Developer Guide</a></li> - <li><a href="/ws-bpel-20-specification-compliance.html">WS-BPEL Compliance</a></li> - <li><a href="/extensions/">WS-BPEL Extensions</a></li> - <li><a href="/faq.html">FAQ</a></li> - <li><a href="/roadmap.html">Roadmap</a></li> - <li><a href="/resource-services.html">Resources & Services</a></li> - <li><a href="/javadoc/">Javadoc</a></li> - </ul> - </li> - <li class=" dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contributing<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/mailing-lists.html">Mailing Lists</a></li> - <li><a href="/developerguide/building-ode.html">Building ODE</a></li> - <li><a href="/developerguide/source-code.html">Source Code</a></li> - <li><a href="http://issues.apache.org/jira/browse/ODE">Bug Tracking</a></li> - <li><a href="/contributors.html">Contributors</a></li> - <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="http://www.apache.org" class="dropdown-toggle" data-toggle="dropdown" data-target="#">The ASF<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org">Apache Software Foundation</a></li> - <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> - <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li> - <li><a href="http://www.apache.org/security/">Security</a></li> - </ul> - </li> - </ul> - </div> - </div> - </div> - </div> - - <!-- Subhead --> - - <header class="jumbotron subhead" id="overview"> - <div class="container"> - - <h1>BPEL Extensions</h1> - - </div> - </header> - - - <!-- Content --> - <div class="container"> - - <div class="row"> - <div class="span12"> - <h1 id="overview">Overview</h1> +<!DOCTYPE html> +<html> + <head> + <title>Apache ODE – BPEL Extensions</title> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <meta property="og:image" content="http://ode.apache.org/img/ode-logo.png" /> + + <link href="/css/application.min.css" rel="stylesheet" media="screen"> + + + + + + <script src="http://code.jquery.com/jquery-latest.js"></script> + <script src="/js/bootstrap.min.js"></script> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-36293077-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + </head> + <body> + + <!-- Navbar --> + <div class="navbar navbar-fixed-top"> + <div class="navbar-inner"> + <div class="container"> + <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="brand" href="/index.html">Apache ODE</a> + <div class="nav-collapse collapse"> + <ul class="nav"> + <li class=""> + <a href="/getting-ode.html">Getting ODE</a> + </li> + <li class="active dropdown"> + <a href="/userguide/" class="dropdown-toggle" data-toggle="dropdown" data-target="#">Documentation<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="/userguide/">User Guide</a></li> + <li><a href="/developerguide/">Developer Guide</a></li> + <li><a href="/ws-bpel-20-specification-compliance.html">WS-BPEL Compliance</a></li> + <li><a href="/extensions/">WS-BPEL Extensions</a></li> + <li><a href="/faq.html">FAQ</a></li> + <li><a href="/roadmap.html">Roadmap</a></li> + <li><a href="/resource-services.html">Resources & Services</a></li> + <li><a href="/javadoc/">Javadoc</a></li> + </ul> + </li> + <li class=" dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contributing<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="/mailing-lists.html">Mailing Lists</a></li> + <li><a href="/developerguide/building-ode.html">Building ODE</a></li> + <li><a href="/developerguide/source-code.html">Source Code</a></li> + <li><a href="http://issues.apache.org/jira/browse/ODE">Bug Tracking</a></li> + <li><a href="/contributors.html">Contributors</a></li> + <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li> + </ul> + </li> + <li class="dropdown"> + <a href="http://www.apache.org" class="dropdown-toggle" data-toggle="dropdown" data-target="#">The ASF<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="http://www.apache.org">Apache Software Foundation</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li> + <li><a href="http://www.apache.org/security/">Security</a></li> + </ul> + </li> + </ul> + </div> + </div> + </div> + </div> + + <!-- Subhead --> + + <header class="jumbotron subhead" id="overview"> + <div class="container"> + + <h1>BPEL Extensions</h1> + + </div> + </header> + + + <!-- Content --> + <div class="container"> + + <div class="row"> + <div class="span12"> + <style type="text/css"> +/* The following code is added by mdx_elementid.py + It was originally lifted from http://subversion.apache.org/style/site.css */ +/* + * Hide class="elementid-permalink", except when an enclosing heading + * has the :hover property. + */ +.headerlink, .elementid-permalink { + visibility: hidden; +} +h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> +<h1 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">¶</a></h1> <p>ODE extends the <a href="/ws-bpel-20.html">WS-BPEL</a> in areas that aren't covered by the spec. This page details these extensions.</p> <ul> <li><a href="#BPELExtensions-ImplicitCorrelations">Implicit Correlations</a></li> @@ -114,75 +125,75 @@ <li><a href="#BPELExtensions-ProcessContexts">Process Contexts</a></li> </ul> <p><a name="BPELExtensions-ImplicitCorrelations"></a></p> -<h2 id="implicit-correlations"><a href="implicit-correlations.html">Implicit Correlations</a></h2> +<h2 id="implicit-correlations"><a href="implicit-correlations.html">Implicit Correlations</a><a class="headerlink" href="#implicit-correlations" title="Permanent link">¶</a></h2> <p>BPEL process instances are stateful â therefore, a client interacting with the BPEL engine must identify the particular instance with which it intends to interact in all of its communications. The BPEL specification defines a mechanism â <em>correlation</em> â which allows the process designer to specify which parts of an incoming message (i.e. a message going from a client to the BPEL server) should be used to identify the target process instance. Correlation is a powerful mechanism â however it is a bit complicated and relies on "in-band" message data to associate a messages with a process instance.</p> <p>To keep simple cases simple, ODE provides an alternative correlation mechanism â <em>implicit correlation</em> â that automatically handles correlation through "out-of-band" session identifiers. The mechanism is simple: a unique session identifier is associated with every every partner link instance. When a message is sent on a partner link, the session identifier is sent along with the message. The recipient is then able to use the received session identifier in subsequent communications with the process instance. Messages received by the BPEL engine that have a session identifier are routed to the correct instance (and partner link) by that session identifier.</p> <p><a href="implicit-correlations.html">Read more</a></p> <p><a name="BPELExtensions-ActivityFailureandRecovery"></a></p> -<h2 id="activity-failure-and-recovery"><a href="activity-failure-and-recovery.html">Activity Failure and Recovery</a></h2> +<h2 id="activity-failure-and-recovery"><a href="activity-failure-and-recovery.html">Activity Failure and Recovery</a><a class="headerlink" href="#activity-failure-and-recovery" title="Permanent link">¶</a></h2> <p>There are several types of error conditions. In this document we introduce a class of error condition called <em>failures</em>, distinct from <em>faults</em>, and describe how failures are caught and handled by the process engine.</p> <p>For example, when the process is unable to perform DNS resolution to determine the service endpoint, it generates a failure. An administrator can fix the DNS server and tell the process engine to retry the activity. Had the DNS error been reported as a fault, the process would either terminate or require complex fault handling and recovery logic to proceed past this point of failure.</p> <p>In short, failures shields the process from common, non-terminal error conditions while retaining simple and straightforward process definitions that do not need to account for these error conditions.</p> <p><a href="activity-failure-and-recovery.html">Read more</a></p> <p><a name="BPELExtensions-ExtensionActivities-ExtensibleAssignOperations"></a></p> -<h2 id="extension-activities-extensible-assign-operations"><a href="extension-activities-extensible-assign-operations.html">Extension Activities & Extensible Assign Operations</a></h2> +<h2 id="extension-activities-extensible-assign-operations"><a href="extension-activities-extensible-assign-operations.html">Extension Activities & Extensible Assign Operations</a><a class="headerlink" href="#extension-activities-extensible-assign-operations" title="Permanent link">¶</a></h2> <p>Apache ODE provides a plug-in architecture for custom activity implementations and custom variable assignment logic. Such plug-ins can be registered to ODE and can be used according to the WS-BPEL 2.0 extensibility mechnisms (<code><extensionActivity></code> & <code><extensionAssignOperation></code>).</p> <p><a href="extension-activities-extensible-assign-operations.html">Read more</a></p> <p><a name="BPELExtensions-XPathExtensions"></a></p> -<h2 id="xpath-extensions"><a href="xpath-extensions.html">XPath Extensions</a></h2> +<h2 id="xpath-extensions"><a href="xpath-extensions.html">XPath Extensions</a><a class="headerlink" href="#xpath-extensions" title="Permanent link">¶</a></h2> <p>Apache ODE extends the default XPath coverage provided by the WS-BPEL specification mostly by adding support for <a href="http://www.w3.org/TR/xpath20/">XPath 2.0</a> and by offering a few utility extension functions to make some assignments easier.</p> <p><a href="xpath-extensions.html">Read more</a></p> <p><a name="BPELExtensions-XQueryExtensions"></a></p> -<h2 id="xquery-extensions"><a href="xquery-extensions.html">XQuery Extensions</a></h2> +<h2 id="xquery-extensions"><a href="xquery-extensions.html">XQuery Extensions</a><a class="headerlink" href="#xquery-extensions" title="Permanent link">¶</a></h2> <p>Apache ODE extends the default XPath coverage provided by the WS-BPEL specification mostly by adding support for <a href="http://www.w3.org/TR/xquery/">XQuery 1.0</a> and by offering a few utility extension functions to make some assignments easier.</p> <p><a href="xquery-extensions.html">Read more</a></p> <p><a name="BPELExtensions-ExternalVariables"></a></p> -<h2 id="external-variables"><a href="external-variables.html">External Variables</a></h2> +<h2 id="external-variables"><a href="external-variables.html">External Variables</a><a class="headerlink" href="#external-variables" title="Permanent link">¶</a></h2> <p>External variables are an easy way to share data between the process and external systems, by treating those independent entities as BPEL variables that can be used in expressions and assignments. External variables may be records stored in the database, REST resources, etc.</p> <p><a href="external-variables.html">Read more</a></p> <p><a name="BPELExtensions-HeadersHandling"></a></p> -<h2 id="headers-handling"><a href="headers-handling.html">Headers Handling</a></h2> +<h2 id="headers-handling"><a href="headers-handling.html">Headers Handling</a><a class="headerlink" href="#headers-handling" title="Permanent link">¶</a></h2> <p>There are several situations where one would want to access headers form the wire format in their BPEL process. It could be to assign them to another message and pass them around or to execute some business logic that's header-dependent (often a bad idea but sometimes there's no choice). ODE supports the manipulation of wire format headers in two different ways.</p> <p><a href="headers-handling.html">Read more</a></p> <p><a name="BPELExtensions-RESTfulBPEL-PartI"></a></p> -<h2 id="restful-bpel-part-i"><a href="restful-bpel-part-i.html">RESTful BPEL, Part I</a></h2> +<h2 id="restful-bpel-part-i"><a href="restful-bpel-part-i.html">RESTful BPEL, Part I</a><a class="headerlink" href="#restful-bpel-part-i" title="Permanent link">¶</a></h2> <p>Extends the invoke activity to handle RESTful Web services. This extension uses BPEL variables of type xsd:uri and xsd:string instead of partner links, and does away with the WSDL indirection, making it straightforward to develop processes that use RESTful Web services. </p> <p><a href="restful-bpel-part-i.html">Read more</a></p> <p><a name="BPELExtensions-RESTfulBPEL-PartII"></a></p> -<h2 id="restful-bpel-part-ii"><a href="restful-bpel-part-ii.html">RESTful BPEL, Part II</a></h2> +<h2 id="restful-bpel-part-ii"><a href="restful-bpel-part-ii.html">RESTful BPEL, Part II</a><a class="headerlink" href="#restful-bpel-part-ii" title="Permanent link">¶</a></h2> <p>Extends receive and onEvent to expose RESTful resources that. This extension adds the ability to declare and instantiate resources, and specific handling for the HTTP methods GET, POST, PUT and DELETE.</p> <p><a href="restful-bpel-part-ii.html">Read more</a></p> <p><a name="BPELExtensions[IterableForEach"></a></p> -<h2 id="iterable-foreach"><a href="iterable-foreach.html">Iterable ForEach</a></h2> +<h2 id="iterable-foreach"><a href="iterable-foreach.html">Iterable ForEach</a><a class="headerlink" href="#iterable-foreach" title="Permanent link">¶</a></h2> <p>Extends the <forEach> activity so that the counter variable iterates over the items contained in a given sequence. This extension provides an alternative and more dynamic way of generating M branches, where M is the size of the binding sequence. The semantics of the <completionCondition> stays the same, in that the loop is deemed to be complete if B out of the M branches complete (successfully), where B is its actual value.</p> <p><a href="iterable-foreach.html">Read more</a></p> <p><a name="BPELExtensions-FlexibleAssigns"></a></p> -<h2 id="flexible-assigns"><a href="flexible-assigns.html">Flexible Assigns</a></h2> +<h2 id="flexible-assigns"><a href="flexible-assigns.html">Flexible Assigns</a><a class="headerlink" href="#flexible-assigns" title="Permanent link">¶</a></h2> <p>Extends the <assign> activity so that it can be made to either ignore or insert data that is missing in the to-spec of a copy operation. This shortcut allows users to handle what would normally be fault scenarios, in a more graceful and intuitive way.</p> <p><a href="flexible-assigns.html">Read more</a></p> <p><a name="BPELExtensions-ProcessContexts"></a></p> -<h2 id="process-contexts"><a href="process-contexts.html">Process Contexts</a></h2> +<h2 id="process-contexts"><a href="process-contexts.html">Process Contexts</a><a class="headerlink" href="#process-contexts" title="Permanent link">¶</a></h2> <p>Extends BPEL and ODE to allow the circulation of transport metadata (like security tokens, correlation keys, or tracing informations) from messages to processes and then from processes to messages.</p> -<p><a href="process-contexts.html">Read more</a></p> - </div> - </div> - - - <!-- Footer --> - <footer class="footer"> - <div class='row'> - <div class='span3'> - <img src="/img/asf.png" alt="Apache Software Foundation"/> - </div> - <div class='span9'> - <p><strong>Apache ODE</strong><sup>™</sup> is a top-level project at the <a href="http://www.apache.org">Apache Software Foundation<sup>™</sup></a> - Through a collaborative and meritocratic development process, Apache - projects deliver enterprise-grade, freely available software products that - attract large communities of users.</p> - <p>Apache ODE, ODE, Apache, the Apache feather logo, and the Apache ODE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> - </div> - </div> - </footer> - </div> <!-- /container --> - </body> +<p><a href="process-contexts.html">Read more</a></p> + </div> + </div> + + + <!-- Footer --> + <footer class="footer"> + <div class='row'> + <div class='span3'> + <img src="/img/asf_logo_url.png" alt="Apache Software Foundation"/> + </div> + <div class='span9'> + <p><strong>Apache ODE</strong><sup>™</sup> is a top-level project at the <a href="http://www.apache.org">Apache Software Foundation<sup>™</sup></a> + Through a collaborative and meritocratic development process, Apache + projects deliver enterprise-grade, freely available software products that + attract large communities of users.</p> + <p>Apache ODE, ODE, Apache, the Apache feather logo, and the Apache ODE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> + </div> + </div> + </footer> + </div> <!-- /container --> + </body> </html> \ No newline at end of file Modified: websites/staging/ode/trunk/content/extensions/iterable-foreach.html ============================================================================== --- websites/staging/ode/trunk/content/extensions/iterable-foreach.html (original) +++ websites/staging/ode/trunk/content/extensions/iterable-foreach.html Fri Jul 14 10:08:12 2017 @@ -1,107 +1,118 @@ -<!DOCTYPE html> -<html> - <head> - <title>Apache ODE – Iterable ForEach</title> - <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> - <meta property="og:image" content="http://ode.apache.org/img/ode-logo.png" /> - - <link href="/css/application.min.css" rel="stylesheet" media="screen"> - - - - - - <script src="http://code.jquery.com/jquery-latest.js"></script> - <script src="/js/bootstrap.min.js"></script> - <script type="text/javascript"> - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-36293077-1']); - _gaq.push(['_trackPageview']); - - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> - <body> - - <!-- Navbar --> - <div class="navbar navbar-fixed-top"> - <div class="navbar-inner"> - <div class="container"> - <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <a class="brand" href="/index.html">Apache ODE</a> - <div class="nav-collapse collapse"> - <ul class="nav"> - <li class=""> - <a href="/getting-ode.html">Getting ODE</a> - </li> - <li class="active dropdown"> - <a href="/userguide/" class="dropdown-toggle" data-toggle="dropdown" data-target="#">Documentation<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/userguide/">User Guide</a></li> - <li><a href="/developerguide/">Developer Guide</a></li> - <li><a href="/ws-bpel-20-specification-compliance.html">WS-BPEL Compliance</a></li> - <li><a href="/extensions/">WS-BPEL Extensions</a></li> - <li><a href="/faq.html">FAQ</a></li> - <li><a href="/roadmap.html">Roadmap</a></li> - <li><a href="/resource-services.html">Resources & Services</a></li> - <li><a href="/javadoc/">Javadoc</a></li> - </ul> - </li> - <li class=" dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contributing<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/mailing-lists.html">Mailing Lists</a></li> - <li><a href="/developerguide/building-ode.html">Building ODE</a></li> - <li><a href="/developerguide/source-code.html">Source Code</a></li> - <li><a href="http://issues.apache.org/jira/browse/ODE">Bug Tracking</a></li> - <li><a href="/contributors.html">Contributors</a></li> - <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="http://www.apache.org" class="dropdown-toggle" data-toggle="dropdown" data-target="#">The ASF<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org">Apache Software Foundation</a></li> - <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> - <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li> - <li><a href="http://www.apache.org/security/">Security</a></li> - </ul> - </li> - </ul> - </div> - </div> - </div> - </div> - - <!-- Subhead --> - - <header class="jumbotron subhead" id="overview"> - <div class="container"> - - <h1>Iterable ForEach</h1> - - </div> - </header> - - - <!-- Content --> - <div class="container"> - - <div class="row"> - <div class="span12"> - <h2 id="overview">Overview</h2> +<!DOCTYPE html> +<html> + <head> + <title>Apache ODE – Iterable ForEach</title> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <meta property="og:image" content="http://ode.apache.org/img/ode-logo.png" /> + + <link href="/css/application.min.css" rel="stylesheet" media="screen"> + + + + + + <script src="http://code.jquery.com/jquery-latest.js"></script> + <script src="/js/bootstrap.min.js"></script> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-36293077-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + </head> + <body> + + <!-- Navbar --> + <div class="navbar navbar-fixed-top"> + <div class="navbar-inner"> + <div class="container"> + <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="brand" href="/index.html">Apache ODE</a> + <div class="nav-collapse collapse"> + <ul class="nav"> + <li class=""> + <a href="/getting-ode.html">Getting ODE</a> + </li> + <li class="active dropdown"> + <a href="/userguide/" class="dropdown-toggle" data-toggle="dropdown" data-target="#">Documentation<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="/userguide/">User Guide</a></li> + <li><a href="/developerguide/">Developer Guide</a></li> + <li><a href="/ws-bpel-20-specification-compliance.html">WS-BPEL Compliance</a></li> + <li><a href="/extensions/">WS-BPEL Extensions</a></li> + <li><a href="/faq.html">FAQ</a></li> + <li><a href="/roadmap.html">Roadmap</a></li> + <li><a href="/resource-services.html">Resources & Services</a></li> + <li><a href="/javadoc/">Javadoc</a></li> + </ul> + </li> + <li class=" dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contributing<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="/mailing-lists.html">Mailing Lists</a></li> + <li><a href="/developerguide/building-ode.html">Building ODE</a></li> + <li><a href="/developerguide/source-code.html">Source Code</a></li> + <li><a href="http://issues.apache.org/jira/browse/ODE">Bug Tracking</a></li> + <li><a href="/contributors.html">Contributors</a></li> + <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li> + </ul> + </li> + <li class="dropdown"> + <a href="http://www.apache.org" class="dropdown-toggle" data-toggle="dropdown" data-target="#">The ASF<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="http://www.apache.org">Apache Software Foundation</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li> + <li><a href="http://www.apache.org/security/">Security</a></li> + </ul> + </li> + </ul> + </div> + </div> + </div> + </div> + + <!-- Subhead --> + + <header class="jumbotron subhead" id="overview"> + <div class="container"> + + <h1>Iterable ForEach</h1> + + </div> + </header> + + + <!-- Content --> + <div class="container"> + + <div class="row"> + <div class="span12"> + <style type="text/css"> +/* The following code is added by mdx_elementid.py + It was originally lifted from http://subversion.apache.org/style/site.css */ +/* + * Hide class="elementid-permalink", except when an enclosing heading + * has the :hover property. + */ +.headerlink, .elementid-permalink { + visibility: hidden; +} +h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> +<h2 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">¶</a></h2> <p>This extension simplifies a common usage pattern in which forEach is used to iterate over a selected sequence of nodes.</p> <p>The common use case involves selecting a sequence of nodes, storing it in a scope variable, and using forEach to iterate over that sequence, using the current counter value to extract and operate on the indexed value from the sequence. This extension captures the pattern in a form that's easier to author and debug, by replacing counter with iterator and eliminating the use of temporary variables.</p> <p><a name="IterableForEach-ProcessingMultipleBranches-ForEach"></a></p> -<h2 id="processing-multiple-branches-foreach">Processing Multiple Branches - ForEach</h2> +<h2 id="processing-multiple-branches-foreach">Processing Multiple Branches - ForEach<a class="headerlink" href="#processing-multiple-branches-foreach" title="Permanent link">¶</a></h2> <p>The <code><forEach></code> activity will execute its contained <scope> activity exactly M times where M is the number of items in the <sequenceValue>.</p> <div class="codehilite"><pre><span class="nt"><forEach</span> <span class="na">rangeName=</span><span class="s">"BPELVariableName"</span> <span class="na">parallel=</span><span class="s">"yes|no"</span> <span class="err">standard-attributes</span><span class="nt">></span> @@ -139,26 +150,26 @@ </li> </ul> <p>If upon completion of a directly enclosed <scope> activity, it can be determined that the <completionCondition> can never be true, the standard bpel:completionConditionFailure fault MUST be thrown. </p> -<p>When a <completionCondition> does not have any sub-elements or attributes understood by the WS-BPEL processor, it MUST be treated as if the <completionCondition> does not exist.</p> - </div> - </div> - - - <!-- Footer --> - <footer class="footer"> - <div class='row'> - <div class='span3'> - <img src="/img/asf.png" alt="Apache Software Foundation"/> - </div> - <div class='span9'> - <p><strong>Apache ODE</strong><sup>™</sup> is a top-level project at the <a href="http://www.apache.org">Apache Software Foundation<sup>™</sup></a> - Through a collaborative and meritocratic development process, Apache - projects deliver enterprise-grade, freely available software products that - attract large communities of users.</p> - <p>Apache ODE, ODE, Apache, the Apache feather logo, and the Apache ODE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> - </div> - </div> - </footer> - </div> <!-- /container --> - </body> +<p>When a <completionCondition> does not have any sub-elements or attributes understood by the WS-BPEL processor, it MUST be treated as if the <completionCondition> does not exist.</p> + </div> + </div> + + + <!-- Footer --> + <footer class="footer"> + <div class='row'> + <div class='span3'> + <img src="/img/asf_logo_url.png" alt="Apache Software Foundation"/> + </div> + <div class='span9'> + <p><strong>Apache ODE</strong><sup>™</sup> is a top-level project at the <a href="http://www.apache.org">Apache Software Foundation<sup>™</sup></a> + Through a collaborative and meritocratic development process, Apache + projects deliver enterprise-grade, freely available software products that + attract large communities of users.</p> + <p>Apache ODE, ODE, Apache, the Apache feather logo, and the Apache ODE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> + </div> + </div> + </footer> + </div> <!-- /container --> + </body> </html> \ No newline at end of file Modified: websites/staging/ode/trunk/content/extensions/process-contexts.html ============================================================================== --- websites/staging/ode/trunk/content/extensions/process-contexts.html (original) +++ websites/staging/ode/trunk/content/extensions/process-contexts.html Fri Jul 14 10:08:12 2017 @@ -1,110 +1,121 @@ -<!DOCTYPE html> -<html> - <head> - <title>Apache ODE – Process Contexts</title> - <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> - <meta property="og:image" content="http://ode.apache.org/img/ode-logo.png" /> - - <link href="/css/application.min.css" rel="stylesheet" media="screen"> - - - - - - <script src="http://code.jquery.com/jquery-latest.js"></script> - <script src="/js/bootstrap.min.js"></script> - <script type="text/javascript"> - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-36293077-1']); - _gaq.push(['_trackPageview']); - - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> - <body> - - <!-- Navbar --> - <div class="navbar navbar-fixed-top"> - <div class="navbar-inner"> - <div class="container"> - <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <a class="brand" href="/index.html">Apache ODE</a> - <div class="nav-collapse collapse"> - <ul class="nav"> - <li class=""> - <a href="/getting-ode.html">Getting ODE</a> - </li> - <li class="active dropdown"> - <a href="/userguide/" class="dropdown-toggle" data-toggle="dropdown" data-target="#">Documentation<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/userguide/">User Guide</a></li> - <li><a href="/developerguide/">Developer Guide</a></li> - <li><a href="/ws-bpel-20-specification-compliance.html">WS-BPEL Compliance</a></li> - <li><a href="/extensions/">WS-BPEL Extensions</a></li> - <li><a href="/faq.html">FAQ</a></li> - <li><a href="/roadmap.html">Roadmap</a></li> - <li><a href="/resource-services.html">Resources & Services</a></li> - <li><a href="/javadoc/">Javadoc</a></li> - </ul> - </li> - <li class=" dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contributing<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="/mailing-lists.html">Mailing Lists</a></li> - <li><a href="/developerguide/building-ode.html">Building ODE</a></li> - <li><a href="/developerguide/source-code.html">Source Code</a></li> - <li><a href="http://issues.apache.org/jira/browse/ODE">Bug Tracking</a></li> - <li><a href="/contributors.html">Contributors</a></li> - <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li> - </ul> - </li> - <li class="dropdown"> - <a href="http://www.apache.org" class="dropdown-toggle" data-toggle="dropdown" data-target="#">The ASF<b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="http://www.apache.org">Apache Software Foundation</a></li> - <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> - <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li> - <li><a href="http://www.apache.org/security/">Security</a></li> - </ul> - </li> - </ul> - </div> - </div> - </div> - </div> - - <!-- Subhead --> - - <header class="jumbotron subhead" id="overview"> - <div class="container"> - - <h1>Process Contexts</h1> - - </div> - </header> - - - <!-- Content --> - <div class="container"> - - <div class="row"> - <div class="span12"> - <p><a name="ProcessContexts-ProcessContexts"></a></p> -<h2 id="process-contexts">Process Contexts</h2> +<!DOCTYPE html> +<html> + <head> + <title>Apache ODE – Process Contexts</title> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <meta property="og:image" content="http://ode.apache.org/img/ode-logo.png" /> + + <link href="/css/application.min.css" rel="stylesheet" media="screen"> + + + + + + <script src="http://code.jquery.com/jquery-latest.js"></script> + <script src="/js/bootstrap.min.js"></script> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-36293077-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + </head> + <body> + + <!-- Navbar --> + <div class="navbar navbar-fixed-top"> + <div class="navbar-inner"> + <div class="container"> + <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="brand" href="/index.html">Apache ODE</a> + <div class="nav-collapse collapse"> + <ul class="nav"> + <li class=""> + <a href="/getting-ode.html">Getting ODE</a> + </li> + <li class="active dropdown"> + <a href="/userguide/" class="dropdown-toggle" data-toggle="dropdown" data-target="#">Documentation<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="/userguide/">User Guide</a></li> + <li><a href="/developerguide/">Developer Guide</a></li> + <li><a href="/ws-bpel-20-specification-compliance.html">WS-BPEL Compliance</a></li> + <li><a href="/extensions/">WS-BPEL Extensions</a></li> + <li><a href="/faq.html">FAQ</a></li> + <li><a href="/roadmap.html">Roadmap</a></li> + <li><a href="/resource-services.html">Resources & Services</a></li> + <li><a href="/javadoc/">Javadoc</a></li> + </ul> + </li> + <li class=" dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contributing<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="/mailing-lists.html">Mailing Lists</a></li> + <li><a href="/developerguide/building-ode.html">Building ODE</a></li> + <li><a href="/developerguide/source-code.html">Source Code</a></li> + <li><a href="http://issues.apache.org/jira/browse/ODE">Bug Tracking</a></li> + <li><a href="/contributors.html">Contributors</a></li> + <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li> + </ul> + </li> + <li class="dropdown"> + <a href="http://www.apache.org" class="dropdown-toggle" data-toggle="dropdown" data-target="#">The ASF<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="http://www.apache.org">Apache Software Foundation</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li> + <li><a href="http://www.apache.org/security/">Security</a></li> + </ul> + </li> + </ul> + </div> + </div> + </div> + </div> + + <!-- Subhead --> + + <header class="jumbotron subhead" id="overview"> + <div class="container"> + + <h1>Process Contexts</h1> + + </div> + </header> + + + <!-- Content --> + <div class="container"> + + <div class="row"> + <div class="span12"> + <style type="text/css"> +/* The following code is added by mdx_elementid.py + It was originally lifted from http://subversion.apache.org/style/site.css */ +/* + * Hide class="elementid-permalink", except when an enclosing heading + * has the :hover property. + */ +.headerlink, .elementid-permalink { + visibility: hidden; +} +h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> +<p><a name="ProcessContexts-ProcessContexts"></a></p> +<h2 id="process-contexts">Process Contexts<a class="headerlink" href="#process-contexts" title="Permanent link">¶</a></h2> <div class="alert alert-warning"> This feature is implemented in Apache ODE 2.0 only. </div> <p><a name="ProcessContexts-Abstract"></a></p> -<h3 id="abstract">Abstract</h3> +<h3 id="abstract">Abstract<a class="headerlink" href="#abstract" title="Permanent link">¶</a></h3> <p>To allow the circulation of transport metadata from messages to processes and then from processes to messages, we want to add support for different levels of contextual data to our process engine. The main use cases are:</p> <ul> <li>Conversation ids, such as those of the Stateful Exchange Protocol and WS-Context</li> @@ -113,14 +124,14 @@ <li>Eventually some WS-RM related context.</li> </ul> <p><a name="ProcessContexts-Architecture"></a></p> -<h3 id="architecture">Architecture</h3> +<h3 id="architecture">Architecture<a class="headerlink" href="#architecture" title="Permanent link">¶</a></h3> <p>The aim of this proposal is to make transport metadata accessible within BPEL processes and allow modelers and deployers to define which metadata should be propagated between process and partners. Therefore, we model such metadata in terms of contexts. <em>Contexts</em> are modeled as a bag of metadata information represented as key-value pairs and are attached to partner links. A partner link may maintain multiple contexts; each of them is identifiable by a name attribute to distinguish context used for different purposes (e.g. security context vs. tracing context). Whenever a message arrives through ODE's integration layer, the message is passed through a defined set of <em>context interceptors</em>. These interceptors are in charge to extract relevant transport metadata from messages, prepare the data and store it in terms of key-value pairs into a named context associated to the partner link from which the message came from. The context data is persistently stored in the runtime database. For outgoing messages, <invoke> activities can be configured to take context data from a (different) partner link, pass it again through a <em>context interceptor</em> which translates the data back to transport-specific metadata. Such propagation configuration can be defined per invoke activity in the process model or on a global level in the deployment descriptor. Context data can be assigned to variables. Therefore, the context data is translated into XML data, following a predefined schema. It is possible to define which contexts of a partner link are copied to a variable. Similarly, context data can be copied from a variable back into the context of a certain partner link. Contexts can be used to classify or tag process instances and it is useful to make this information accessible for process management tools. Hence, this specification extends the process management API to make context data queryable and accessible.</p> <p><a name="ProcessContexts-Contexts"></a></p> -<h3 id="contexts">Contexts</h3> +<h3 id="contexts">Contexts<a class="headerlink" href="#contexts" title="Permanent link">¶</a></h3> <p>Contexts are modeled as a bag of metadata information represented as key-value pairs <em>(string, string)</em> and are attached to partner links. Contexts have a name attribute. Contexts are persisted in ODE's runtime database. Long values are stored as a CLOB whereas shorter values (< 250 characters) are automatically stored in an indexed VARCHAR field.</p> <p>Since contexts should also be accessible in BPEL, there is also an XML-based representation. It is defined as follows, the according XMLSchema can be found <a href="http://svn.apache.org/viewvc/ode/trunk/bpel-schemas/src/main/xsd/contexts.xsd?view=markup">here</a></p> <div class="caption">Example: Context data in its XML representation</div> @@ -138,7 +149,7 @@ Contexts can be used to classify or tag <p><a name="ProcessContexts-ContextInterceptors"></a></p> -<h3 id="context-interceptors">Context Interceptors</h3> +<h3 id="context-interceptors">Context Interceptors<a class="headerlink" href="#context-interceptors" title="Permanent link">¶</a></h3> <p>At the transport level, message headers can be translated to context data and contexts can be translated to message headers. Context interceptors define how the headers are set to/from contexts and which contexts are affected. Interceptors are Java classes that implement the following interface. They can be registered either globally in ode's property configuration file or per process in the <code>deploy.xml</code>.</p> <div class="codehilite"><pre><span class="cm">/**</span> <span class="cm"> * Context Interceptors can map message headers (or even payload) to</span> @@ -190,9 +201,9 @@ Contexts can be used to classify or tag <p><a name="ProcessContexts-WorkingwithContextsinBPEL"></a></p> -<h3 id="working-with-contexts-in-bpel">Working with Contexts in BPEL</h3> +<h3 id="working-with-contexts-in-bpel">Working with Contexts in BPEL<a class="headerlink" href="#working-with-contexts-in-bpel" title="Permanent link">¶</a></h3> <p><a name="ProcessContexts-DeclaringContextInterceptors"></a></p> -<h4 id="declaring-context-interceptors">Declaring Context Interceptors</h4> +<h4 id="declaring-context-interceptors">Declaring Context Interceptors<a class="headerlink" href="#declaring-context-interceptors" title="Permanent link">¶</a></h4> <p>In order to use context interceptors, their implementation must be registered with ODE. There are two options to do this: <em> Engine-wide registration - the context interceptor will be available for all processes that are deployed to this ODE instance. </em> Per-process registration - the context interceptor will only be available for a particular process model.</p> @@ -243,7 +254,7 @@ ode-jbi.context.interceptors = my.full.q <p>The context-specific configuration takes place in the <code><context></code> element. The <code><interceptor></code> element is used to declare and register context interceptor implementations. The <code><class-name></code> element takes the full qualified class name of the context interceptor implementation (which must implement the <code>ContextInterceptor</code> interface). The content of the <code><config></code> element will be passed to configure method of the interceptor, immediately after instantiation.</p> <p>Static propagation rules can be configured directly in the <code>deploy.xml</code>. Using the <code><propagate></code> element, ODE can be configured to propagate all contexts named in the <code>context</code> attribute (space-separated list) from a certain partner link to another partner link. To propagate all contexts the <code>context</code> attribute should be set to <code>\*</code>. These rules are automatically evaluated when an invoke activity is being executed. Before a BPEL process instance invokes an operation of a certain partner link, the propagation logic performs a look-up for propagation rules that have that partner link referenced by their <code>to</code> attribute. Subsequently the specified contexts are retrieved from the partner link specified by the <code>from</code> attribute of the rule, passed to the context interceptor that translates the context data into transport meta data, which is then added to the outgoing message.</p> <p><a name="ProcessContexts-CustomizeContextPropagationintheProcessModel"></a></p> -<h4 id="customize-context-propagation-in-the-process-model">Customize Context Propagation in the Process Model</h4> +<h4 id="customize-context-propagation-in-the-process-model">Customize Context Propagation in the Process Model<a class="headerlink" href="#customize-context-propagation-in-the-process-model" title="Permanent link">¶</a></h4> <p>In addition to static propagation rules, context propagation can be explicitly configured for outbound interaction activities (i.e. <code><invoke></code> and <code><reply></code>. Therefore, we introduce a new BPEL extension element <code><ctx:propagate></code> in the <code>[http://ode.apache.org/contextPropagation](http://ode.apache.org/contextPropagation)</code> namespace (to which the <code>ctx</code>-prefix is bound to), following the syntax as described below:</p> <div class="codehilite"><pre><span class="nt"><bpel:invoke</span> <span class="err">...</span><span class="nt">></span> <span class="nt"><ctx:propagate</span> <span class="na">ctx:fromPartnerLink=</span><span class="s">"testPartnerLink"</span> <span class="na">ctx:context=</span><span class="s">"*"</span><span class="nt">/></span> @@ -265,7 +276,7 @@ ode-jbi.context.interceptors = my.full.q </div> <p><a name="ProcessContexts-AccessingandAssigningContextData"></a></p> -<h4 id="accessing-and-assigning-context-data">Accessing and Assigning Context Data</h4> +<h4 id="accessing-and-assigning-context-data">Accessing and Assigning Context Data<a class="headerlink" href="#accessing-and-assigning-context-data" title="Permanent link">¶</a></h4> <p>Context data should be accessible within BPEL processes and from the outside, e.g. for management purposes. For the former, the <code><assign></code> activity has been extended to support copying data from and to contexts of a partner link. The according <code>from</code>/<code>to</code> specs are defined as follows:</p> <div class="caption">from/to specs for the work with context data</div> @@ -327,26 +338,26 @@ ode-jbi.context.interceptors = my.full.q </pre></div> -<p>In order to make context data accessible for external management tools, the ProcessManagement-API has been extended. TODO: to be completed.</p> - </div> - </div> - - - <!-- Footer --> - <footer class="footer"> - <div class='row'> - <div class='span3'> - <img src="/img/asf.png" alt="Apache Software Foundation"/> - </div> - <div class='span9'> - <p><strong>Apache ODE</strong><sup>™</sup> is a top-level project at the <a href="http://www.apache.org">Apache Software Foundation<sup>™</sup></a> - Through a collaborative and meritocratic development process, Apache - projects deliver enterprise-grade, freely available software products that - attract large communities of users.</p> - <p>Apache ODE, ODE, Apache, the Apache feather logo, and the Apache ODE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> - </div> - </div> - </footer> - </div> <!-- /container --> - </body> +<p>In order to make context data accessible for external management tools, the ProcessManagement-API has been extended. TODO: to be completed.</p> + </div> + </div> + + + <!-- Footer --> + <footer class="footer"> + <div class='row'> + <div class='span3'> + <img src="/img/asf_logo_url.png" alt="Apache Software Foundation"/> + </div> + <div class='span9'> + <p><strong>Apache ODE</strong><sup>™</sup> is a top-level project at the <a href="http://www.apache.org">Apache Software Foundation<sup>™</sup></a> + Through a collaborative and meritocratic development process, Apache + projects deliver enterprise-grade, freely available software products that + attract large communities of users.</p> + <p>Apache ODE, ODE, Apache, the Apache feather logo, and the Apache ODE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> + </div> + </div> + </footer> + </div> <!-- /container --> + </body> </html> \ No newline at end of file
