Author: buildbot
Date: Fri Dec 28 16:47:39 2012
New Revision: 844138

Log:
Staging update by buildbot for ode

Added:
    
websites/staging/ode/trunk/content/extensions/activity-failure-and-recovery.html
Removed:
    websites/staging/ode/trunk/content/activity-failure-and-recovery.html
Modified:
    websites/staging/ode/trunk/content/   (props changed)
    websites/staging/ode/trunk/content/sitemap.html

Propchange: websites/staging/ode/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Dec 28 16:47:39 2012
@@ -1 +1 @@
-1426573
+1426574

Added: 
websites/staging/ode/trunk/content/extensions/activity-failure-and-recovery.html
==============================================================================
--- 
websites/staging/ode/trunk/content/extensions/activity-failure-and-recovery.html
 (added)
+++ 
websites/staging/ode/trunk/content/extensions/activity-failure-and-recovery.html
 Fri Dec 28 16:47:39 2012
@@ -0,0 +1,200 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Activity Failure and Recovery</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">
+    
+
+    
+    
+  </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=" dropdown">
+                <a href="/user-guide.html" 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 &amp; 
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>Activity Failure and Recovery</h1>
+        
+      </div>
+    </header>
+    
+
+    <!-- Content -->
+    <div class="container">
+      
+      <div class="row">
+        <div class="span12">
+          <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>A service returns a fault in response to a request it cannot process. A 
process may also raise a fault internally when it encounters a terminal error 
condition, e.g. a faulty expression or false join condition. In addition, 
processes may raise faults in order to terminate normal processing.</p>
+<p>In contrast, failures are non-terminal error conditions that do not affect 
the normal flow of the process. We keep the process definition simple and 
straightforward by delegating failure handling to the process engine and 
administrator.</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 name="ActivityFailureandRecovery-FromFailuretoRecovery"></a></p>
+<h3 id="from-failure-to-recovery">From Failure to Recovery</h3>
+<p>Currently, the <em>Invoke</em> activity is the only activity that supports 
failure handling and recovery. The mechanism is identical for all other 
activities that may support failure handling and recovery in the future.</p>
+<p>In case of the <em>Invoke</em> activity, a failure condition is triggered 
by the integration layer, in lieu of a response or fault message. The 
<em>Invoke</em> activity consults its failure handling policy (specified here) 
and decides how to respond.</p>
+<p>Set <em>faultOnFailure</em> to <em>yes</em>, if you want the activity to 
throw a fault on failure. All other failure handling settings are ignored. The 
activity will throw the <em>activityFailure</em> fault.</p>
+<p>The <em>activityFailure</em> fault is a standard fault, so you can use the 
<em>exitOnStandardFault</em> attribute to control whether the process exits 
immediately, or throws a fault in the enclosing scope.</p>
+<p>Set <em>retryFor</em> to a positive integer if you want the activity to 
attempt self-recovery and retry up to that number of times. Set 
<em>retryDelay</em> to a reasonable time delay (specified in seconds) between 
retries. For example, if you set <em>retryFor=2, retryDelay=30</em>, the 
activity will retry after 30 and 60 seconds, for a total of three attempts, 
before entering activity recovery mode.</p>
+<p>If the activity retries and succeeds, it will complete successfully as if 
no failure occurred. Of course, the activity may retry and fault, e.g. if the 
invoked service returns a fault. If the activity has exhausted all retry 
attempts, it enters activity recovery mode. By default <em>retryFor</em> is 
zero, and the activity enters recovery mode after the first failure.</p>
+<p>When in recovery mode, you can recover the activity in one of three ways:
+<em> </em>Retry<em> -- Retry the activity manually. You can repeat this any 
number of times until the activity completes or faults.
+</em> <em>Fault</em> -- Causes the activity to throw the 
<em>activityFailure</em> fault.
+<em> </em>Cancel* -- Cancels the activity. The activity completes 
unsuccessfully: without changing the state of variables, by setting the status 
of all its source links to false, and without installing a compensation handler.
+Activity recovery is performed individually for each activity instance, and 
does not affect other activities executing in the same process. While the 
activity is in the <em>FAILURE</em> state, the process instance remains in the 
<em>ACTIVE</em> state and may execute other activities from parallel flows and 
event handlers.</p>
+<p><a name="ActivityFailureandRecovery-SpecifyingFailureBehavior"></a></p>
+<h3 id="specifying-failure-behavior">Specifying Failure Behavior</h3>
+<p>Use the <em>failureHandling</em> extensibility element defined in the 
namespace <code>http://ode.apache.org/activityRecovery</code>. The structure of 
the <em>failureHandling</em> element is:</p>
+<div class="codehilite"><pre><span class="nt">&lt;ext:failureHandling</span> 
<span class="na">xmlns:ext=</span><span 
class="s">&quot;http://ode.apache.org/activityRecovery&quot;</span><span 
class="nt">&gt;</span>
+    <span class="nt">&lt;ext:faultOnFailure&gt;</span> _boolean_ <span 
class="nt">&lt;/ext:faultOnFailure&gt;</span>
+    <span class="nt">&lt;ext:retryFor&gt;</span> _integer_ <span 
class="nt">&lt;/ext:retryFor&gt;</span>
+    <span class="nt">&lt;ext:retryDelay&gt;</span> _integer_ <span 
class="nt">&lt;/ext:retryDelay&gt;</span>
+<span class="nt">&lt;/ext:failureHandling&gt;</span>
+</pre></div>
+
+
+<p>The <em>faultOnFailure</em>, <em>retryFor</em> and <em>retryDelay</em> 
elements are optional. The default values are false for 
<em>faultOnFailure</em>, and zero for <em>retryFor</em> and 
<em>retryDelay</em>.</p>
+<p>An activity that does not specify failure handling using this extensibility 
element, inherits the failure handling policy of its parent activity, 
recursively up to the top-level activity of the process. You can useinheritence 
to specify the failure handling policy of a set of activities, or all 
activities in the process, using a single <em>failureHandling</em> 
extensibility element.</p>
+<p>Note that due to this behavior, if activity <em>S</em> specifies failure 
handling with the values <em>retryFor=2, retryDelay=60</em>, and has a child 
activity <em>R</em> that specifies failure handling with the values 
<em>retryFor=3</em>, the <em>retryDelay</em> value for the child activity 
<em>R</em> is 0, and not 60. Using the <em>failureHandling</em> element without 
specifying one of its value elements will apply the default value for that 
element.</p>
+<p><a name="ActivityFailureandRecovery-Examples"></a></p>
+<h3 id="examples">Examples</h3>
+<p>A simple invoke with the <code>ext:failureHandling</code> extension:</p>
+<div class="codehilite"><pre><span class="nt">&lt;bpel:invoke</span> <span 
class="na">inputVariable=</span><span class="s">&quot;myRequest&quot;</span>
+    <span class="na">operation=</span><span class="s">&quot;foo&quot;</span> 
<span class="na">outputVariable=</span><span 
class="s">&quot;aResponse&quot;</span>
+    <span class="na">partnerLink=</span><span 
class="s">&quot;myPartner&quot;</span> <span class="na">portType=</span><span 
class="s">&quot;spt:SomePortType&quot;</span><span class="nt">&gt;</span>
+
+    <span class="nt">&lt;ext:failureHandling</span> <span 
class="na">xmlns:ext=</span><span 
class="s">&quot;http://ode.apache.org/activityRecovery&quot;</span><span 
class="nt">&gt;</span>
+        <span class="nt">&lt;ext:faultOnFailure&gt;</span>false<span 
class="nt">&lt;/ext:faultOnFailure&gt;</span>
+        <span class="nt">&lt;ext:retryFor&gt;</span>2<span 
class="nt">&lt;/ext:retryFor&gt;</span>
+        <span class="nt">&lt;ext:retryDelay&gt;</span>60<span 
class="nt">&lt;/ext:retryDelay&gt;</span>
+    <span class="nt">&lt;/ext:failureHandling&gt;</span>
+
+<span class="nt">&lt;/bpel:invoke&gt;</span>
+</pre></div>
+
+
+<p>And a sequence activity that converts failures into faults:</p>
+<div class="codehilite"><pre><span class="nt">&lt;bpel:sequence&gt;</span>
+
+    <span class="nt">&lt;ext:failureHandling</span> <span 
class="na">xmlns:ext=</span><span 
class="s">&quot;http://ode.apache.org/activityRecovery&quot;</span><span 
class="nt">&gt;</span>
+        <span class="nt">&lt;ext:faultOnFailure&gt;</span>true<span 
class="nt">&lt;/ext:faultOnFailure&gt;</span>
+    <span class="nt">&lt;/ext:failureHandling&gt;</span>
+
+    ...
+
+    <span class="nt">&lt;bpel:invoke</span> <span 
class="na">inputVariable=</span><span class="s">&quot;myRequest&quot;</span>
+        <span class="na">operation=</span><span 
class="s">&quot;foo&quot;</span> <span class="na">outputVariable=</span><span 
class="s">&quot;aResponse&quot;</span>
+        <span class="na">partnerLink=</span><span 
class="s">&quot;myPartner&quot;</span> <span class="na">portType=</span><span 
class="s">&quot;spt:SomePortType&quot;</span><span class="nt">&gt;</span>
+
+        <span class="nt">&lt;bpel:catchAll&gt;</span>
+            ...
+        <span class="nt">&lt;/bpel:catchAll&gt;</span>
+
+    <span class="nt">&lt;/bpel:invoke&gt;</span>
+
+<span class="nt">&lt;/bpel:sequence&gt;</span>
+</pre></div>
+
+
+<p><a name="ActivityFailureandRecovery-ProcessInstanceManagement"></a></p>
+<h3 id="process-instance-management">Process Instance Management</h3>
+<p>The process instance management provides the following information:
+<em> Process instance summary includes a <em>failures</em> element with a 
count of the total number of process instances that have one or more activities 
in recovery mode, and the date/time of the last activity to enter recovery 
mode. The element exists if at least one activity is in recovery mode.</em> 
Process instance information includes a <em>failures</em> element with a count 
of the number of activities in recovery mode, and the date/time of the last 
activity to enter recovery mode. The element exists if at least one activity is 
in recovery mode.
+* Activity instance information includes a <em>failure</em> element that 
specifies the date/time of the failure, the reason for the failure, number of 
retries, and list of available recovery actions. The element exists if the 
activity is in the state <em>FAILURE</em>.</p>
+<p>Use the <em>recoverActivity</em> operation to perform a recovery action on 
an activity in recovery mode. The operation requires the process instance ID, 
the activity instance ID and the recovery action to perform (one of retry, 
fault or cancel).</p>
+<p>You can also determine when failure or recovery occurred for a given 
activity instance from the execution log.</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>&trade;</sup> is a top-level 
project at the <a href="http://www.apache.org";>Apache Software 
Foundation<sup>&trade;</sup></a>,
+            having graduated from the ASF Incubator in July 2007. 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 -->
+    <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>
+  </body>
+</html>
\ No newline at end of file

Modified: websites/staging/ode/trunk/content/sitemap.html
==============================================================================
--- websites/staging/ode/trunk/content/sitemap.html (original)
+++ websites/staging/ode/trunk/content/sitemap.html Fri Dec 28 16:47:39 2012
@@ -86,7 +86,6 @@
           <ul>
 <li><a href="/abstract-wsdl.html">abstract WSDL</a></li>
 <li><a href="/activities.html">Activities</a></li>
-<li><a href="/activity-failure-and-recovery.html">Activity Failure and 
Recovery</a></li>
 <li><a href="/agha86.html">Agha86</a></li>
 <li><a href="/ambiguousreceive.html">ambiguousReceive</a></li>
 <li><a href="/assign.html">assign</a></li>


Reply via email to