Author: objectiser
Date: 2010-06-08 15:10:33 -0400 (Tue, 08 Jun 2010)
New Revision: 267
Added:
trunk/docs/userguide/src/main/images/validatorannotation.png
Removed:
trunk/docs/user/
trunk/docs/userguide/src/main/images/SVJBossESBAnnotation.jpg
trunk/docs/userguide/src/main/module/conversation-aware-esb.xml
Modified:
trunk/distribution/src/main/release/ReleaseNotes.txt
trunk/docs/gettingstartedguide/src/main/master.xml
trunk/docs/gettingstartedguide/src/main/module/overview.xml
trunk/docs/gettingstartedguide/src/main/module/servicedev.xml
trunk/docs/samplesguide/src/main/master.xml
trunk/docs/userguide/src/main/images/editvalidatorann.png
trunk/docs/userguide/src/main/images/editvalidatoranndiag.png
trunk/docs/userguide/src/main/images/editvalidatorannselect.png
trunk/docs/userguide/src/main/master.xml
trunk/docs/userguide/src/main/module/conversation-validation.xml
trunk/docs/userguide/src/main/module/overview.xml
Log:
SAVARA-73 - remove 'conversation aware' ESB aspects from distribution.
Modified: trunk/distribution/src/main/release/ReleaseNotes.txt
===================================================================
--- trunk/distribution/src/main/release/ReleaseNotes.txt 2010-06-08 13:34:00 UTC (rev
266)
+++ trunk/distribution/src/main/release/ReleaseNotes.txt 2010-06-08 19:10:33 UTC (rev
267)
@@ -1,3 +1,27 @@
+SAVARA 1.0.0.M2
+===============
+
+This is the second milestone of version 1.0.0 of SAVARA.
+
+This release has resulted in a number of significant changes to the structure of the
project.
+Rather than have three separate distributions, we have consolidated all functionality
into
+one main distribution, and an Eclipse update site for the plugins.
+
+The functionality associated with 'conversation aware' ESB actions has been
removed from the
+main distribution, and moved into a separate 'experimental' branch. This work has
provided
+some useful insight in to some possible features for the future, however the ideas are
+not mature enough to remain as part of the first release.
+
+NOTE: The annotation used for runtime validation has been renamed. Therefore if any
choreographies
+have been written, that include this annotation, you will need to update the annotation
name and
+the top level node of the XML fragment included in the annotation, from
'jbossesb' to 'validator'.
+This can either be achieved by create new annotations and copying the destinations, or
by
+opening the .cdm files in a text editor, and updating the <semanticAnnotation>
elements directly.
+
+The detailed release notes can be found at:
+https://jira.jboss.org/secure/ReleaseNote.jspa?projectId=12310870&version=12313913
+
+
SAVARA Tools Eclipse 1.0-M1
===========================
Modified: trunk/docs/gettingstartedguide/src/main/master.xml
===================================================================
--- trunk/docs/gettingstartedguide/src/main/master.xml 2010-06-08 13:34:00 UTC (rev 266)
+++ trunk/docs/gettingstartedguide/src/main/master.xml 2010-06-08 19:10:33 UTC (rev 267)
@@ -5,7 +5,7 @@
<book lang="en">
<bookinfo>
- <title>SAVARA Eclipse Tools 1.0.0-SNAPSHOT</title>
+ <title>SAVARA 1.0.0-SNAPSHOT</title>
<subtitle>Getting Started Guide</subtitle>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="module/author_group.xml"/>
</bookinfo>
Modified: trunk/docs/gettingstartedguide/src/main/module/overview.xml
===================================================================
--- trunk/docs/gettingstartedguide/src/main/module/overview.xml 2010-06-08 13:34:00 UTC
(rev 266)
+++ trunk/docs/gettingstartedguide/src/main/module/overview.xml 2010-06-08 19:10:33 UTC
(rev 267)
@@ -29,9 +29,8 @@
that delivers the requirements</listitem>
<listitem>Generation of documentation based on the choreography</listitem>
<listitem>Generation of service implementation using WS-BPEL</listitem>
+ <listitem>Generation of service interfaces using WSDL</listitem>
<listitem>Conformance checking a WS-BPEL service implementation against a
choreography</listitem>
- <listitem>Generation of service implementation using "conversation
aware" ESB actions</listitem>
- <listitem>Conformance checking a "conversation aware" ESB service
implementation against a choreography</listitem>
<listitem>Runtime validation of an ESB service against a choreography
description</listitem>
</itemizedlist>
Modified: trunk/docs/gettingstartedguide/src/main/module/servicedev.xml
===================================================================
--- trunk/docs/gettingstartedguide/src/main/module/servicedev.xml 2010-06-08 13:34:00 UTC
(rev 266)
+++ trunk/docs/gettingstartedguide/src/main/module/servicedev.xml 2010-06-08 19:10:33 UTC
(rev 267)
@@ -19,8 +19,7 @@
<para>
The following sections explain how the generation and conformance checking can be
achieved
-for two implementation languages, WS-BPEL and a "conversation aware" ESB
actions (a custom
-extension to the JBossESB action language).
+for the WS-BPEL implementation language.
</para>
<section>
Modified: trunk/docs/samplesguide/src/main/master.xml
===================================================================
--- trunk/docs/samplesguide/src/main/master.xml 2010-06-08 13:34:00 UTC (rev 266)
+++ trunk/docs/samplesguide/src/main/master.xml 2010-06-08 19:10:33 UTC (rev 267)
@@ -5,7 +5,7 @@
<book lang="en">
<bookinfo>
- <title>SAVARA Validator 1.0.0-SNAPSHOT</title>
+ <title>SAVARA 1.0.0-SNAPSHOT</title>
<subtitle>Samples Guide</subtitle>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="module/author_group.xml"/>
</bookinfo>
Deleted: trunk/docs/userguide/src/main/images/SVJBossESBAnnotation.jpg
===================================================================
(Binary files differ)
Modified: trunk/docs/userguide/src/main/images/editvalidatorann.png
===================================================================
(Binary files differ)
Modified: trunk/docs/userguide/src/main/images/editvalidatoranndiag.png
===================================================================
(Binary files differ)
Modified: trunk/docs/userguide/src/main/images/editvalidatorannselect.png
===================================================================
(Binary files differ)
Added: trunk/docs/userguide/src/main/images/validatorannotation.png
===================================================================
(Binary files differ)
Property changes on: trunk/docs/userguide/src/main/images/validatorannotation.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/docs/userguide/src/main/master.xml
===================================================================
--- trunk/docs/userguide/src/main/master.xml 2010-06-08 13:34:00 UTC (rev 266)
+++ trunk/docs/userguide/src/main/master.xml 2010-06-08 19:10:33 UTC (rev 267)
@@ -5,7 +5,7 @@
<book lang="en">
<bookinfo>
- <title>SAVARA Eclipse Tools 1.0.0-SNAPSHOT</title>
+ <title>SAVARA 1.0.0-SNAPSHOT</title>
<subtitle>User Guide</subtitle>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="module/author_group.xml"/>
</bookinfo>
@@ -13,7 +13,6 @@
<toc/>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="module/overview.xml"/>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="module/bpel.xml"/>
- <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="module/conversation-aware-esb.xml"/>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="module/conversation-validation.xml"/>
</book>
Deleted: trunk/docs/userguide/src/main/module/conversation-aware-esb.xml
===================================================================
--- trunk/docs/userguide/src/main/module/conversation-aware-esb.xml 2010-06-08 13:34:00
UTC (rev 266)
+++ trunk/docs/userguide/src/main/module/conversation-aware-esb.xml 2010-06-08 19:10:33
UTC (rev 267)
@@ -1,483 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-]>
-<chapter id="conversationawareesb">
- <title>Conversation Aware ESB</title>
- <section>
-
- <warning>
- <para>
-The <emphasis>conversation aware ESB actions</emphasis> mechanism should be
considered an alpha version only,
-and subject to change in future releases. Its inclusion within this release is intended
to enable the community
-to experiment with the approach and hopefully provide feedback that can be used to guide
the direction of this capability.
- </para>
- </warning>
-
- <title>Conversation based Conformance</title>
- <section>
- <title>Overview</title>
- <para>
-The term "conversation" represents a structured set of interactions (or message
exchanges) between
-one or more peer to peer services, to conduct a business transaction. The
"conversation" is defined
-from a service neutral (i.e. global) perspective.
- </para>
- <para>
-This document explains how such a "conversation" description can be used to
ensure conformance of
-one or more service implementations, within an ESB, during the design and implementation
phase of
-the system.
- </para>
- <para>
-This section introduces the choreography description language (CDL) defined by W3C, which
is a
-standard notation for defining conversations from a global perspective, and the
-<emphasis>pi4soa</emphasis> open source project which provides an editor for
creating choreography
-descriptions, as well as utilizing these descriptions for conformance checking,
monitoring and
-execution purposes.
- </para>
- <para>
-Finally the section will provide a brief discussion of how CDL can be used to provide
conformance
-checking of an ESB, through the use of 'conversation aware' ESB actions.
- </para>
- </section>
- <section>
- <title>CDL Conformance Checking</title>
- <para>
-In general, conformance checking is the procedure for ensuring that a component has been
correctly
-built according to some specification or standard. In terms of CDL, it more specifically
ensures
-that one or more services perform their responsibilities correctly in accordance with the
-choreography description.
- </para>
- <para>
-The <emphasis>pi4soa</emphasis> tools suite provide the mechanism for
producing service endpoint
-descriptions for each service within a choreography description. The relevant service
descriptions
-can then be compared (for conformance) against their ESB service implementations.
- </para>
- <para>
-However, to make this possible, it is necessary to be able to derive the communication
'type'
-structure from the ESB implementation, i.e. where messages (of particular types) are sent
and
-received, where decision points are, where actions are performed concurrently, etc.
- </para>
- <para>
-This is why a specific set of 'conversation aware' ESB actions have been defined
(discussed in a
-later section), to make it possible to derive the communication 'type' structure
from an ESB
-service implementation.
- </para>
- <para>
-Once the communication 'type' structure has been obtained from the ESB
implementation, it can be
-compared against the relevant service endpoint description projected from the
choreography description,
-to determine if there are any differences. These can then be reported to the ESB service
developer,
-so that they can fix the problems, before the service is deployed to the runtime
environment.
- </para>
- <para>
-This ensures that all of the services will interact correctly, as they will all have been
validated
-against the choreography, and therefore work together by design.
- </para>
- <para>
-In the following section, we will describe how ESB services can be described using
-"conversation aware" ESB actions.
- </para>
- </section>
- </section>
-
- <section>
- <title>"Conversation Aware" ESB Actions</title>
- <section>
- <title>Overview</title>
-
- <para>
-The "conversation aware" ESB action mechanism provides a set of ESB actions
that can be used
-to instrument an ESB service with constructs that enable the communication structure to
be
-inferred. This is useful, as it enables the communication structure to be compared
against the
-expected behaviour defined in a choreography (global) model, or service design.
- </para>
-
- <para>
-Usually the stateful behaviour of a service is required to enable it to be compared
against
-the stateful behaviour defined in a choreography. However this would result in a
stateful
-service implementation being required for each ESB service, adding state management etc.
-which would result in more complex service implementations.
- </para>
-
- <para>
-To void adding this complexity to the ESB service implementation, an approach called
-<emphasis>stateful fragments</emphasis> has been used. This enables the
causality to
-be inferred based on dealing with each inbound event - however the causality between
-received events is not modelled. The benefit of this approach is its simplicity, and
-therefore it has less impact on the
-way that users create ESB service descriptors. The disadvantage with this approach is
that only
-fragments of stateful behaviour can be derived from the ESB jboss-esb.xml. However,
-this is useful enough to perform static conformance checking of the service
implementation
-against a choreography description, and when used in conjunction with the dynamic
-conversation validation mechanism, it is still possible to determine out of sequence
messages.
- </para>
- </section>
-
- <section>
- <title>Interaction</title>
- <para>
-Firstly, let's see the two basic actions for interaction.
-Services interact by sending and receiving messages, whether synchronously or
asynchronously.
- </para>
- <para>
-JBossESB is designed to anonymously handle inbound messages (possibly requests), without
explicitly defining restrictions on message type, and then optionally returning responses
(again without explicitly defining the response message type).
- </para>
- <para>
-Although this is sufficient for a runtime mechanism, where issues related to unexpected
message types can be handled with suitable exceptions/faults, it does not enable the
communication type structure to be understood by examination of the JBossESB
configuration.
- </para>
-
- <section>
- <title>Sending a message</title>
- <para>
-When sending a message, the first thing to consider is the type of the message. This can
be declared as a property on the <emphasis>SendMessageAction</emphasis>.
-If dealing with RPC style interactions, then we may also want to optionally specify an
operation name.
- </para>
- <informalexample>
- <programlisting role="XML" ><![CDATA[
- <action class="org.jboss.savara.jbossesb.actions.SendMessageAction"
- process="process" name="...">
- <property name="operation" value="getQuote" />
- <property name="messageType" value="requestForQuote" />
- ....
- </action>
- ]]></programlisting>
- </informalexample>
-
- <itemizedlist>
- <listitem>
-Sending a request
- <para>
-When sending a request, we need to identify the destination service category/name. This
is done by either specifying the category and name explicitly, using the
<emphasis>serviceCategory</emphasis> and
<emphasis>serviceName</emphasis> properties:
- </para>
- <informalexample>
- <programlisting role="XML" ><![CDATA[
-
- <action class="org.jboss.savara.jbossesb.actions.SendMessageAction"
- process="process" name="...">
- ....
- <property name="serviceName" value="RequestForQuote.main" />
- <property name="serviceCategory"
value="ESBBroker.SupplierParticipant" />
- ....
- </action>
- ]]></programlisting>
- </informalexample>
-
- </listitem>
-
- <listitem>
-Sending a response
- <informalexample>
- <programlisting role="XML" ><![CDATA[
-
- <action class="org.jboss.savara.jbossesb.actions.SendMessageAction"
- process="process" name="...">
- ....
- <property name="clientRole" value="buyer" />
- <property name="eprStore"
value="orgization.your.impl.EPRStorageImpl" />
- ....
- </action>
- ]]></programlisting>
- </informalexample>
- <para>
-When sending a response, the destination will not be directly available. The destination
would have been received as a 'reply to' EPR (Endpoint Reference) in a previously
received request (see <emphasis>ReceiveMessageAction</emphasis> for details of
how to store the 'reply to' EPR).
-Therefore, to indicate which EPR to respond to, a property called 'clientEPR' is
specified with the name of the stored EPR. This must match up to a previously stored EPR
name within a <emphasis>ReceiveMessageAction</emphasis>.
- </para>
- <para>
-The value of <emphasis>storageClass</emphasis> should be a class that
implements the <emphasis>org.jboss.soa.savara.jbossesb.EPRStorage</emphasis>
interface, basically this class is responsible for registering, getting EPR from roleName.
- </para>
- </listitem>
- </itemizedlist>
-
- </section>
-
- <section>
- <title>Receiving a message</title>
-
- <informalexample>
- <programlisting role="XML" ><![CDATA[
- <action class="org.jboss.savara.jbossesb.actions.ReceiveMessageAction"
- process="process" name="s1-2">
- <property name="operation" value="makeEnquiry" />
- <property name="messageType" value="enquiry" />
- <property name="clientRole" value="buyer" />
- <property name="eprStore"
value="com.acme.services.creditAgency.MemoryEPRStorage" />
- </action>
- ]]></programlisting>
- </informalexample>
-
- <para>
-The <emphasis>ReceiveMessageAction</emphasis> is used to explicitly define
the message type that should be received.
-If an RPC style has been used, then the optional operation name can also be defined.
- </para>
- <para>
-Unlike the <emphasis>SendMessageAction</emphasis>, which will actually send a
message to the specified service category/name,
-the <emphasis>ReceiveMessageAction</emphasis> primarily serves to provide
explicit details about the expected message and to perform any relevant validation of the
message content. If an incorrect message type is received, then an error will be logged.
- </para>
- <para>
-The optional 'clientRole' and 'storageClass' properties are used to store
any specific "reply to" EPR (associated with the message) against the specified
name. This makes the EPR accessible to any subsequent
<emphasis>SendMessageAction</emphasis> activities that need to return a
response or send a notification.
- </para>
- </section>
- </section>
-
- <section>
- <title>Controlling Flow</title>
- <para>
-This section describes the two control flow mechanisms that are supported by the
stateless ESB actions.
- </para>
- <para>
-The default control flow, supported natively by the ESB action pipeline design, is a
sequence. As the name implies, the actions are performed one at a time in the order they
defined in the action pipeline, i.e. in a sequence.
- </para>
-
- <section>
- <title>Selecting paths based on a decision</title>
- <para>
-The action associated with the 'selection of a path based on a decision' is the
<emphasis>IfAction</emphasis>. An example of this construct is:
- </para>
- <informalexample>
- <programlisting role="XML" ><![CDATA[
-<action class="org.jboss.savara.jbossesb.actions.IfAction"
name="..."
- process="process">
- <property name="paths">
- <if service-category="PurchaseGoods.CreditAgency"
- service-name="CreditAgency.decision1"
- decision-class="org.jboss.soa.savara.jbossesb.TestDecision"/>
- <elseif service-category="PurchaseGoods.CreditAgency"
- service-name="CreditAgency.decision2"
- decision-class="org.jboss.soa.savara.jbossesb.Test2ndDecision"/>
- <else service-category="PurchaseGoods.CreditAgency"
- service-name="CreditAgency.decision3"/>
- </property>
-</action>
- ]]></programlisting>
- </informalexample>
- <para>
-This construct defines a 'path' property with one or more elements, representing
the <emphasis>if</emphasis>, <emphasis>elseif</emphasis> and
<emphasis>else</emphasis> aspects of the traditional if/else construct. Only
the <emphasis>if</emphasis> element is mandatory, and can be followed by zero
or more <emphasis>elseif</emphasis> elements before ending with the optional
<emphasis>else</emphasis> element.
- </para>
- <para>
-The <emphasis>if</emphasis> and <emphasis>elseif</emphasis>
elements can define an 'decision-class' attribute to be evaluated at runtime, to
determine if the associated 'service-category' and 'service-name' should
be invoked.
-the value of decision-class must implement the interface of
<emphasis>org.jboss.soa.savara.jbossesb.Decision</emphasis>.
- </para>
- </section>
-
- <section>
- <title>Message router action</title>
- <para>
-The action used to select paths based on a received message type is
<emphasis>SwitchAction</emphasis>.
-In the stateless esb actions approach, we are using this as the <emphasis>Message
Router</emphasis>.
-The configuration of <emphasis>SwithAction</emphasis> is like:
- </para>
- <informalexample>
- <programlisting role="XML" ><![CDATA[
-<action class="org.jboss.savara.jbossesb.actions.SwitchAction"
- name="..." process="process">
- <property name="serviceDescriptionName"
- value="{org.pi4soa.esbbroker.esbbroker}ESBBrokerProcess-Broker"/>
- <property name="conversationType"
value="savara.samples.LoanBroker@Broker"/>
- <property name="paths">
- <case service-category="org.pi4soa.esbbroker.esbbroker"
- service-name="ESBBrokerProcess_Broker__1">
- <message type="enquiry"/>
- </case>
- <case service-category="org.pi4soa.esbbroker.esbbroker"
- service-name="ESBBrokerProcess_Broker__7">
- <event description="Event trigger to send quoteList message
type(s)"/>
- </case>
- <case service-category="org.pi4soa.esbbroker.esbbroker"
- service-name="ESBBrokerProcess_Broker__8">
- <message type="buy"/>
- </case>
- </property>
-</action>
- ]]></programlisting>
- </informalexample>
- <para>
-In this approach, the <emphasis>SwitchAction</emphasis> typically is the
point of contact for other services. Also true for the internal services. In the same
manner as the <emphasis>Stateful</emphasis> ESB actions, it is necessary to
specify the 'conversation type' that the service represents, to enable conformance
checking to be performed against a choreography description that provides the associated
conversation type. In the <emphasis>Stateless</emphasis> ESB actions, this
initial <emphasis>SwitchAction</emphasis> defines this information in the
<emphasis>conversationType</emphasis> property.
- </para>
- <para>
-The 'paths' property defines one or more 'case' elements. These elements
identify a service category and name that should be invoked upon receipt of one or more
message types, as specified by 'message' elements contained within the
'case' elements.
- </para>
- <para>
-The 'type' attribute on the 'message' element defines the type of message
that can be routed to the specified service category/name. In the example above, the
message types have no namespace.
-However if they have a namespace, this can be defined in curly braces, e.g.
"{http://www.jboss.org/samples}buy".
- </para>
- <para>
-The 'event' element is defined for paths with no associated message type. These
paths are expected to be triggered by a different sort of event, for example an internal
timeout managed by the service implementation. However these internal events are
triggered, and directed to the appropriate service descriptor is a implementation issue
for the service. The inclusion of this path in the
<emphasis>SwitchAction</emphasis> symbolises the exist of this asynchronously
triggered path in the behaviour of the service.
- </para>
- <para>
-Once a path has been selected, the associated service category/name will be invoked
immediately.
-If none of the paths specified within this action are relevant to the received message,
then a runtime exception will be thrown.
- </para>
- </section>
-
- </section>
-
- <tip>
- In this M2 release, we've just had these four actions in the stateless esb action
approach.
- we might add other actions in the subsequent release. If you have any comments and
feedback, you can go to the forum or issue track to raise your request.
- </tip>
-
- </section>
-
- <section>
- <title>Generating a JBossESB Configuration from CDL</title>
- <section>
- <title>Overview</title>
- <para>
-This section explains how to generate a template JBossESB configuration file from a
pi4soa choreography
-description (.cdm) file.
- </para>
- </section>
- <section>
- <title>Generating the JBossESB Configuration</title>
- <para>
-When the choreography description has been completed, and has no errors, the user should
select the
-"SAVARA->Generate->JBossESB Services" menu item from the popup menu
associated with the choreography
-description (.cdm) file.
- </para>
-
- <imageobject>
- <imagedata fileref="images/genesbconfig1.png" width="4in"
/>
- </imageobject>
-
- <para>
-When the dialog window is displayed, it will contain the list of services that can be
generated, along with the project names that will be created. The user can unselect the
services they do not wish to generate (also using the 'Check All' or 'Clear
All' buttons). There is also a checkbox to determine whether a stateful or stateless
(the default) implementation should be generated.
- </para>
-
- <imageobject>
- <imagedata fileref="images/genesbconfig2.png" />
- </imageobject>
-
- <para>
-The user can also select their preferred build system, which will create the relevant
build structure
- and script in the generated Java project to enable the JBossESB service to be deployed,
as well as
- the appropiate messaging system to use.
- </para>
- <para>
-If there is a problem with the name of the project select, such as invalid characters
used in the name,
-or the project name already exists, then it will be displayed in red.
- </para>
-
- <imageobject>
- <imagedata fileref="images/genesbconfig3.png" />
- </imageobject>
-
- <para>
-In the above image, on the left it shows the generated project structure for the Broker
service role.
-On the right it shows a portion of a generated session class, with the accessor and
modifier for one
-of the variables associated with that session.
- </para>
- <para>
-Although an initial build script will be created, depending on the build system selected,
the user
-may need to edit the script to set certain properties, or change the way the build
occurs. For
-example, with the Ant build, the deploy target (which is the default) will attempt to
place the
-deployed .esb file into a location defined by the
<filename>${org.jboss.esb.server.deploy.dir}</filename>.
-If this variable has not been defined, then a folder called
-<filename>${org.jboss.esb.server.deploy.dir}</filename> will be created in
the root folder of the
-project, containing the .esb file.
- </para>
- </section>
- </section>
-
- <section>
- <title>Dealing with Conformance Issues</title>
- <section>
- <title>Overview</title>
- <para>
-Conformance checking can be used to determine whether an ESB configuration, containing
-"conversation aware" ESB actions, matches the expected behaviour as defined
within a choreography
-description (.cdm file). The Eclipse environment will report any conformance issues as
errors in
-the <emphasis>Problems</emphasis> view.
- </para>
- <para>
-This section will explain the types of conformance errors that may be reported and how to
-deal with them. Not all errors, associated with an ESB configuration, will be discussed
in this
-section. Many errors may be detected that will indicate problems associated with the way
that
-behaviour has been specified in the configuration file (e.g. conversation type has not
been defined).
-These are not directly related to conformance.
- </para>
- </section>
-
- <section>
- <title>Show referenced description</title>
- <para>
-When an error occurs, related to conformance between the ESB configuration file and a
choreography
-description, it will have an associated <emphasis>quick fix</emphasis>
resolution that can be used
-to display the relevant activity being referred to within the choreography description.
- </para>
- </section>
-
- <section>
- <title>Error: Expecting additional activities as defined in referenced
description</title>
- <para>
-This error message indicates that the reference description contains activities that were
not found
-in the ESB configuration.
- </para>
- <para>
-This error has an associated <emphasis>quick fix</emphasis> to enable the
missing activities to be
-inserted in the appropriate location within the ESB configuration.
- </para>
-
-<note><para>
-When this resolution is selected, if it displays an error <quote>Could not insert
activities found
-in referenced description</quote>, this means that it was not possible to insert
the additional
-activities automatically.
-</para></note>
- </section>
-
- <section>
- <title>Error: Type mismatch with referenced description, was expecting
'...'</title>
- <para>
-This error occurs when an activity contains a type that does not match with the
equivalent activity
-in the choreography description. A common example would be an interaction, where the
message types
-are not compatible.
- </para>
-
- <para>
-This error has an associated <emphasis>quick fix</emphasis> to enable the
type to be updated in the
-relevant activity within the ESB configuration.
- </para>
-
-<note><para>
-When this resolution is selected, if it displays an error <quote>Could not update
activity with
-information from referenced description</quote>, this means that it was not
possible to update
-the information automatically.
-</para></note>
- </section>
-
- <section>
- <title>Error: Behaviour not present in referenced description</title>
- <para>
-This error occurs when there are extra activities within the ESB configuration that do
not appear
-within the choreography description.
- </para>
- <para>
-This error has an associated <emphasis>quick fix</emphasis> to enable the
unwanted activities to be
-removed from the ESB configuration.
- </para>
-
-<note><para>
-When this resolution is selected, if it displays an error <quote>Could not delete
activities from
-the model</quote>, this means that it was not possible to delete the activities
automatically.
-</para></note>
- </section>
-
- <section>
- <title>Error: Additional unmatched paths in model</title>
- <para>
-This error indicates that a grouping contruct (e.g.
<emphasis>IfAction</emphasis> or
-<emphasis>SwitchAction</emphasis>) in the ESB configuration has
-additional paths that do not match the equivalent grouping construct in the choreography
description.
- </para>
- </section>
-
- <section>
- <title>Error: Additional unmatched paths in referenced
description</title>
- <para>
-This error indicates that a grouping contruct (e.g.
<emphasis>IfAction</emphasis> or
-<emphasis>SwitchAction</emphasis>) in the choreography description has
additional paths that do not
-match the equivalent grouping construct in the ESB configuration.
- </para>
- </section>
-
- </section>
-
-</chapter>
-
Modified: trunk/docs/userguide/src/main/module/conversation-validation.xml
===================================================================
--- trunk/docs/userguide/src/main/module/conversation-validation.xml 2010-06-08 13:34:00
UTC (rev 266)
+++ trunk/docs/userguide/src/main/module/conversation-validation.xml 2010-06-08 19:10:33
UTC (rev 267)
@@ -135,7 +135,7 @@
<para>
When the annotation editor is displayed for the relevant 'exchange details'
component,
- the <emphasis>jbossesb</emphasis> annotation should be added. This is
achieved by
+ the <emphasis>validator</emphasis> annotation should be added. This is
achieved by
selecting the popup menu associated with the background of the lefthand panel,
and selecting the <emphasis>Add Defined Annotation</emphasis> menu item.
</para>
@@ -146,7 +146,7 @@
<para>
When the list of defined annotations is displayed, select the
- <emphasis>jbossesb</emphasis> annotation.
+ <emphasis>validator</emphasis> annotation.
</para>
<imageobject>
@@ -160,7 +160,7 @@
</para>
<imageobject>
- <imagedata fileref="images/SVJBossESBAnnotation.jpg"
width="5in" />
+ <imagedata fileref="images/validatorannotation.png" width="5in"
/>
</imageobject>
<para>
@@ -177,7 +177,7 @@
<para>
When all of the relevant 'exchange details' components have been configured
with
- a <emphasis>jbossesb</emphasis> annotation, defining the EPR to be
validated,
+ a <emphasis>validator</emphasis> annotation, defining the EPR to be
validated,
then the choreography description file can be copied into the
<filename>savara-validator-jbossesb.esb/models</filename> folder. This will
cause
the validation mechanism to derive the configuration information from the choreography
Modified: trunk/docs/userguide/src/main/module/overview.xml
===================================================================
--- trunk/docs/userguide/src/main/module/overview.xml 2010-06-08 13:34:00 UTC (rev 266)
+++ trunk/docs/userguide/src/main/module/overview.xml 2010-06-08 19:10:33 UTC (rev 267)
@@ -24,8 +24,8 @@
</para>
<para>
When a validated design has been approved by the users, it can be used to generate
an initial skeleton of the implementation for each service.
- The current version of SAVARA enables a skeleton implementation to be generated as
a WS-BPEL process or
- JBossESB service configuration file (using 'conversation aware' ESB
actions).
+ The current version of SAVARA enables a skeleton implementation to be generated as
a service
+ implementation (e.g. WS-BPEL process).
</para>
<section>
@@ -108,10 +108,8 @@
However this is only as reliable as the quality of the unit tests that have been
written.
</para>
<para>
- When a 'structured' implementation language has been used, such as
WS-BPEL, jPDL or the new 'conversation aware' ESB actions,
+ When a 'structured' implementation language has been used, such as
WS-BPEL,
it will be possible to infer the behaviour of the service being implemented, to
compare it against the choreography description.
- Currently this has been implemented for the “conversation aware” ESB actions,
and is demonstrated using
- the samples in this SAVARA Runtime distribution.
</para>
<para>
Detecting incorrectly implemented behaviour at the earliest possible time saves
on downstream costs associated with finding and fixing errors.
@@ -185,6 +183,13 @@
<para>The first step will be to follow the instructions in the Getting
Started Guide to install SAVARA. </para>
<para> Once installed, the next step should be to try out the examples in
the samples folder. The examples consistent of:</para>
<itemizedlist>
+ <listitem>
+ Choreography related examples
+ <para>
+ These examples provide an illustration of how to use scenarios,
choreographies
+ and other associated artifacts.
+ </para>
+ </listitem>
<listitem>
Service Validation related examples
<para>
@@ -193,25 +198,6 @@
conversation id to enable the messages to be correlated with a specific
session.
</para>
</listitem>
- <listitem>
- Conversation aware ESB actions, with conformance checking against
Choreography
- <para>
- Two examples have been included, one simple example (purchasing)
and the other
- more advanced (brokerage). Both relate to the business process of
purchasing
- items. The second example introduces the concept of a broker to
act on behalf
- of the customer, interacting with multiple potential suppliers.
- </para>
- <para>
- These examples show how a service implementation (built using
“conversation
- aware ESB actions” in this case), can be continuously checked for
conformance
- against a choreography description.
- </para>
- <para>
- The final step should be to review all of the documents in the
docs folder
- to understand more about each capability, and then try using the
techniques
- on your own project.
- </para>
- </listitem>
</itemizedlist>
</section>
</chapter>