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 &
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"><deploy</span> <span
class="na">xmlns=</span><span
class="s">"http://www.apache.org/ode/schemas/dd/2007/03"</span>
+ <span class="na">xmlns:pns=</span><span
class="s">"http://ode/bpel/unit-test"</span>
+ <span class="na">xmlns:wns=</span><span
class="s">"http://ode/bpel/unit-test.wsdl"</span>
+ <span class="na">xmlns:xvar=</span><span
class="s">"http://ode.apache.org/externalVariables"</span><span
class="nt">></span>
+
+ <span class="nt"><process</span> <span class="na">name=</span><span
class="s">"pns:HelloWorld2"</span><span class="nt">></span>
+ <span class="nt"><active></span>true<span
class="nt"></active></span>
+ <span class="nt"><provide</span> <span
class="na">partnerLink=</span><span
class="s">"helloPartnerLink"</span><span class="nt">></span>
+ <span class="nt"><service</span> <span
class="na">name=</span><span class="s">"wns:HelloService"</span>
<span class="na">port=</span><span class="s">"HelloPort"</span><span
class="nt">/></span>
+ <span class="nt"></provide></span>
+
+ <span class="nt"><xvar:externalVariable</span> <span
class="na">id=</span><span class="s">"evar1"</span> <span
class="nt">></span>
+ <span class="nt"><jdbc:jdbc</span> <span
class="na">xmlns:jdbc=</span><span
class="s">"http://ode.apache.org/externalVariables/jdbc"</span>
+ <span class="na">xmlns=</span><span
class="s">"http://ode.apache.org/externalVariables/jdbc"</span><span
class="nt">></span>
+ <span class="nt"><datasource-ref></span>testds<span
class="nt"></datasource-ref></span>
+ <span class="nt"><table></span>extvartable1<span
class="nt"></table></span>
+ <span class="nt"><column</span> <span
class="na">name=</span><span class="s">"id1"</span>
+ <span class="na">key=</span><span
class="s">"yes"</span>
+ <span class="na">generator=</span><span
class="s">"sequence"</span> <span class="nt">/></span>
+ <span class="nt"><column</span> <span
class="na">name=</span><span class="s">"id2"</span>
+ <span class="na">column-name=</span><span
class="s">"_id2_"</span>
+ <span class="na">key=</span><span
class="s">"yes"</span>
+ <span class="na">generator=</span><span
class="s">"uuid"</span> <span class="nt">/></span>
+ <span class="nt"><column</span> <span
class="na">name=</span><span class="s">"pid"</span>
+ <span class="na">generator=</span><span
class="s">"pid"</span> <span class="nt">/></span>
+ <span class="nt"><column</span> <span
class="na">name=</span><span class="s">"iid"</span>
+ <span class="na">generator=</span><span
class="s">"iid"</span> <span class="nt">/></span>
+ <span class="nt"><column</span> <span
class="na">name=</span><span class="s">"cts"</span>
+ <span class="na">generator=</span><span
class="s">"ctimestamp"</span> <span class="nt">/></span>
+ <span class="nt"><column</span> <span
class="na">name=</span><span class="s">"uts"</span>
+ <span class="na">generator=</span><span
class="s">"utimestamp"</span> <span class="nt">/></span>
+ <span class="nt"><column</span> <span
class="na">name=</span><span class="s">"foo"</span> <span
class="nt">/></span>
+ <span class="nt"><column</span> <span
class="na">name=</span><span class="s">"bar"</span> <span
class="nt">/></span>
+ <span class="nt"></jdbc:jdbc></span>
+ <span class="nt"></xvar:externalVariable></span>
+
+ <span class="nt"></process></span>
+<span class="nt"></deploy></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"><xvar:externalVariable</span>
<span class="na">xmlns:xvar=</span><span
class="s">"http://ode.apache.org/externalVariables"</span>
+ <span class="na">id=</span><span
class="s">"_variable-id_"</span><span class="nt">></span>
+ [external-var-config]
+<span class="nt"></xvar:externalVariable></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"><jdbc:jdbc</span> <span
class="na">xmlns:jdbc=</span><span
class="s">"http://ode.apache.org/externalVariables/jdbc"</span><span
class="nt">></span>
+ [jdbc-specific-external-var-config]
+<span class="nt"></jdbc:jdbc></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"><datasource-ref></span>
datasource-ref-name <span class="nt"></datasource-ref></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"><datasource-jndi></span>
datasource-jndi-name <span class="nt"></datasource-jndi></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"><table></span> table-name
<span class="nt"></table></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"><column</span> <span
class="na">name=</span><span class="s">"_name_"</span> <span
class="na">column-name=</span><span
class="s">"_db-column-name_"</span><span class="err">?</span> <span
class="na">key=</span><span class="s">"yes|no"</span><span
class="err">?</span>
+ <span class="na">generator=</span><span
class="s">"sequence|uuid|expression|pid|iid|ctimestamp|utimestamp"</span><span
class="err">?</span>
+ <span class="na">sql=</span><span
class="s">"_sql-expression_"</span> <span class="nt">/></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"><init</span> <span
class="na">mode=</span><span
class="s">"update|insert|update-insert|delete-insert"</span><span
class="nt">></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>™</sup> is a top-level
project at the <a href="http://www.apache.org">Apache Software
Foundation<sup>™</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>