Author: buildbot
Date: Mon Dec 31 15:37:21 2012
New Revision: 844417

Log:
Staging update by buildbot for ode

Modified:
    websites/staging/ode/trunk/content/   (props changed)
    websites/staging/ode/trunk/content/bpel-management-api-specification.html
    websites/staging/ode/trunk/content/instance-replayer.html
    websites/staging/ode/trunk/content/ode-execution-events.html
    websites/staging/ode/trunk/content/process-versioning.html

Propchange: websites/staging/ode/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Dec 31 15:37:21 2012
@@ -1 +1 @@
-1427148
+1427153

Modified: 
websites/staging/ode/trunk/content/bpel-management-api-specification.html
==============================================================================
--- websites/staging/ode/trunk/content/bpel-management-api-specification.html 
(original)
+++ websites/staging/ode/trunk/content/bpel-management-api-specification.html 
Mon Dec 31 15:37:21 2012
@@ -85,7 +85,7 @@
         <div class="span12">
           <p><a 
name="BPELManagementAPISpecification-BPELManagementAPISpecification"></a></p>
 <h1 id="bpel-management-api-specification">BPEL Management API 
Specification</h1>
-<p>The BPEL Management API {excerpt} exposes management functions related to 
BPEL processes and their instances{excerpt}.</p>
+<p>The BPEL Management API exposes management functions related to BPEL 
processes and their instances.</p>
 <p><a name="BPELManagementAPISpecification-GeneralDesignPrinciples"></a></p>
 <h2 id="general-design-principles">General Design Principles</h2>
 <p>The Process Management API is defined as a Web service interface. In doing 
so we can offer SOAP access to the service, and also create Java interfaces for 
SOAP access and JMX, depending on needs. All messages are defined as XML 
elements, mapping to WSDL doc/literal.</p>

Modified: websites/staging/ode/trunk/content/instance-replayer.html
==============================================================================
--- websites/staging/ode/trunk/content/instance-replayer.html (original)
+++ websites/staging/ode/trunk/content/instance-replayer.html Mon Dec 31 
15:37:21 2012
@@ -100,73 +100,73 @@
 </ol>
 <p>Replayer extends management api by 2 operations: replay and 
getCommunication (see pmapi.wsdl from ODE distribution).</p>
 <p>In order to do 1, you invoke:</p>
-<div class="codehilite"><pre>     <span class="nt">&lt;pmap:replay</span> 
<span class="na">xmlns:ns=</span><span 
class="s">&quot;http://www.apache.org/ode/pmapi/types/2006/08/02/&quot;</span><span
 class="nt">&gt;</span>
-        <span class="nt">&lt;replay&gt;</span>
-           <span class="nt">&lt;ns:upgradeInstance&gt;</span>1234<span 
class="nt">&lt;/ns:upgradeInstance&gt;</span>
-        <span class="nt">&lt;/replay&gt;</span>
-     <span class="nt">&lt;/pmap:replay&gt;</span>
+<div class="codehilite"><pre><span class="nt">&lt;pmap:replay</span> <span 
class="na">xmlns:ns=</span><span 
class="s">&quot;http://www.apache.org/ode/pmapi/types/2006/08/02/&quot;</span><span
 class="nt">&gt;</span>
+  <span class="nt">&lt;replay&gt;</span>
+     <span class="nt">&lt;ns:upgradeInstance&gt;</span>1234<span 
class="nt">&lt;/ns:upgradeInstance&gt;</span>
+  <span class="nt">&lt;/replay&gt;</span>
+<span class="nt">&lt;/pmap:replay&gt;</span>
 </pre></div>
 
 
 <p>To do 2, you need to retrieve exchanges from instance (or instances) by:</p>
-<div class="codehilite"><pre>      <span 
class="nt">&lt;pmap:getCommunication</span> <span 
class="na">xmlns:ns=</span><span 
class="s">&quot;http://www.apache.org/ode/pmapi/types/2006/08/02/&quot;</span><span
 class="nt">&gt;</span>
-        <span class="nt">&lt;getCommunication&gt;</span>
-           <span class="nt">&lt;ns:iid&gt;</span>1234<span 
class="nt">&lt;/ns:iid&gt;</span>
-        <span class="nt">&lt;/getCommunication&gt;</span>
-     <span class="nt">&lt;/pmap:getCommunication&gt;</span>
-
-            <span class="nt">&lt;ns:restoreInstance&gt;</span>
-        <span class="nt">&lt;ns:processType</span> <span 
class="na">xmlns:p=</span><span 
class="s">&quot;http://sample.bpel.org/bpel/sample&quot;</span><span 
class="nt">&gt;</span>p:OnEventCorrelation<span 
class="nt">&lt;/ns:processType&gt;</span>
-             <span class="nt">&lt;exchange</span> <span 
class="na">xmlns=</span><span 
class="s">&quot;http://www.apache.org/ode/pmapi/types/2006/08/02/&quot;</span><span
 class="nt">&gt;</span>
-               <span class="nt">&lt;type&gt;</span>M<span 
class="nt">&lt;/type&gt;</span>
-               <span 
class="nt">&lt;createTime&gt;</span>2009-04-01T16:41:29.873+02:00<span 
class="nt">&lt;/createTime&gt;</span>
-               <span class="nt">&lt;service</span> <span 
class="na">xmlns:sam=</span><span 
class="s">&quot;http://sample.bpel.org/bpel/sample&quot;</span><span 
class="nt">&gt;</span>sam:OnEventCorrelationInit<span 
class="nt">&lt;/service&gt;</span>
-               <span class="nt">&lt;operation&gt;</span>initiate<span 
class="nt">&lt;/operation&gt;</span>
-               <span class="nt">&lt;in&gt;</span>
-                  <span class="nt">&lt;initiate</span> <span 
class="na">xmlns:sam=</span><span 
class="s">&quot;http://sample.bpel.org/bpel/sample&quot;</span> <span 
class="na">xmlns:soapenv=</span><span 
class="s">&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;</span> <span 
class="na">xmlns=</span><span class="s">&quot;&quot;</span><span 
class="nt">&gt;</span>
-                     <span class="nt">&lt;payload&gt;</span>abc7<span 
class="nt">&lt;/payload&gt;</span>
-                     <span class="nt">&lt;payload2&gt;</span>abc8<span 
class="nt">&lt;/payload2&gt;</span>
-                  <span class="nt">&lt;/initiate&gt;</span>
-               <span class="nt">&lt;/in&gt;</span>
-               <span class="nt">&lt;out&gt;</span>
-                  <span class="nt">&lt;message</span> <span 
class="na">xmlns=</span><span class="s">&quot;&quot;</span><span 
class="nt">&gt;</span>
-                     <span class="nt">&lt;payload&gt;</span>test1<span 
class="nt">&lt;/payload&gt;</span>
-                     <span class="nt">&lt;payload2/&gt;</span>
-                  <span class="nt">&lt;/message&gt;</span>
-               <span class="nt">&lt;/out&gt;</span>
-            <span class="nt">&lt;/exchange&gt;</span>
-
-            <span class="nt">&lt;exchange</span> <span 
class="na">xmlns:ns=</span><span 
class="s">&quot;http://www.apache.org/ode/pmapi/types/2006/08/02/&quot;</span> 
<span class="na">xmlns=</span><span 
class="s">&quot;http://www.apache.org/ode/pmapi/types/2006/08/02/&quot;</span><span
 class="nt">&gt;</span>
-               <span class="nt">&lt;type&gt;</span>P<span 
class="nt">&lt;/type&gt;</span>
-               <span 
class="nt">&lt;createTime&gt;</span>2009-04-01T16:41:32.998+02:00<span 
class="nt">&lt;/createTime&gt;</span>
-               <span class="nt">&lt;service</span> <span 
class="na">xmlns:sam=</span><span 
class="s">&quot;http://sample.bpel.org/bpel/sample&quot;</span><span 
class="nt">&gt;</span>sam:OnEventCorrelation<span 
class="nt">&lt;/service&gt;</span>
-               <span class="nt">&lt;operation&gt;</span>initiate<span 
class="nt">&lt;/operation&gt;</span>
-               <span class="nt">&lt;in&gt;</span>
-                  <span class="nt">&lt;initiate</span> <span 
class="na">xmlns:sam=</span><span 
class="s">&quot;http://sample.bpel.org/bpel/sample&quot;</span> <span 
class="na">xmlns:soapenv=</span><span 
class="s">&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;</span> <span 
class="na">xmlns=</span><span class="s">&quot;&quot;</span><span 
class="nt">&gt;</span>
-                     <span class="nt">&lt;payload&gt;</span>abc7<span 
class="nt">&lt;/payload&gt;</span>
-                     <span class="nt">&lt;payload2&gt;</span>abc8<span 
class="nt">&lt;/payload2&gt;</span>
-                  <span class="nt">&lt;/initiate&gt;</span>
-               <span class="nt">&lt;/in&gt;</span>
-               <span class="nt">&lt;out&gt;</span>
-                  <span class="nt">&lt;message</span> <span 
class="na">xmlns=</span><span class="s">&quot;&quot;</span><span 
class="nt">&gt;</span>
-                     <span class="nt">&lt;payload&gt;</span>test5<span 
class="nt">&lt;/payload&gt;</span>
-                     <span class="nt">&lt;payload2/&gt;</span>
-                  <span class="nt">&lt;/message&gt;</span>
-               <span class="nt">&lt;/out&gt;</span>
-            <span class="nt">&lt;/exchange&gt;</span>
-            <span class="nt">&lt;/ns:restoreInstance&gt;</span>
+<div class="codehilite"><pre><span class="nt">&lt;pmap:getCommunication</span> 
<span class="na">xmlns:ns=</span><span 
class="s">&quot;http://www.apache.org/ode/pmapi/types/2006/08/02/&quot;</span><span
 class="nt">&gt;</span>
+  <span class="nt">&lt;getCommunication&gt;</span>
+     <span class="nt">&lt;ns:iid&gt;</span>1234<span 
class="nt">&lt;/ns:iid&gt;</span>
+  <span class="nt">&lt;/getCommunication&gt;</span>
+<span class="nt">&lt;/pmap:getCommunication&gt;</span>
+
+<span class="nt">&lt;ns:restoreInstance&gt;</span>
+    <span class="nt">&lt;ns:processType</span> <span 
class="na">xmlns:p=</span><span 
class="s">&quot;http://sample.bpel.org/bpel/sample&quot;</span><span 
class="nt">&gt;</span>p:OnEventCorrelation<span 
class="nt">&lt;/ns:processType&gt;</span>
+    <span class="nt">&lt;exchange</span> <span class="na">xmlns=</span><span 
class="s">&quot;http://www.apache.org/ode/pmapi/types/2006/08/02/&quot;</span><span
 class="nt">&gt;</span>
+        <span class="nt">&lt;type&gt;</span>M<span 
class="nt">&lt;/type&gt;</span>
+        <span 
class="nt">&lt;createTime&gt;</span>2009-04-01T16:41:29.873+02:00<span 
class="nt">&lt;/createTime&gt;</span>
+        <span class="nt">&lt;service</span> <span 
class="na">xmlns:sam=</span><span 
class="s">&quot;http://sample.bpel.org/bpel/sample&quot;</span><span 
class="nt">&gt;</span>sam:OnEventCorrelationInit<span 
class="nt">&lt;/service&gt;</span>
+        <span class="nt">&lt;operation&gt;</span>initiate<span 
class="nt">&lt;/operation&gt;</span>
+        <span class="nt">&lt;in&gt;</span>
+            <span class="nt">&lt;initiate</span> <span 
class="na">xmlns:sam=</span><span 
class="s">&quot;http://sample.bpel.org/bpel/sample&quot;</span> <span 
class="na">xmlns:soapenv=</span><span 
class="s">&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;</span> <span 
class="na">xmlns=</span><span class="s">&quot;&quot;</span><span 
class="nt">&gt;</span>
+                <span class="nt">&lt;payload&gt;</span>abc7<span 
class="nt">&lt;/payload&gt;</span>
+                <span class="nt">&lt;payload2&gt;</span>abc8<span 
class="nt">&lt;/payload2&gt;</span>
+            <span class="nt">&lt;/initiate&gt;</span>
+        <span class="nt">&lt;/in&gt;</span>
+        <span class="nt">&lt;out&gt;</span>
+            <span class="nt">&lt;message</span> <span 
class="na">xmlns=</span><span class="s">&quot;&quot;</span><span 
class="nt">&gt;</span>
+                <span class="nt">&lt;payload&gt;</span>test1<span 
class="nt">&lt;/payload&gt;</span>
+                <span class="nt">&lt;payload2/&gt;</span>
+            <span class="nt">&lt;/message&gt;</span>
+        <span class="nt">&lt;/out&gt;</span>
+    <span class="nt">&lt;/exchange&gt;</span>
+
+    <span class="nt">&lt;exchange</span> <span 
class="na">xmlns:ns=</span><span 
class="s">&quot;http://www.apache.org/ode/pmapi/types/2006/08/02/&quot;</span> 
<span class="na">xmlns=</span><span 
class="s">&quot;http://www.apache.org/ode/pmapi/types/2006/08/02/&quot;</span><span
 class="nt">&gt;</span>
+        <span class="nt">&lt;type&gt;</span>P<span 
class="nt">&lt;/type&gt;</span>
+        <span 
class="nt">&lt;createTime&gt;</span>2009-04-01T16:41:32.998+02:00<span 
class="nt">&lt;/createTime&gt;</span>
+        <span class="nt">&lt;service</span> <span 
class="na">xmlns:sam=</span><span 
class="s">&quot;http://sample.bpel.org/bpel/sample&quot;</span><span 
class="nt">&gt;</span>sam:OnEventCorrelation<span 
class="nt">&lt;/service&gt;</span>
+        <span class="nt">&lt;operation&gt;</span>initiate<span 
class="nt">&lt;/operation&gt;</span>
+        <span class="nt">&lt;in&gt;</span>
+            <span class="nt">&lt;initiate</span> <span 
class="na">xmlns:sam=</span><span 
class="s">&quot;http://sample.bpel.org/bpel/sample&quot;</span> <span 
class="na">xmlns:soapenv=</span><span 
class="s">&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;</span> <span 
class="na">xmlns=</span><span class="s">&quot;&quot;</span><span 
class="nt">&gt;</span>
+                <span class="nt">&lt;payload&gt;</span>abc7<span 
class="nt">&lt;/payload&gt;</span>
+                <span class="nt">&lt;payload2&gt;</span>abc8<span 
class="nt">&lt;/payload2&gt;</span>
+            <span class="nt">&lt;/initiate&gt;</span>
+        <span class="nt">&lt;/in&gt;</span>
+        <span class="nt">&lt;out&gt;</span>
+            <span class="nt">&lt;message</span> <span 
class="na">xmlns=</span><span class="s">&quot;&quot;</span><span 
class="nt">&gt;</span>
+                <span class="nt">&lt;payload&gt;</span>test5<span 
class="nt">&lt;/payload&gt;</span>
+                <span class="nt">&lt;payload2/&gt;</span>
+            <span class="nt">&lt;/message&gt;</span>
+        <span class="nt">&lt;/out&gt;</span>
+    <span class="nt">&lt;/exchange&gt;</span>
+<span class="nt">&lt;/ns:restoreInstance&gt;</span>
 </pre></div>
 
 
 <p>Then, you execute replay on the other ODE installation to replicate 
instance:</p>
-<div class="codehilite"><pre>      <span class="nt">&lt;pmap:replay</span> 
<span class="na">xmlns:ns=</span><span 
class="s">&quot;http://www.apache.org/ode/pmapi/types/2006/08/02/&quot;</span><span
 class="nt">&gt;</span>
-       <span class="nt">&lt;replay&gt;</span>
-           <span class="nt">&lt;ns:restoreInstance&gt;</span>
-           <span class="nt">&lt;ns:processType</span> <span 
class="na">xmlns:p=</span><span 
class="s">&quot;http://sample.bpel.org/bpel/sample&quot;</span><span 
class="nt">&gt;</span>p:OnEventCorrelation<span 
class="nt">&lt;/ns:processType&gt;</span>
-           ... exchanges
-           <span class="nt">&lt;/ns:restoreInstance&gt;</span>
-       <span class="nt">&lt;/replay&gt;</span>
-     <span class="nt">&lt;/pmap:replay&gt;</span>
+<div class="codehilite"><pre><span class="nt">&lt;pmap:replay</span> <span 
class="na">xmlns:ns=</span><span 
class="s">&quot;http://www.apache.org/ode/pmapi/types/2006/08/02/&quot;</span><span
 class="nt">&gt;</span>
+    <span class="nt">&lt;replay&gt;</span>
+        <span class="nt">&lt;ns:restoreInstance&gt;</span>
+            <span class="nt">&lt;ns:processType</span> <span 
class="na">xmlns:p=</span><span 
class="s">&quot;http://sample.bpel.org/bpel/sample&quot;</span><span 
class="nt">&gt;</span>p:OnEventCorrelation<span 
class="nt">&lt;/ns:processType&gt;</span>
+            ... exchanges
+        <span class="nt">&lt;/ns:restoreInstance&gt;</span>
+    <span class="nt">&lt;/replay&gt;</span>
+<span class="nt">&lt;/pmap:replay&gt;</span>
 </pre></div>
 
 
@@ -182,10 +182,10 @@ You can migrate a few instances at once 
 <li>Replayer extends BpelRuntimeContextImpl by ReplayerBpelRuntimeContextImpl 
class, which overrides methods like invoke and registerTimer to mock up 
communication.</li>
 <li>It implements ReplayerScheduler, which executes actions from past in time 
sorted order (exchanges given to replayer have createTime field, which is used 
for sorting)</li>
 <li>jobs from past are processed in ReplayerScheduler and jobs in future are 
registered in engine's scheduler</li>
-<li>In order to make integrity constraints, replaying returns error if:
-<strong> a first incoming request is routed to an existing instance instead of 
creating a new one
-</strong> next incoming request is routed to other instance or creates a new 
instance
-** there is some unprocessed communication while finishing replaying (for 
example if there is some outgoing exchange for service, which did not have 
INVOKE from replayed instance)</li>
+<li>In order to make integrity constraints, replaying returns error if:</li>
+<li>a first incoming request is routed to an existing instance instead of 
creating a new one</li>
+<li>next incoming request is routed to other instance or creates a new 
instance</li>
+<li>there is some unprocessed communication while finishing replaying (for 
example if there is some outgoing exchange for service, which did not have 
INVOKE from replayed instance)</li>
 <li>It extends bpel-compiler and xpath evaluation by $ode:currentEventDateTime 
variable</li>
 <li>It adds currentEventDateTime property to BpelRuntimeContext</li>
 <li>It adds replayer package to bpel engine in bpel-runtime module</li>

Modified: websites/staging/ode/trunk/content/ode-execution-events.html
==============================================================================
--- websites/staging/ode/trunk/content/ode-execution-events.html (original)
+++ websites/staging/ode/trunk/content/ode-execution-events.html Mon Dec 31 
15:37:21 2012
@@ -28,7 +28,7 @@
               <li class="">
                 <a href="/getting-ode.html">Getting ODE</a>
               </li>
-              <li class=" dropdown">
+              <li class="active 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>
@@ -83,11 +83,12 @@
       
       <div class="row">
         <div class="span12">
-          <p>ODE generates events to let you track what is exactly happening 
in the engine and produces detailed information about process executions. These 
events are persisted in ODE's database and can be queried using the <a 
href="management-api.html">Management API</a>. The default behavior for the 
engine is to always generate all events for every executed action. However from 
a performance standpoint it's a good idea to deactivate some of the events 
you're not interested in (or even all of them). Inserting all these events 
generates a non-negligeable overhead.</p>
+          <h2 id="overview">Overview</h2>
+<p>ODE generates events to let you track what is exactly happening in the 
engine and produces detailed information about process executions. These events 
are persisted in ODE's database and can be queried using the <a 
href="management-api.html">Management API</a>. The default behavior for the 
engine is to always generate all events for every executed action. However from 
a performance standpoint it's a good idea to deactivate some of the events 
you're not interested in (or even all of them). Inserting all these events 
generates a non-negligeable overhead.</p>
 <p><a name="ODEExecutionEvents-Eventtypes"></a></p>
-<h3 id="event-types">Event types</h3>
+<h2 id="event-types">Event types</h2>
 <p>The following table details each event possibly generated by ODE:</p>
-<table>
+<table class="table table-hover table-bordered">
 <tr><th>Event 
Name</th><th>Process/Scope</th><th>Description</th><th>Type</th></tr>
 <tr><td>ActivityEnabledEvent </td><td> Scope </td><td> An activity is enabled 
(just before it's started) </td><td> activityLifecycle
 </tr>
@@ -139,9 +140,9 @@
 
 <p>The second column specifies wether an event is associated with the process 
itself or with one of its scopes. The event type is used for filtering 
events.</p>
 <p><a name="ODEExecutionEvents-Filteringevents"></a></p>
-<h3 id="filtering-events">Filtering events</h3>
+<h2 id="filtering-events">Filtering events</h2>
 <p><a name="ODEExecutionEvents-Filteringattheprocesslevel"></a></p>
-<h4 id="filtering-at-the-process-level">Filtering at the process level</h4>
+<h3 id="filtering-at-the-process-level">Filtering at the process level</h3>
 <p>Using ODE's deployment descriptor, it's possible to tweak events generation 
to filtrate which ones get created. First, events can be filtered at the 
process level using one of the following stanza:</p>
 <div class="codehilite"><pre><span class="nt">&lt;dd:process-events</span> 
<span class="na">generate=</span><span class="s">&quot;all&quot;</span><span 
class="nt">/&gt;</span> <span class="c">&lt;!-- Default configuration 
--&gt;</span>
 
@@ -156,7 +157,7 @@
 
 <p>The first form just duplicates the default behaviour, when nothing is 
specified in the deployment descriptor, all events are generated. The third 
form lets you define which type of event is generated, possible types are: 
<code>instanceLifecycle</code>, <code>activityLifecycle</code>, 
<code>dataHandling</code>, <code>scopeHandling</code>, 
<code>correlation</code>.</p>
 <p><a name="ODEExecutionEvents-Filteringatthescopelevel"></a></p>
-<h4 id="filtering-at-the-scope-level">Filtering at the scope level</h4>
+<h3 id="filtering-at-the-scope-level">Filtering at the scope level</h3>
 <p>It's also possible to define filtering for each scope of your process. This 
overrides the settings defined on the process. In order to define event 
filtering on a scope, the scope activity MUST have a name in your process 
definition. Scopes are referenced by name in the deployment descriptor:</p>
 <div class="codehilite"><pre><span class="nt">&lt;dd:deploy</span> <span 
class="na">xmlns:dd=</span><span 
class="s">&quot;http://www.apache.org/ode/schemas/dd/2007/03&quot;</span><span 
class="nt">&gt;</span>
     ...
@@ -177,10 +178,10 @@
 <p>Note that it's useless to enable an event associated with the process 
itself when filtering events on scopes.</p>
 <p>The filter defined on a scope is automatically inherited by its inner 
scopes. So if no filter is defined on a scope, it will use the settings of its 
closest parent scope having event filters (up to the process). Note that what 
gets inherited is the full list of selected events, not each event definition 
individually.</p>
 <p><a name="ODEExecutionEvents-Eventlisteners"></a></p>
-<h3 id="event-listeners">Event listeners</h3>
+<h2 id="event-listeners">Event listeners</h2>
 <p>ODE lets you register your own event listeners to analyze all produced 
events and do whatever you want to do with them. To create a listener you just 
need to implement the <a 
href="https://svn.apache.org/repos/asf/ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/BpelEventListener.java";>org.apache.ode.bpel.iapi.BpelEventListener</a>
 interface.</p>
 <p>Then add your implementation in the server's classpath and add a property 
in ode-axis2.properties giving your fully qualified implementation class name. 
Something like:</p>
-<div class="codehilite"><pre><span class="n">ode</span><span 
class="o">-</span><span class="n">axis2</span><span class="o">.</span><span 
class="n">event</span><span class="o">.</span><span 
class="n">listeners</span><span class="o">=</span><span 
class="n">com</span><span class="o">.</span><span class="n">compamy</span><span 
class="o">.</span><span class="n">product</span><span class="o">.</span><span 
class="n">MyOdeEventListener</span>
+<div class="codehilite"><pre><span 
class="na">ode-axis2.event.listeners</span><span class="o">=</span><span 
class="s">com.compamy.product.MyOdeEventListener</span>
 </pre></div>
 
 

Modified: websites/staging/ode/trunk/content/process-versioning.html
==============================================================================
--- websites/staging/ode/trunk/content/process-versioning.html (original)
+++ websites/staging/ode/trunk/content/process-versioning.html Mon Dec 31 
15:37:21 2012
@@ -87,15 +87,13 @@
 <h2 id="introduction">Introduction</h2>
 <div class="toc">
 <ul>
-<li><a href="#introduction">Introduction</a><ul>
+<li><a href="#introduction">Introduction</a></li>
 <li><a href="#how-versioning-works">How Versioning Works</a><ul>
 <li><a href="#process-versioning-in-ode">Process Versioning in ODE</a></li>
 <li><a href="#remote-deployment-vs-hand-made-deployment">Remote Deployment vs. 
Hand-Made Deployment</a></li>
 </ul>
 </li>
 </ul>
-</li>
-</ul>
 </div>
 <p>Before starting on what process versioning exactly does, let's see what the 
world (or at least ODE) would be without versioning. It will be much more 
easier for you to understand the solution after fully seeing the problem.</p>
 <p>So you're starting using ODE and you've just designed you first business 
process. It's all nice and dandy and works perfectly. It works so well that you 
let your users start using it. It's not really production but you know, release 
early, release often, so let's see what users think of it. After a couple of 
days you realize that a couple of steps are missing, you add them in your 
process and once again, it executes smoothly. So let's see what our users think 
of the improvement! Next thing you know, your phone starts ringing and the user 
on the other side is most likely pretty upset. What happened?</p>
@@ -103,11 +101,11 @@
 <p>At this time there's no simple automated way to migrate a running process 
that has been executing using one definition to another new one. Computing the 
differences between the 2 definitions can be very complex and chances are that 
they're not even compatible! When you think of all these little tasks that are 
arranged just so to guarantee a perfect execution using the right data types, 
even minor alterations can get really tricky to apply on instances without 
blowing them all.</p>
 <p>So here is the crude and sad truth: without having some versioning goodness 
in it, a process engine will always delete all the running instances when a new 
process definition is deployed.</p>
 <p><a name="ProcessVersioning-HowVersioningWorks"></a></p>
-<h3 id="how-versioning-works">How Versioning Works</h3>
+<h2 id="how-versioning-works">How Versioning Works</h2>
 <p>So if existing executions can't be migrated, what are you going to do with 
them? Well, just let them be. Versioning is based on the fact that, instead of 
directly updating the original process definition (leaving its instances to 
their dreadful fate), another new version of this definition is created. The 
older one is declared retired so no new executions can be started on that one, 
the new process is the one to be used now on. But running instances can still 
finish their job  peacefully as the process they've been using to execute so 
far is still available and unchanged.</p>
 <p>However ODE also has the concept of deployment bundles and supports 2 modes 
of deployment (remotely or manually directly on the filsesystem). Let's see how 
we get versioning to work under those conditions.</p>
 <p><a name="ProcessVersioning-ProcessVersioninginOde"></a></p>
-<h4 id="process-versioning-in-ode">Process Versioning in ODE</h4>
+<h3 id="process-versioning-in-ode">Process Versioning in ODE</h3>
 <p>In ODE, processes are deployed in what we call a deployment bundle. When 
you come down to it, it's just a zip file or a directory containing ODE's 
deployment descriptor (<a 
href="creating-a-process#deployment-descriptor.html">deploy.xml</a>), the 
processes BPEL and all the other goodies necessary for your BPEL to run (WSDLs, 
schemas, xsl stylesheets, you name it). And what ODE is using to know you're 
redeploying the same thing is the deployment bundle name.</p>
 <p>So when you're redeploying a deployment bundle in ODE, here is what 
happens:</p>
 <ol>
@@ -129,7 +127,7 @@
 <p>There's still a last question left unsolved: what happens if you take your 
bundle and deploy it under a different name with the same content. If you know 
a bit about source version control (like CVS or Subversion), that's very close 
to branching, only you might be executing two branches at the same time. As ODE 
can't find another bundle with the same, the processes will simply be deployed 
<em>without</em> retiring anything. You will effectively have twice the same 
process deployed under different versions. In that scenario you're supposed to 
know what you're doing. </p>
 <p>If two identical process definitions are deployed at the same time, the 
behavior of the engine is unspecified. Which one of the two process will pick 
up the message? Who knows!? But this can be a very useful feature in specific 
cases when you want to deploy the same process twice (by same understand same 
name and same namespace) but the 2 definitions are actually different and 
enable different endpoints. This allows the parallel deployment of two 
different version of the same process provided that they don't overlap in their 
endpoint implementation.</p>
 <p><a name="ProcessVersioning-RemoteDeploymentvs.Hand-MadeDeployment"></a></p>
-<h4 id="remote-deployment-vs-hand-made-deployment">Remote Deployment vs. 
Hand-Made Deployment</h4>
+<h3 id="remote-deployment-vs-hand-made-deployment">Remote Deployment vs. 
Hand-Made Deployment</h3>
 <p>ODE supports 2 different ways of deploying bundles:</p>
 <ul>
 <li>using the deployment web service or JBI deployment.</li>


Reply via email to