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/12/11 14:24:13 UTC

svn commit: r841683 - in /websites/staging/ode/trunk/content: ./ faq.html sitemap.html userguide/index.html

Author: buildbot
Date: Tue Dec 11 13:24:12 2012
New Revision: 841683

Log:
Staging update by buildbot for ode

Modified:
    websites/staging/ode/trunk/content/   (props changed)
    websites/staging/ode/trunk/content/faq.html
    websites/staging/ode/trunk/content/sitemap.html
    websites/staging/ode/trunk/content/userguide/index.html

Propchange: websites/staging/ode/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Dec 11 13:24:12 2012
@@ -1 +1 @@
-1420131
+1420144

Modified: websites/staging/ode/trunk/content/faq.html
==============================================================================
--- websites/staging/ode/trunk/content/faq.html (original)
+++ websites/staging/ode/trunk/content/faq.html Tue Dec 11 13:24:12 2012
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <title>FAQ</title>
+    <title>Frequently Asked Questions</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" />
 
@@ -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>
@@ -72,7 +72,7 @@
     <header class="jumbotron subhead" id="overview">
       <div class="container">
         
-        <h1>FAQ</h1>
+        <h1>Frequently Asked Questions</h1>
         
       </div>
     </header>
@@ -83,7 +83,100 @@
       
       <div class="row">
         <div class="span12">
-          <p>{include:Frequently Asked Questions}</p>
+          <h2 id="faq">FAQ</h2>
+<p>This section collections frequently asked questions about ODE, BPEL, and related topics.</p>
+<h2 id="general">General</h2>
+<p><strong>Q.</strong> <em>What is ODE?</em>
+<strong>A.</strong> ODE is a system for executing reliable long-running process described using the WS-BPEL 2.0 standard and the BPEL4WS 1.1 vendor specification.</p>
+<p><strong>Q.</strong> <em>What is the architecture of ODE?</em>
+<strong>A.</strong> The architecture of ODE is described in the ODE [Architectural Overview]</p>
+<p><strong>Q.</strong> <em>In what language is ODE written?</em>
+<strong>A.</strong> ODE is written in Java and relies on JDK v5.0 features.</p>
+<p><strong>Q.</strong> <em>How does ODE ensure reliable process execution?</em>
+<strong>A.</strong> ODE relies on a relational database to provide persistent storage.</p>
+<h2 id="language-related-bpel-questions">Language-Related BPEL Questions</h2>
+<p>This section covers frequently-asked questions about ODE's support for the OASIS WS-BPEL language.</p>
+<p><strong>Q.</strong> <em>Which version or versions of BPEL does ODE currently support?</em>
+<strong>A.</strong> ODE aims to provide full compliance to the OASIS <a href="ws-bpel-20.html">WS-BPEL 2.0</a> standard as well as backward compatibility for BPEL4WS 1.1 processes. At present, ODE (mostly) supports the syntax of the final <a href="ws-bpel-20.html">WS-BPEL 2.0</a> draft; limitations are described in the <a href="ws-bpel-20-specification-compliance.html">WS-BPEL 2.0 Specification Compliance</a> page.</p>
+<p><strong>Q.</strong> <em>Is the entire</em> <em><a href="ws-bpel-20.html">WS-BPEL 2.0</a></em> <em>specification supported?</em>
+<strong>A.</strong> Most WS-BPEL 2.0 language features (and all important features) are supported. For specifics see the <a href="ws-bpel-20-specification-compliance.html">WS-BPEL 2.0 Specification Compliance</a> page.</p>
+<p><strong>Q.</strong> <em>Does ODE use native Java language constructs to execute BPEL, e.g., multiple threads for a</em> <em><code>&lt;bpel:flow&gt;</code></em> <em>or a</em> <code>while (...) {...}</code> <em>for a</em> <code>&lt;bpel:while&gt;</code>?
+<strong>A.</strong> No. ODE's BPEL implementation does not map the BPEL process into Java. Instead, it relies on a transactional concurrency framework <a href="/developerguide/jacob.html">JaCOb</a> similar to the theoretical concurrency model known as ACTORS [Agha86].</p>
+<p><strong>Q.</strong> <em>Does ODE support BPEL processes developed in third-party tools?</em>
+<strong>A.</strong> Yes. Well-formed BPEL from any source should work.</p>
+<p><strong>Q.</strong> <em>Can ODE support extensions or alternatives to standard BPEL syntax and semantics?</em>
+<strong>A.</strong> Yes. ODE's BPEL compiler can be customized to support non-standard BPEL syntax and semantics.</p>
+<p><strong>Q.</strong> <em>Does ODE support custom XPath extension functions in a BPEL process?</em> What are the limitations?
+<strong>A.</strong> Yes. XPath extension functions are supported; however, to ensure correct process execution in the presence of system failures, extension functions must be side-effect free.</p>
+<p><strong>Q.</strong> <em>Does ODE support custom expression / query languages?</em>
+<strong>A.</strong> Yes. The expression / query language is fully pluggable.</p>
+<p><strong>Q.</strong> <em>Does ODE support BPELJ or JSR-207?</em>
+<strong>A.</strong> No.</p>
+<p><strong>Q.</strong> <em>Can multiple BPEL activities be grouped into a single transaction?</em>
+<strong>A.</strong> No.</p>
+<p><strong>Q.</strong> <em>My process fails with a</em> <code>selectionFailure</code>; What can I do?_
+<strong>A.</strong> BPEL expects a <em>single</em> element to be selected when evaluating <code>&lt;to&gt;</code> and <code>&lt;from&gt;</code> expressions, and a <code>selectionFailure</code> fault is thrown if zero or more than one element are selected.</p>
+<p>If you get zero element, double-check your namespace prefix and bindings.   Also, remember that you must initialize your variables (most often with <code>&lt;literal&gt;</code>'s) before assigning into them, unless your are reassigning the whole variable (e.g. directly into <code>$variable</code>, or <code>$variable.part</code>).  To debug assignments, you can set the "org.apache.ode" logging category to DEBUG in order to see the content of variables as the process executes.</p>
+<h2 id="bpel-process-management">BPEL Process Management</h2>
+<p>This section covers frequently-asked questions about the runtime management of the engine and process instances.</p>
+<p><strong>Q.</strong> <em>Does ODE support process versioning?</em>
+<strong>A.</strong> Yes, our versioning approach is described <a href="process-versioning.html">here</a> in detail. The ability to modify the definition of an existing process instance may be available in future versions.</p>
+<p><strong>Q.</strong> <em>Does ODE provide debugging facilities?</em>
+<strong>A.</strong> Yes, BPEL processes can be debugged "in-container" using the <a href="management-api.html">Management API</a>.</p>
+<p><strong>Q.</strong> <em>What kind of eventing or audit information is available from ODE's BPEL engine?</em>
+<strong>A.</strong> ODE includes a rich eventing API that exposes information about the start and completion time of activities and scopes, variable manipulations, and other information. Event listeners can extract as much or as little of this information as desired.</p>
+<h2 id="runtime-environments-and-requirements">Runtime Environments and Requirements</h2>
+<p>This section covers frequently-asked questions about the runtime requirements for ODE and supported thirdparty products.</p>
+<p><strong>Q.</strong> <em>Which Java virtual machines and runtime environments does ODE support?</em>
+<strong>A.</strong> <a href="building-ode.html">Building ODE</a> and executing ODE requires JDK 5.0.</p>
+<p><strong>Q.</strong> <em>Which operating systems does ODE support?</em>
+<strong>A.</strong> ODE is written entirely in Java and can run on any operating system supporting the required Java environment. ODE has been tested and is known to run on Windows 2000, Windows XP, Linux, MacOS X, Solaris, and AIX.</p>
+<p><strong>Q.</strong> <em>Does ODE require a database? Which databases and versions does ODE support?</em>
+<strong>A.</strong> ODE does not depend directly on any specific database or persistence mechanism. Instead, ODE relies on a set of data access object ("DAO") interfaces that encapsulate the behaviors of a persistence layer. The ODE distribution includes a DAO implementation for JDBC databases built using [OpenJPA|http://openjpa.apache.org]. This DAO implementation can support most common relational databases. Schemas suitable for [MySQL|http://www.mysql.com] and [Derby|http://db.apache.org/derby/] are provided. Relational databases lacking transaction or binary large object ("BLOB") capabilities are not supported. The DAO interfaces can readily be implemented to support alternative persistence mechanisms (e.g. JDO), XML datastores, or direct filesystem-based persistence.</p>
+<p><strong>Q.</strong> <em>Does ODE require a J2EE application server?</em>
+<strong>A.</strong> The core ODE components do not require a J2EE application server. ODE relies on a [Integration API|http://svn.apache.org/repos/asf/ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/] that allows ODE to be embedded in most any environment that can supply the required facilities. An [AXIS2 Integration] is provided that permits ODE to be installed on a J2EE application server, or in a "dumb" Servlet container via a WAR file. A [JBI Integration] integration is also provided that permits ODE to be installed in a JBI container.</p>
+<p><strong>Q.</strong> <em>Is there a stand-alone ODE integration?</em>
+<strong>A.</strong> No, the standard ODE distributions require either an application server, Servlet container, or JBI container.</p>
+<p><strong>Q.</strong> <em>Can ODE be deployed within an application server or web container?</em>
+<strong>A.</strong> Yes, ODE can be deployed into most common application servers. However, it is important to note that ODE is not an <em>enterprise application</em> in the J2EE sense: ODE manages its own transactions and threads.</p>
+<p><strong>Q.</strong> <em>Does ODE require JMS?</em>
+<strong>A.</strong> No, however future versions of ODE will require a transactional transport to support clustering.</p>
+<p><strong>Q.</strong> <em>Is ODE internationalized? If so, which languages are supported?</em>
+<strong>A.</strong> ODE messages intended for user consumption are internationalized using the Java resource bundle mechanism. American english messages are provided.</p>
+<p><strong>Q.</strong> <em>I'm getting data truncation errors, what does that mean?</em>
+<strong>A.</strong> We try to use sensible sizes for the database columns that contain messages and variables in ODE. However if you're manipulating large quantities of data that may not e enough. The solution in that case is to alter the column that's too short to reserve enough database space for your needs.</p>
+<h2 id="integration-with-third-party-products">Integration with Third-Party Products</h2>
+<p>This section covers frequently asked questions related to integrating ODE into third-party products or integrating third-party products into ODE.</p>
+<p><strong>Q.</strong> <em>Can ODE interact directly (i.e., not over the network) with native Java services?</em>
+<strong>A.</strong> This is currently supported in the [JBI Integration] via standard JBI mechanisms. It is currently not supported in the [AXIS2 Integration] but will be in the future.</p>
+<p><strong>Q.</strong> <em>Can ODE integrate with Middleware X? Can ODE integrate with Legacy system Y? Can ODE integrate with Enterprise Application Z? How is this accomplished?</em>
+<strong>A.</strong> The generic answer is "Yes," although it requires some work on the part of the integrator. The primary extension point for integrating with external systems is the [Integration API|http://ode.apache.org/javadoc/org/apache/ode/bpel/pmapi/ProcessManagement.html], which can be used to embed ODE in most any environment.</p>
+<p><strong>Q.</strong> <em>Does ODE rely on any third-party or open source libraries?</em>
+<strong>A.</strong> ODE uses a number of liberally-licensed (i.e., non-GPL) open source libraries, some integral and some not. These are enumerated in the [reference|Required Third-Party Libraries].</p>
+<h2 id="ode-and-web-services">ODE and Web Services</h2>
+<p>This section covers frequently asked questions about how ODE related to various web services specifications and initiatives.</p>
+<p><strong>Q.</strong> <em>Does ODE supply a SOAP stack?</em>
+<strong>A.</strong> Not directly. ODE relies on the [Integration Layer|Architectural Overview#ODEIntegrationLayers] to supply the "physical" communication mechanisms. The [AXIS2 Integration Layer|Architectural Overview#ODEIntegrationLayers] that is part of the ODE distribution uses the AXIS2 SOAP stack. The [JBI Integration Layer|Architectural Overview#ODEIntegrationLayers] relies on external HTTP/SOAP components (e.g. ServiceMix's {{servicemix-http}} component).</p>
+<p><strong>Q.</strong> <em>Can ODE be integrated with third-party web services products such as Apache AXIS, Systinet WASP, or JAXRPC?</em>
+<strong>A.</strong> Yes, ODE can be integrated into most any stack via the [Integration API|http://incubator.apache.org/ode/javadoc/bpel-api/index.html]</p>
+<p><strong>Q.</strong> <em>Does ODE support web services transaction specifications, e.g., WS-Transaction, WS-Coordination, WS-Business Activity, OASIS BTP, or Composite Application Framework (WS-CAF)?</em>
+<strong>A.</strong> No, not at present.</p>
+<p><strong>Q.</strong> <em>Does ODE support WS-Addressing?</em>
+<strong>A.</strong> ODE does not directly support WS-Addressing. However, the BPEL implementation and the core ODE infrastructure provides support for opaque end-point references. This allows ODE to be integrated with arbitrary addressing standards. The [AXIS2 Integration Layer] for ODE employs this mechanism to support WS-Addressing.</p>
+<h2 id="reliability">Reliability</h2>
+<p>This section covers frequently asked questions about the reliability of ODE.</p>
+<p><strong>Q.</strong> <em>Can ODE recover in the event of system failure?</em>
+<strong>A.</strong> Yes, ODE uses  transaction management and relies on transactional data stores to ensure data consistency in the event of failure.</p>
+<p><strong>Q.</strong> <em>How does ODE's BPEL Engine recover in the event of system failure?</em>
+<strong>A.</strong> todo: describe recovery mechanism</p>
+<p><strong>Q.</strong> <em>What happens to outbound invocations bound to transaction protocols (such as SOAP-over-JMS) in the event of system failure?</em>
+<strong>A.</strong> todo: describe</p>
+<p><strong>Q.</strong> <em>What happens to outbound invocations bound to non-transactional protocols (such as HTTP) in the event of system failure?</em>
+<strong>A.</strong> todo: describe</p>
+<h2 id="clustering">Clustering</h2>
+<p>This section covers frequently asked questions about ODE's clustering support.</p>
+<p><strong>Q.</strong> <em>Can ODE be deployed in clustered or other configurations intended to provide fault tolerance and increased performance?</em>
+<strong>A.</strong> Clustering support is currently under development. Clustering support will require a transaction inter-node transport (such as JMS) as well as a transactional data store that can be accessed concurrently by all nodes in the cluster (i.e. a modern RDBMS).</p>
         </div>
       </div>
       

Modified: websites/staging/ode/trunk/content/sitemap.html
==============================================================================
--- websites/staging/ode/trunk/content/sitemap.html (original)
+++ websites/staging/ode/trunk/content/sitemap.html Tue Dec 11 13:24:12 2012
@@ -113,7 +113,7 @@
 <li><a href="/exported-port.html">exported port</a></li>
 <li><a href="/expression-languages.html">Expression Languages</a></li>
 <li><a href="/external-variables.html">External Variables</a></li>
-<li><a href="/faq.html">FAQ</a></li>
+<li><a href="/faq.html">Frequently Asked Questions</a></li>
 <li><a href="/flexible-assigns.html">Flexible Assigns</a></li>
 <li><a href="/getting-ode.html">Getting ODE</a></li>
 <li><a href="/glossary.html">Glossary</a></li>

Modified: websites/staging/ode/trunk/content/userguide/index.html
==============================================================================
--- websites/staging/ode/trunk/content/userguide/index.html (original)
+++ websites/staging/ode/trunk/content/userguide/index.html Tue Dec 11 13:24:12 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>