Author: vanto
Date: Tue Dec 11 13:24:03 2012
New Revision: 1420144

URL: http://svn.apache.org/viewvc?rev=1420144&view=rev
Log:
fix formatting.

Modified:
    ode/site/trunk/content/faq.mdtext
    ode/site/trunk/content/userguide/index.mdtext

Modified: ode/site/trunk/content/faq.mdtext
URL: 
http://svn.apache.org/viewvc/ode/site/trunk/content/faq.mdtext?rev=1420144&r1=1420143&r2=1420144&view=diff
==============================================================================
--- ode/site/trunk/content/faq.mdtext (original)
+++ ode/site/trunk/content/faq.mdtext Tue Dec 11 13:24:03 2012
@@ -1,4 +1,155 @@
-Title: FAQ
+Title: Frequently Asked Questions
+Category: documentation
 
+## FAQ
+This section collections frequently asked questions about ODE, BPEL, and 
related topics.
 
-{include:Frequently Asked Questions}
+## General
+
+__Q.__ _What is ODE?_
+__A.__ 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.
+
+__Q.__ _What is the architecture of ODE?_
+__A.__ The architecture of ODE is described in the ODE [Architectural Overview]
+
+
+__Q.__ _In what language is ODE written?_
+__A.__ ODE is written in Java and relies on JDK v5.0 features.
+
+__Q.__ _How does ODE ensure reliable process execution?_
+__A.__ ODE relies on a relational database to provide persistent storage.
+
+## Language-Related BPEL Questions
+
+This section covers frequently-asked questions about ODE's support for the 
OASIS WS-BPEL language.
+
+__Q.__ _Which version or versions of BPEL does ODE currently support?_
+__A.__ ODE aims to provide full compliance to the OASIS [WS-BPEL 
2.0](ws-bpel-20.html) standard as well as backward compatibility for BPEL4WS 
1.1 processes. At present, ODE (mostly) supports the syntax of the final 
[WS-BPEL 2.0](ws-bpel-20.html) draft; limitations are described in the [WS-BPEL 
2.0 Specification Compliance](ws-bpel-20-specification-compliance.html) page.
+
+__Q.__ _Is the entire_ _[WS-BPEL 2.0](ws-bpel-20.html)_ _specification 
supported?_
+__A.__ Most WS-BPEL 2.0 language features (and all important features) are 
supported. For specifics see the [WS-BPEL 2.0 Specification 
Compliance](ws-bpel-20-specification-compliance.html) page.
+
+__Q.__ _Does ODE use native Java language constructs to execute BPEL, e.g., 
multiple threads for a_ _```<bpel:flow>```_ _or a_ ```while (...) {...}``` _for 
a_ ```<bpel:while>```?
+__A.__ No. ODE's BPEL implementation does not map the BPEL process into Java. 
Instead, it relies on a transactional concurrency framework 
[JaCOb](/developerguide/jacob.html) similar to the theoretical concurrency 
model known as ACTORS [Agha86].
+
+__Q.__ _Does ODE support BPEL processes developed in third-party tools?_
+__A.__ Yes. Well-formed BPEL from any source should work.
+
+__Q.__ _Can ODE support extensions or alternatives to standard BPEL syntax and 
semantics?_
+__A.__ Yes. ODE's BPEL compiler can be customized to support non-standard BPEL 
syntax and semantics.
+
+__Q.__ _Does ODE support custom XPath extension functions in a BPEL process?_ 
What are the limitations?
+__A.__ 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.
+
+__Q.__ _Does ODE support custom expression / query languages?_
+__A.__ Yes. The expression / query language is fully pluggable.
+
+__Q.__ _Does ODE support BPELJ or JSR-207?_
+__A.__ No.
+
+__Q.__ _Can multiple BPEL activities be grouped into a single transaction?_
+__A.__ No.
+
+__Q.__ _My process fails with a_ ```selectionFailure```; What can I do?_
+__A.__ BPEL expects a *single* element to be selected when evaluating 
```<to>``` and ```<from>``` expressions, and a ```selectionFailure``` fault is 
thrown if zero or more than one element are selected.
+
+If you get zero element, double-check your namespace prefix and bindings.   
Also, remember that you must initialize your variables (most often with 
```<literal>```'s) before assigning into them, unless your are reassigning the 
whole variable (e.g. directly into ```$variable```, or ```$variable.part```).  
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.
+
+## BPEL Process Management
+
+This section covers frequently-asked questions about the runtime management of 
the engine and process instances.
+
+__Q.__ _Does ODE support process versioning?_
+__A.__ Yes, our versioning approach is described 
[here](process-versioning.html) in detail. The ability to modify the definition 
of an existing process instance may be available in future versions.
+
+__Q.__ _Does ODE provide debugging facilities?_
+__A.__ Yes, BPEL processes can be debugged "in-container" using the 
[Management API](management-api.html).
+
+__Q.__ _What kind of eventing or audit information is available from ODE's 
BPEL engine?_
+__A.__ 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.
+
+## Runtime Environments and Requirements
+
+This section covers frequently-asked questions about the runtime requirements 
for ODE and supported thirdparty products.
+
+__Q.__ _Which Java virtual machines and runtime environments does ODE support?_
+__A.__ [Building ODE](building-ode.html) and executing ODE requires JDK 5.0.
+
+__Q.__ _Which operating systems does ODE support?_
+__A.__ 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.
+
+__Q.__ _Does ODE require a database? Which databases and versions does ODE 
support?_
+__A.__ 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.
+
+__Q.__ _Does ODE require a J2EE application server?_
+__A.__ 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.
+
+__Q.__ _Is there a stand-alone ODE integration?_
+__A.__ No, the standard ODE distributions require either an application 
server, Servlet container, or JBI container.
+
+__Q.__ _Can ODE be deployed within an application server or web container?_
+__A.__ Yes, ODE can be deployed into most common application servers. However, 
it is important to note that ODE is not an _enterprise application_ in the J2EE 
sense: ODE manages its own transactions and threads.
+
+__Q.__ _Does ODE require JMS?_
+__A.__ No, however future versions of ODE will require a transactional 
transport to support clustering.
+
+__Q.__ _Is ODE internationalized? If so, which languages are supported?_
+__A.__ ODE messages intended for user consumption are internationalized using 
the Java resource bundle mechanism. American english messages are provided.
+
+__Q.__ _I'm getting data truncation errors, what does that mean?_
+__A.__ 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.
+
+## Integration with Third-Party Products
+
+This section covers frequently asked questions related to integrating ODE into 
third-party products or integrating third-party products into ODE.
+
+__Q.__ _Can ODE interact directly (i.e., not over the network) with native 
Java services?_
+__A.__ 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.
+
+__Q.__ _Can ODE integrate with Middleware X? Can ODE integrate with Legacy 
system Y? Can ODE integrate with Enterprise Application Z? How is this 
accomplished?_
+__A.__ 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.
+
+__Q.__ _Does ODE rely on any third-party or open source libraries?_
+__A.__ 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].
+
+## ODE and Web Services
+
+This section covers frequently asked questions about how ODE related to 
various web services specifications and initiatives.
+
+__Q.__ _Does ODE supply a SOAP stack?_
+__A.__ 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).
+
+__Q.__ _Can ODE be integrated with third-party web services products such as 
Apache AXIS, Systinet WASP, or JAXRPC?_
+__A.__ Yes, ODE can be integrated into most any stack via the [Integration 
API|http://incubator.apache.org/ode/javadoc/bpel-api/index.html]
+
+
+
+__Q.__ _Does ODE support web services transaction specifications, e.g., 
WS-Transaction, WS-Coordination, WS-Business Activity, OASIS BTP, or Composite 
Application Framework (WS-CAF)?_
+__A.__ No, not at present.
+
+__Q.__ _Does ODE support WS-Addressing?_
+__A.__ 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.
+
+## Reliability
+
+This section covers frequently asked questions about the reliability of ODE.
+
+__Q.__ _Can ODE recover in the event of system failure?_
+__A.__ Yes, ODE uses  transaction management and relies on transactional data 
stores to ensure data consistency in the event of failure.
+
+__Q.__ _How does ODE's BPEL Engine recover in the event of system failure?_
+__A.__ todo: describe recovery mechanism
+
+__Q.__ _What happens to outbound invocations bound to transaction protocols 
(such as SOAP-over-JMS) in the event of system failure?_
+__A.__ todo: describe
+
+
+__Q.__ _What happens to outbound invocations bound to non-transactional 
protocols (such as HTTP) in the event of system failure?_
+__A.__ todo: describe
+
+## Clustering
+
+This section covers frequently asked questions about ODE's clustering support.
+
+__Q.__ _Can ODE be deployed in clustered or other configurations intended to 
provide fault tolerance and increased performance?_
+__A.__ 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).

Modified: ode/site/trunk/content/userguide/index.mdtext
URL: 
http://svn.apache.org/viewvc/ode/site/trunk/content/userguide/index.mdtext?rev=1420144&r1=1420143&r2=1420144&view=diff
==============================================================================
--- ode/site/trunk/content/userguide/index.mdtext (original)
+++ ode/site/trunk/content/userguide/index.mdtext Tue Dec 11 13:24:03 2012
@@ -1,4 +1,5 @@
 Title: User Guide
+Category: documentation
 
 <a name="UserGuide-GettingStarted"></a>
 ## Getting Started


Reply via email to