Author: buildbot
Date: Fri Dec 28 21:20:06 2012
New Revision: 844167

Log:
Staging update by buildbot for ode

Added:
    
websites/staging/ode/trunk/content/extensions/external-variables-jdbc-mapping.html
Modified:
    websites/staging/ode/trunk/content/   (props changed)
    websites/staging/ode/trunk/content/extensions/external-variables.html

Propchange: websites/staging/ode/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Dec 28 21:20:06 2012
@@ -1 +1 @@
-1426637
+1426638

Added: 
websites/staging/ode/trunk/content/extensions/external-variables-jdbc-mapping.html
==============================================================================
--- 
websites/staging/ode/trunk/content/extensions/external-variables-jdbc-mapping.html
 (added)
+++ 
websites/staging/ode/trunk/content/extensions/external-variables-jdbc-mapping.html
 Fri Dec 28 21:20:06 2012
@@ -0,0 +1,246 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>External Variable: JDBC Mapping
</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>External Variable: JDBC Mapping
</h1>
+        
+      </div>
+    </header>
+    
+
+    <!-- Content -->
+    <div class="container">
+      
+      <div class="row">
+        <div class="span12">
+          <h2 id="overview">Overview</h2>
+<p>JDBC External Variables allow access to data stored in external JDBC data 
sources via the external variable BPEL extension. That is, assigning to a 
variable has the effect of inserting or updating a row in the database, while 
reading a variable, has the effect of selecting a row from the database. This 
extension is capable of handling standard non-LOB SQL data types. It is limited 
to binding one variable with a single row.</p>
+<h2 id="data-binding">Data Binding</h2>
+<p>The JDBC external variable mechanism is not intended to be a full-featured 
JDBC-XML mapping engine. Hence, there are some limitations on how variables can 
be bound to date. The most prominent of these is that a variable may only be 
bound to a single row. Furthermore, the type of the variable being bound must 
satisfy the following criteria:</p>
+<ul>
+<li>the variable must be an "element" type variable</li>
+<li>the name of the element can be anything</li>
+<li>the element must contain child elements corresponding to the columns being 
retrieved, each with a unique local name</li>
+<li>the child elements described above must all be of a simple type</li>
+<li>an xsi:nil attribute is used on the child elements to indicate that the 
value should be mapped to a database NULL</li>
+</ul>
+<h2 id="deployment-descriptor-format">Deployment Descriptor Format</h2>
+<p>Every external variable referenced in the BPEL process description must be 
configured in the deployment descriptor for the process. The following is an 
example deployment descriptor containing a JDBC external variable:</p>
+<div class="codehilite"><pre><span class="nt">&lt;deploy</span> <span 
class="na">xmlns=</span><span 
class="s">&quot;http://www.apache.org/ode/schemas/dd/2007/03&quot;</span>
+    <span class="na">xmlns:pns=</span><span 
class="s">&quot;http://ode/bpel/unit-test&quot;</span>
+    <span class="na">xmlns:wns=</span><span 
class="s">&quot;http://ode/bpel/unit-test.wsdl&quot;</span>
+    <span class="na">xmlns:xvar=</span><span 
class="s">&quot;http://ode.apache.org/externalVariables&quot;</span><span 
class="nt">&gt;</span>
+
+    <span class="nt">&lt;process</span> <span class="na">name=</span><span 
class="s">&quot;pns:HelloWorld2&quot;</span><span class="nt">&gt;</span>
+        <span class="nt">&lt;active&gt;</span>true<span 
class="nt">&lt;/active&gt;</span>
+        <span class="nt">&lt;provide</span> <span 
class="na">partnerLink=</span><span 
class="s">&quot;helloPartnerLink&quot;</span><span class="nt">&gt;</span>
+            <span class="nt">&lt;service</span> <span 
class="na">name=</span><span class="s">&quot;wns:HelloService&quot;</span> 
<span class="na">port=</span><span class="s">&quot;HelloPort&quot;</span><span 
class="nt">/&gt;</span>
+        <span class="nt">&lt;/provide&gt;</span>
+
+        <span class="nt">&lt;xvar:externalVariable</span> <span 
class="na">id=</span><span class="s">&quot;evar1&quot;</span> <span 
class="nt">&gt;</span>
+            <span class="nt">&lt;jdbc:jdbc</span> <span 
class="na">xmlns:jdbc=</span><span 
class="s">&quot;http://ode.apache.org/externalVariables/jdbc&quot;</span>
+                       <span class="na">xmlns=</span><span 
class="s">&quot;http://ode.apache.org/externalVariables/jdbc&quot;</span><span 
class="nt">&gt;</span>
+                <span class="nt">&lt;datasource-ref&gt;</span>testds<span 
class="nt">&lt;/datasource-ref&gt;</span>
+                <span class="nt">&lt;table&gt;</span>extvartable1<span 
class="nt">&lt;/table&gt;</span>
+                <span class="nt">&lt;column</span> <span 
class="na">name=</span><span class="s">&quot;id1&quot;</span>
+                    <span class="na">key=</span><span 
class="s">&quot;yes&quot;</span>
+                    <span class="na">generator=</span><span 
class="s">&quot;sequence&quot;</span> <span class="nt">/&gt;</span>
+                <span class="nt">&lt;column</span> <span 
class="na">name=</span><span class="s">&quot;id2&quot;</span>
+                    <span class="na">column-name=</span><span 
class="s">&quot;_id2_&quot;</span>
+                    <span class="na">key=</span><span 
class="s">&quot;yes&quot;</span>
+                    <span class="na">generator=</span><span 
class="s">&quot;uuid&quot;</span> <span class="nt">/&gt;</span>
+                <span class="nt">&lt;column</span> <span 
class="na">name=</span><span class="s">&quot;pid&quot;</span>
+                    <span class="na">generator=</span><span 
class="s">&quot;pid&quot;</span> <span class="nt">/&gt;</span>
+                <span class="nt">&lt;column</span> <span 
class="na">name=</span><span class="s">&quot;iid&quot;</span>
+                    <span class="na">generator=</span><span 
class="s">&quot;iid&quot;</span> <span class="nt">/&gt;</span>
+                <span class="nt">&lt;column</span> <span 
class="na">name=</span><span class="s">&quot;cts&quot;</span>
+                    <span class="na">generator=</span><span 
class="s">&quot;ctimestamp&quot;</span> <span class="nt">/&gt;</span>
+                <span class="nt">&lt;column</span> <span 
class="na">name=</span><span class="s">&quot;uts&quot;</span>
+                    <span class="na">generator=</span><span 
class="s">&quot;utimestamp&quot;</span> <span class="nt">/&gt;</span>
+                <span class="nt">&lt;column</span> <span 
class="na">name=</span><span class="s">&quot;foo&quot;</span> <span 
class="nt">/&gt;</span>
+                <span class="nt">&lt;column</span> <span 
class="na">name=</span><span class="s">&quot;bar&quot;</span> <span 
class="nt">/&gt;</span>
+            <span class="nt">&lt;/jdbc:jdbc&gt;</span>
+        <span class="nt">&lt;/xvar:externalVariable&gt;</span>
+
+    <span class="nt">&lt;/process&gt;</span>
+<span class="nt">&lt;/deploy&gt;</span>
+</pre></div>
+
+
+<p>The following sections describe each of the elements.</p>
+<h2 id="external-variable-configuration-element">External Variable 
Configuration Element</h2>
+<div class="codehilite"><pre><span class="nt">&lt;xvar:externalVariable</span> 
<span class="na">xmlns:xvar=</span><span 
class="s">&quot;http://ode.apache.org/externalVariables&quot;</span>
+                       <span class="na">id=</span><span 
class="s">&quot;_variable-id_&quot;</span><span class="nt">&gt;</span>
+  [external-var-config]
+<span class="nt">&lt;/xvar:externalVariable&gt;</span>
+</pre></div>
+
+
+<p>This is the deployment-descriptor extension element used to for configure 
an external variable. The id attribute provides a unique name for each 
variable. This element must have exactly one child element containing the 
external variable engine-specific configuration for the variable.</p>
+<h2 id="jdbc-engine-configuration-element">JDBC Engine Configuration 
Element</h2>
+<div class="codehilite"><pre><span class="nt">&lt;jdbc:jdbc</span> <span 
class="na">xmlns:jdbc=</span><span 
class="s">&quot;http://ode.apache.org/externalVariables/jdbc&quot;</span><span 
class="nt">&gt;</span>
+  [jdbc-specific-external-var-config]
+<span class="nt">&lt;/jdbc:jdbc&gt;</span>
+</pre></div>
+
+
+<p>This element contains the JDBC-specific configuration of the external 
variable. The children of this element are described below. It also is used to 
identify to the runtime the particular EVE implementation to be used ( i.e. the 
QNAME of the element is the engine identifier).</p>
+<h2 id="jdbc-config-data-source-reference">JDBC Config: Data Source 
Reference</h2>
+<div class="codehilite"><pre><span class="nt">&lt;datasource-ref&gt;</span> 
datasource-ref-name <span class="nt">&lt;/datasource-ref&gt;</span>
+</pre></div>
+
+
+<p>This specifies that the name of the data source that should be used to 
connect to the database. The binding between data source names and actual data 
sources is configured in the server configuration.  Alternatively, JNDI may be 
used to locate the data source, see below.</p>
+<h2 id="jdbc-config-data-source-jndi-reference">JDBC Config: Data Source JNDI 
Reference</h2>
+<div class="codehilite"><pre><span class="nt">&lt;datasource-jndi&gt;</span> 
datasource-jndi-name <span class="nt">&lt;/datasource-jndi&gt;</span>
+</pre></div>
+
+
+<p>This is used to specify the JNDI name of the data source that should be 
used to connect to the database.</p>
+<h2 id="jdbc-config-table-name">JDBC Config: Table Name</h2>
+<div class="codehilite"><pre><span class="nt">&lt;table&gt;</span> table-name 
<span class="nt">&lt;/table&gt;</span>
+</pre></div>
+
+
+<p>This element is used to specify the name of the table/view which will be 
bound to the variable.</p>
+<h2 id="jdbc-config-column-configuration">JDBC Config: Column 
Configuration</h2>
+<div class="codehilite"><pre><span class="nt">&lt;column</span> <span 
class="na">name=</span><span class="s">&quot;_name_&quot;</span> <span 
class="na">column-name=</span><span 
class="s">&quot;_db-column-name_&quot;</span><span class="err">?</span> <span 
class="na">key=</span><span class="s">&quot;yes|no&quot;</span><span 
class="err">?</span> 
+        <span class="na">generator=</span><span 
class="s">&quot;sequence|uuid|expression|pid|iid|ctimestamp|utimestamp&quot;</span><span
 class="err">?</span> 
+        <span class="na">sql=</span><span 
class="s">&quot;_sql-expression_&quot;</span> <span class="nt">/&gt;</span>
+</pre></div>
+
+
+<p>These elements are used to configure the columns in the table that are 
bound to the BPEL external variable. A separate <column> element must exist for 
each column that is to be bound.</p>
+<p>The <em>name</em> attribute must be unique for each column. This attribute 
corresponds to the name of the element to which the column is bound.
+By default, the <em>name</em> attribute also identifies the name of the 
database column that is bound. However, this can be overriden by specifying the 
database column name in the <em>column-name</em> attribute.
+When set to "yes", the <em>key</em> attribute indicates that the columns is 
part of the key for the table. Key columns are used in the WHERE clause of SQL 
statements to select a particular row. More than one column may be specified as 
a key column permitting compound keys.</p>
+<p>The optional <em>generator</em> attribute can be used to specify a value 
generator for the column. The following generators are supported:</p>
+<ul>
+<li>sequence - column is a sequence column, the value will be generated by the 
database on an INSERT</li>
+<li>uuid - place a server-generated UUID in the column</li>
+<li>expression - use a custom SQL expression to generate the value (useful for 
ORACLE SEQ.NEXTVAL)</li>
+<li>pid - place the process id in the column</li>
+<li>iid - place the instance id in the column</li>
+<li>ctimestamp - place a  timestamp in this column corresponding to the time 
of insert</li>
+<li>utimestamp - place a timestamp in this column every time the row is 
updated</li>
+</ul>
+<p>The <em>expression</em> attribute is used in conjunction with the 
"expression" value generator.</p>
+<h2 id="jdbc-config-initialization-mode">JDBC Config: Initialization Mode</h2>
+<div class="codehilite"><pre><span class="nt">&lt;init</span> <span 
class="na">mode=</span><span 
class="s">&quot;update|insert|update-insert|delete-insert&quot;</span><span 
class="nt">&gt;</span>
+</pre></div>
+
+
+<p>This element specifies how variable initializations should be handled. The 
following modes are supported:</p>
+<ul>
+<li>update - always use SQL UPDATE. With this mode, it is necessary that the 
external variable exist in the database beforehand.</li>
+<li>insert - always use SQL INSERT. With this mode, it is necessary that the 
external variable not exist in the database beforehand.</li>
+<li>update-insert - first attempt an SQL UPDATE, if that fails, do an SQL 
INSERT. This is the default mode</li>
+<li>delete-insert - first DELETE the row, then INSERT a new one.</li>
+</ul>
+<p>Note, that if the key contains a generated by sequence (see previous 
section), then the insert mode must be used.</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/extensions/external-variables.html
==============================================================================
--- websites/staging/ode/trunk/content/extensions/external-variables.html 
(original)
+++ websites/staging/ode/trunk/content/extensions/external-variables.html Fri 
Dec 28 21:20:06 2012
@@ -136,10 +136,10 @@
 <p>It is not required that the full identity of the external variable be 
resolved at scope creation. For example, an external variable may correspond to 
a database row where the identity is generated by the database during an insert 
operation.  In such a scenario the key mapping can be omitted, and the identity 
of the external variable will be unknown until the variable is assigned to. Any 
attempt to access the variable before the first assignment will result in an 
uninitialized variable fault. In general it is possible to specify external 
variables where some portions of the identity are determined using the key 
mappings and some using some other (implementation-specific) mechanism. In any 
case, if when the variable is read, the key is incomplete an uninitialized 
variable fault will result.</p>
 <p><a name="ExternalVariables-JDBCMapping"></a></p>
 <h3 id="jdbc-mapping">JDBC Mapping</h3>
-<p><a href="external-variables---jdbc-mapping.html">External Variables - JDBC 
Mapping</a></p>
+<p><a href="external-variables-jdbc-mapping.html">External Variables - JDBC 
Mapping</a></p>
 <p><a name="ExternalVariables-RESTMapping"></a></p>
 <h3 id="rest-mapping">REST Mapping</h3>
-<p><a href="external-variables---rest-mapping.html">External Variables - REST 
Mapping</a></p>
+<p>[External Variables - REST Mapping] TODO</p>
         </div>
       </div>
       


Reply via email to