Author: objectiser
Date: 2008-10-01 11:00:04 -0400 (Wed, 01 Oct 2008)
New Revision: 357
Added:
cdl/trunk/docs/docbook/userguide/src/main/images/monitorui.png
Modified:
cdl/trunk/docs/docbook/userguide/src/main/module/conversation-validation-with-cdl.xml
Log:
Added further section to conversation validation, based on the monitoring section of the
previous trailblazer example - and made more generic.
Added: cdl/trunk/docs/docbook/userguide/src/main/images/monitorui.png
===================================================================
(Binary files differ)
Property changes on: cdl/trunk/docs/docbook/userguide/src/main/images/monitorui.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified:
cdl/trunk/docs/docbook/userguide/src/main/module/conversation-validation-with-cdl.xml
===================================================================
---
cdl/trunk/docs/docbook/userguide/src/main/module/conversation-validation-with-cdl.xml 2008-10-01
12:20:37 UTC (rev 356)
+++
cdl/trunk/docs/docbook/userguide/src/main/module/conversation-validation-with-cdl.xml 2008-10-01
15:00:04 UTC (rev 357)
@@ -85,13 +85,13 @@
The principle mechanism used for validating conversations within an ESB is through the
use of a global filter registered with the
<emphasis>jbossesb-properties.xml</emphasis>. This file is located in the
<emphasis>$JBossESB/server/default/deploy/jbossesb.sar</emphasis> folder.
</para>
<informalexample>
- <programlisting>
- <properties name="filters">
+ <programlisting role="XML" ><![CDATA[
+ <properties name="filters">
...
- <property name="org.jboss.soa.esb.filter.10"
+ <property name="org.jboss.soa.esb.filter.10"
value="org.pi4soa.jbossesb.validator.ValidatorFilter"/>
- </properties>
- </programlisting>
+ </properties>
+ ]]></programlisting>
</informalexample>
<para>
@@ -104,36 +104,36 @@
An example of the contents of this file, as used by the TrailBlazer example, is:
</para>
<informalexample>
- <programlisting>
- <validator active="true" >
- <service cdmFilePath="models/TrailBlazer.cdm"
+ <programlisting role="XML" ><![CDATA[
+ <validator active="true" >
+ <service cdmFilePath="models/TrailBlazer.cdm"
participantType="LoanBrokerParticipant" >
- <output epr="jms:queue/esb-tb-creditAgencyQueue" />
- <input epr="jms:queue/esb-tb-creditAgencyQueue_reply" />
- <output epr="jms:queue/esb-tb-jmsBankRequestQueue" />
- <output epr="jms:queue/esb-tb-fileBankRequestQueue" />
- <input epr="jms:queue/esb-tb-jmsBankResponseQueue" />
- <output epr="jms:queue/esb-tb-customerNotifier" />
- <input epr="jms:queue/esb-tb-fileBankResponseQueue" />
- </service>
- <service cdmFilePath="models/TrailBlazer.cdm"
+ <output epr="jms:queue/esb-tb-creditAgencyQueue" />
+ <input epr="jms:queue/esb-tb-creditAgencyQueue_reply" />
+ <output epr="jms:queue/esb-tb-jmsBankRequestQueue" />
+ <output epr="jms:queue/esb-tb-fileBankRequestQueue" />
+ <input epr="jms:queue/esb-tb-jmsBankResponseQueue" />
+ <output epr="jms:queue/esb-tb-customerNotifier" />
+ <input epr="jms:queue/esb-tb-fileBankResponseQueue" />
+ </service>
+ <service cdmFilePath="models/TrailBlazer.cdm"
participantType="CreditAgencyParticipant" >
- <input epr="jms:queue/esb-tb-creditAgencyQueue" />
- <output epr="jms:queue/esb-tb-creditAgencyQueue_reply" />
- </service>
- <service cdmFilePath="models/TrailBlazer.cdm"
+ <input epr="jms:queue/esb-tb-creditAgencyQueue" />
+ <output epr="jms:queue/esb-tb-creditAgencyQueue_reply" />
+ </service>
+ <service cdmFilePath="models/TrailBlazer.cdm"
participantType="BankParticipant" >
- <input epr="jms:queue/esb-tb-jmsBankRequestQueue" />
- <input epr="jms:queue/esb-tb-fileBankRequestQueue" />
- <output epr="jms:queue/esb-tb-jmsBankResponseQueue" />
- <output epr="jms:queue/esb-tb-fileBankResponseQueue" />
- </service>
- <service cdmFilePath="models/TrailBlazer.cdm"
+ <input epr="jms:queue/esb-tb-jmsBankRequestQueue" />
+ <input epr="jms:queue/esb-tb-fileBankRequestQueue" />
+ <output epr="jms:queue/esb-tb-jmsBankResponseQueue" />
+ <output epr="jms:queue/esb-tb-fileBankResponseQueue" />
+ </service>
+ <service cdmFilePath="models/TrailBlazer.cdm"
participantType="NotifierParticipant" >
- <input epr="jms:queue/esb-tb-customerNotifier" />
- </service>
- </validator>
- </programlisting>
+ <input epr="jms:queue/esb-tb-customerNotifier" />
+ </service>
+ </validator>
+ ]]></programlisting>
</informalexample>
<para>
@@ -166,16 +166,16 @@
</para>
<informalexample>
- <programlisting>
- <action name="LoanBrokerValidatorAction1"
+ <programlisting role="XML" ><![CDATA[
+ <action name="LoanBrokerValidatorAction1"
class="org.pi4soa.jbossesb.validator.ValidationAction"
process="processMessage" >
- <property name="cdmFilePath" value="models/TrailBlazer.cdm"
/>
- <property name="participantType"
value="LoanBrokerParticipant" />
- <property name="inbound" value="true" />
- <property name="request" value="true" />
- </action>
- </programlisting>
+ <property name="cdmFilePath" value="models/TrailBlazer.cdm"
/>
+ <property name="participantType" value="LoanBrokerParticipant"
/>
+ <property name="inbound" value="true" />
+ <property name="request" value="true" />
+ </action>
+ ]]></programlisting>
</informalexample>
<para>
@@ -183,4 +183,50 @@
</para>
</section>
</section>
+
+ <section>
+ <title>Monitoring the Choreography Description</title>
+<para>
+Once the JBossESB environment has been configured, to perform service validation of a set
of ESB services against a choreography
+description, and the server has been started, then the next step is to launch a tool to
view the correlated information from
+the service validators - and determine if the transactions are being correctly executed.
+</para>
+<para>
+Within an Eclipse Java project, that contains the choreography description to be
monitored, a configuration file called <emphasis>pi4soa.xml</emphasis> needs
to be defined on the project's classpath. This file provides details of the JMS
configuration parameters required to subscribe for the information generated by the
service validators. The contents of this file is:
+</para>
+ <informalexample>
+ <programlisting role="XML" ><![CDATA[
+<pi4soa>
+ <tracker>
+ <jndi>
+ <initialContextFactory>org.jnp.interfaces.NamingContextFactory</initialContextFactory>
+ <providerURL>jnp://localhost:1099</providerURL>
+
<factoryURLPackages>org.jboss.naming:org.jnp.interfaces</factoryURLPackages>
+ </jndi>
+ <jms>
+ <connectionFactory>ConnectionFactory</connectionFactory>
+
<connectionFactoryAlternate>ConnectionFactory</connectionFactoryAlternate>
+ <destination>topic/tracker</destination>
+ </jms>
+ </tracker>
+</pi4soa>
+ ]]></programlisting>
+ </informalexample>
+
+<para>
+The destination defined in this file must match the one configured in the
<emphasis>pi4soa.sar/pi4soa.xml</emphasis> file within the server.
+</para>
+ <para>
+The next step is to launch the monitoring tool. This is located on the context menu, for
the choreography description (i.e. .cdm) file, by selecting the Choreography->Monitor
menu item. Once the tool has been launched, it will load the choreography description,
subscribe to the relevant event destination, and then indicate via a message in the bottom
status line that it is ready to monitor.
+ </para>
+
+ <imagedata fileref="images/monitorui.png" width="5in" />
+
+ <para>
+ When the information is received, from the service validators representing the different
participants (services), it is correlated to show the global status of the business
transaction. The list of correlated interactions is show in reverse time order in the
image, so in this example a <emphasis>LoanBroker</emphasis> sends a
<emphasis>creditCheck</emphasis> message to a
<emphasis>CreditAgency</emphasis>, followed by a
<emphasis>creditCheckResult</emphasis> being returned.
+ </para>
+ <para>
+If any <emphasis>out of sequence</emphasis> or other error situations arise,
these are displayed in red.
+ </para>
+ </section>
</chapter>