You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by bu...@apache.org on 2012/11/23 19:03:10 UTC
svn commit: r839346 - in /websites/staging/ode/trunk/content: ./ jacob.html
sitemap.html
Author: buildbot
Date: Fri Nov 23 18:03:09 2012
New Revision: 839346
Log:
Staging update by buildbot for ode
Modified:
websites/staging/ode/trunk/content/ (props changed)
websites/staging/ode/trunk/content/jacob.html
websites/staging/ode/trunk/content/sitemap.html
Propchange: websites/staging/ode/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Nov 23 18:03:09 2012
@@ -1 +1 @@
-1413002
+1413003
Modified: websites/staging/ode/trunk/content/jacob.html
==============================================================================
--- websites/staging/ode/trunk/content/jacob.html (original)
+++ websites/staging/ode/trunk/content/jacob.html Fri Nov 23 18:03:09 2012
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
- <title>JaCOb</title>
+ <title>JaCOb -- ODE's Virtual Processing Unit</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" />
@@ -70,7 +70,7 @@
<header class="jumbotron subhead" id="overview">
<div class="container">
- <h1>JaCOb</h1>
+ <h1>JaCOb -- ODE's Virtual Processing Unit</h1>
</div>
</header>
@@ -89,8 +89,8 @@
<li>Concurrency.</li>
</ol>
<p>By rolling up these concerns in the framework, the implementation of the BPEL constructs can be simpler by limiting itself to implementing the BPEL logic and not the infrastructure necessary to support it.</p>
-<p>The approach we'll take in this tutorial is looking at the <a href="#rational.html">#rational</a> of JaCOb and its [#concepts] first. Then we'll illustrate with one complete <a href="#examples">example</a>. But if you're a reverse reader, you can also decide to start with the <a href="#example1">example</a>.</p>
-<p><a name="Jacob-Rationalebehindthemodel"></a></p>
+<p>The approach we'll take in this tutorial is looking at the <a href="#rationale">rationale</a> of JaCOb and its <a href="#concepts">concepts</a> first. Then we'll illustrate with one complete <a href="#example">example</a>. But if you're a reverse reader, you can also decide to start with the <a href="#example">example</a>.</p>
+<p><a name="rationale"></a></p>
<h2 id="rationale-behind-the-model">Rationale behind the model</h2>
<p>Let's start from the most classical example of all:</p>
<div class="codehilite"><pre><span class="kt">void</span> <span class="nf">process</span><span class="o">(</span><span class="n">order</span><span class="o">)</span> <span class="o">{</span>
@@ -170,6 +170,7 @@
</ol>
<p>From a client standpoint, we've achieved concurrency of execution even with one thread.</p>
<p>Next step is adding links, fault handling/termination, compensation and event handlers and seeing that continue/listenOn is all you need. The last step is just adding implementation details.</p>
+<p><a name="example"></a></p>
<h2 id="jacob-example">JaCOb Example</h2>
<p>Consider the issue of persistence. Imagine a simplified and naive implementation of the BPEL constructs <code><sequence></code>, <code><wait></code>, and <code><empty></code>:</p>
<div class="codehilite"><pre><span class="kd">class</span> <span class="nc">Sequence</span> <span class="kd">extends</span> <span class="n">Activity</span> <span class="o">{</span>
@@ -295,8 +296,8 @@
<p>So JaCOb constructs help us in breaking the execution stack.</p>
-<p><a name="Jacob-MainJacobConcepts="></a></p>
-<h2 id="main-jacob-concepts">Main JaCOb Concepts =</h2>
+<p><a name="concepts></a></p>
+<h2 id="main-jacob-concepts">Main JaCOb Concepts</h2>
<p><a name="Jacob-Channels"></a></p>
<h3 id="channels">Channels</h3>
<p>As briefly demonstrated above, channels are interfaces used for communication between activities in ODE engine. There are several types of channels like TerminationChannel, ParentScopeChannel or CompensationChannel (their respective purpose should be obvious from their name). Some basic channels are provided to all activities when they're created to allow them to interact with their environment. When an activity wants to notifies its parent that it has terminated for example, it just calls its parent TerminationChannel (see the Empty example above).</p>
Modified: websites/staging/ode/trunk/content/sitemap.html
==============================================================================
--- websites/staging/ode/trunk/content/sitemap.html (original)
+++ websites/staging/ode/trunk/content/sitemap.html Fri Nov 23 18:03:09 2012
@@ -131,7 +131,7 @@
<li><a href="/invalidvariables.html">invalidVariables</a></li>
<li><a href="/invoke.html">invoke</a></li>
<li><a href="/iterable-foreach.html">Iterable ForEach</a></li>
-<li><a href="/jacob.html">JaCOb</a></li>
+<li><a href="/jacob.html">JaCOb -- ODE's Virtual Processing Unit</a></li>
<li><a href="/jbi-deployment.html">JBI Deployment</a></li>
<li><a href="/logo.html">Logo</a></li>
<li><a href="/mailing-lists.html">Mailing Lists</a></li>