[savara-commits] savara SVN: r426 - in trunk/docs/gettingstartedguide/src/main/en-US: module and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Sep 30 13:25:15 EDT 2010


Author: objectiser
Date: 2010-09-30 13:25:15 -0400 (Thu, 30 Sep 2010)
New Revision: 426

Added:
   trunk/docs/gettingstartedguide/src/main/en-US/images/editvalidatorann.png
   trunk/docs/gettingstartedguide/src/main/en-US/images/validatorannotation.png
   trunk/docs/gettingstartedguide/src/main/en-US/images/validatortooltip.png
Removed:
   trunk/docs/gettingstartedguide/src/main/en-US/images/SVJBossESBAnnotation.jpg
   trunk/docs/gettingstartedguide/src/main/en-US/images/SVJBossESBAnnotationToolTip.jpg
   trunk/docs/gettingstartedguide/src/main/en-US/images/SVJBossESBEditAnnotation.jpg
Modified:
   trunk/docs/gettingstartedguide/src/main/en-US/module/runtimevalidation.xml
   trunk/docs/gettingstartedguide/src/main/en-US/module/servicedev.xml
Log:
Updated getting started guide.

Deleted: trunk/docs/gettingstartedguide/src/main/en-US/images/SVJBossESBAnnotation.jpg
===================================================================
(Binary files differ)

Deleted: trunk/docs/gettingstartedguide/src/main/en-US/images/SVJBossESBAnnotationToolTip.jpg
===================================================================
(Binary files differ)

Deleted: trunk/docs/gettingstartedguide/src/main/en-US/images/SVJBossESBEditAnnotation.jpg
===================================================================
(Binary files differ)

Added: trunk/docs/gettingstartedguide/src/main/en-US/images/editvalidatorann.png
===================================================================
(Binary files differ)


Property changes on: trunk/docs/gettingstartedguide/src/main/en-US/images/editvalidatorann.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/docs/gettingstartedguide/src/main/en-US/images/validatorannotation.png
===================================================================
(Binary files differ)


Property changes on: trunk/docs/gettingstartedguide/src/main/en-US/images/validatorannotation.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/docs/gettingstartedguide/src/main/en-US/images/validatortooltip.png
===================================================================
(Binary files differ)


Property changes on: trunk/docs/gettingstartedguide/src/main/en-US/images/validatortooltip.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/docs/gettingstartedguide/src/main/en-US/module/runtimevalidation.xml
===================================================================
--- trunk/docs/gettingstartedguide/src/main/en-US/module/runtimevalidation.xml	2010-09-30 16:04:45 UTC (rev 425)
+++ trunk/docs/gettingstartedguide/src/main/en-US/module/runtimevalidation.xml	2010-09-30 17:25:15 UTC (rev 426)
@@ -7,219 +7,249 @@
 		<note>
 		<para>
 		Before you can deploy and run the runtime validation example, you will
-		need to install the SAVARA Validator module for JBossESB.
+		need to install the SAVARA Validator module for JBoss.
 		</para>
 		</note>
 		
 		<para>
-Once services have been deployed, as mentioned in the previous section, we still need to be 
-able to verify that the services continue to conform to the choreography description. 
-The <emphasis>Conversation Validation</emphasis> capability within the SAVARA distribution 
-can be used to validate the behaviour of each service.
+		Once services have been deployed, as mentioned in the previous section, we still need to be 
+		able to verify that the services continue to conform to the choreography description. 
+		The <emphasis>Service Validator</emphasis> capability within the SAVARA distribution 
+		can be used to validate the behaviour of each service.
 		</para>
 
 		<para>
-In this section, we will use the Trailblazer example found in the <filename>${SAVARA}/samples/trailblazer</filename> folder and the <filename>trailblazer-models</filename> Eclipse project.
+		In this section, we will use the <emphasis>purchasing</emphasis> example found in the 
+		<filename>${SAVARA}/samples/purchasing]</filename> folder.
 		</para>
 
 		<section>
 			<title>Service Validator Configuration</title>
 
 			<para>
-The JBossESB service validator configuration is defined using jbossesb specific annotations, that are associated
-with the 'exchange details' components (contained within interactions), within the choreography description.
+			The service validator configuration is defined using specific annotation, that is associated
+			with the 'exchange details' components (contained within interactions), within the 
+			choreography description.
 			</para>
 
 			<para>
-To view the pre-configured service validator configuration defined for the Trailblazer example, edit the
-<filename>TrailBlazer.cdm</filename> file, navigate to the <emphasis>Choreography Flows</emphasis> tab and then
-select the <emphasis>Choreography->Edit Annotations</emphasis> menu item associated with the first 'exchange details'
-component (as shown below).
+			To view the pre-configured service validator configuration defined for the Purchasing
+			example, edit the <filename>PurchaseGoods.cdm</filename> file, navigate to the 
+			<emphasis>Choreography Flows</emphasis> tab and then select the 
+			<emphasis>Choreography->Edit Annotations</emphasis> menu item associated with the first 
+			'exchange details' component (as shown below).
 			</para>
 
 		<imageobject>
-			<imagedata fileref="en-US/images/SVJBossESBEditAnnotation.jpg" align="center" width="3in" />
+			<imagedata fileref="en-US/images/editvalidatorann.png" align="center" width="3in" />
 		</imageobject>
 
 			<para>
-This will display the annotation editor, with the single configured annotation called 'validator'. This annotation defines
-the information required for the Service Validator to monitor this specific message exchange (i.e. the JMS destination
-on which the message will be passed).
+			This will display the annotation editor, with the single configured annotation called 
+			'validator'. This annotation defines the information required for the Service Validator 
+			to monitor this specific message exchange (e.g. the JMS destination
+			on which the message will be passed, or in this case the Service Name for the target
+			Web Service).
 			</para>
 
 		<imageobject>
-			<imagedata fileref="en-US/images/SVJBossESBAnnotation.jpg" align="center" width="3in" />
+			<imagedata fileref="en-US/images/validatorannotation.png" align="center" width="3in" />
 		</imageobject>
 
 			<para>
-Once an annotation has been defined, it will also be displayed as part of the tooltip for the associated model component, for example:
+			Once an annotation has been defined, it will also be displayed as part of the tooltip 
+			for the associated model component, for example:
 			</para>
 
 		<imageobject>
-			<imagedata fileref="en-US/images/SVJBossESBAnnotationTooltip.jpg" align="center" width="3in" />
+			<imagedata fileref="en-US/images/validatortooltip.png" align="center" width="4in" />
 		</imageobject>
 
 			<para>
-Once the jbossesb annotations have been defined for all relevant 'exchange details' components 
-in the choreography description, the choreography file can be copied to the 
-<filename>${JBossAS}/server/default/deploy/savara-validator.esb/models</filename>
-folder in the JBossAS environment. The service validator configuration for the 
-<emphasis>trailblazer</emphasis> example has been preconfigured to be deployed as part of 
-the installation procedure.
+			Once the annotations have been defined for all relevant 'exchange details' components 
+			in the choreography description, the choreography file can be copied to the 
+			<filename>${JBossAS}/server/default/deploy/savara-validator-jboss.sar/models</filename>
+			folder in the JBossAS environment. The service validator configuration for the 
+			<emphasis>purchasing</emphasis> example has been preconfigured to be deployed as part of 
+			the installation procedure.
 			</para>
 
 			<note>
 			<para>
-If the <filename>savara-validator.esb/validator-config.xml</filename> within the JBossAS 
-environment is modified, or choreography description files added, removed or updated within 
-the <filename>savara-validator.esb/models</filename> sub-folder, then the changes will 
-automatically be detected and used to re-configure the service validators without having to 
-restart the JBossESB server.
+			If the <filename>savara-validator-jboss.sar/validator-config.xml</filename> within the JBossAS 
+			environment is modified, or choreography description files added, removed or updated within 
+			the <filename>savara-validator-jboss.sar/models</filename> sub-folder, then the changes will 
+			automatically be detected and used to re-configure the service validators without having to 
+			restart the server.
 			</para>
 			</note>
 
 		</section>
 
 		<section>
-			<title>Deploy the TrailBlazer Example</title>
+			<title>SAVARA Monitor</title>
 
 			<para>
-The first step to deploying the Trailblazer example is to configure the JBossAS environment:
+			The SAVARA Monitor is an Eclipse based tool that can be used to help develop,
+			test and validate a business process (encoded as a choreography) executing across 
+			a distributed system. (Future releases will include equivalent web based tooling
+			to enable production based logging and query of the validation information).
 			</para>
-
-  			<orderedlist>
-	  			<listitem>
-Update the <filename>${JBossAS}/server/default/deploy/jbossesb.sar/jbossesb-properties.xml</filename> 
-file, in the section entitled "transports" and specify all of the SMTP mail server settings for 
-your environment.
-				</listitem>
-				<listitem>
-Update the <filename>trailblazer/trailblazer.properties</filename>
-					<para>
-Update the <property>file.bank.monitored.directory</property> and <property>file.output.directory</property> properties. These are folders used by the File Based Bank, and are set to <filename>/tmp/input</filename> and <filename>/tmp/output</filename> by default.
-					</para>
-				</listitem>
-				<listitem>
-Update the <filename>trailblazer/esb/conf/jboss-esb.xml</filename>
-					<para>
-There is a <emphasis>fs-provider</emphasis> block, update the <property>directory</property> attribute value to be the same as the <property>file.output.directory</property> value in <filename>trailblazer.properties</filename> file.
-					</para>
-				</listitem>
-				<listitem>
-Start the JBossAS server
-				</listitem>
-			</orderedlist>
-
+			
 			<para>
-One the server has been started, the next step is to deploy the relevant components into the JBossAS environment. This is achieved by:
+			The tool is used to observe a correlated view of the executing business 
+			transactions. Each service validator can be configured to report activites (i.e. sent 
+			and received messages) that it validates, to enable the correlator to reconstitute a 
+			global interpretation of each transaction.
 			</para>
 
-  			<orderedlist>
-				<listitem>
-From the <filename>trailblazer</filename> folder, execute the following command to deploy the example to the ESB: <emphasis role="bold">ant deploy</emphasis>
-					<para>
-this should deploy the ESB and WAR files to your JBoss AS <filename>server/default</filename>.
-					</para>
-				</listitem>
-				<listitem>
-From the <filename>trailblazer/banks</filename> folder, execute the command to start the JMS Bank service: <emphasis role="bold">ant runJMSBank</emphasis>.
-				</listitem>
-				<listitem>
-From the <filename>trailblazer/banks</filename> folder, execute the command to start the JMS Bank service: <emphasis role="bold">ant runFileBank</emphasis>.
-				</listitem>
-			</orderedlist>
-
-		</section>
-
-		<section>
-			<title>Starting the pi4soa Monitor</title>
-
 			<para>
-The pi4soa Monitor is used to observe a correlated view of the executing business transactions. Each service validator can be configured to report activites (i.e. sent and received messages) that it validates, to enable the correlator to reconstitute a global interpretation of each transaction.
+			This correlated view of each transaction can be used to understand where each 
+			transaction is within the process. It can also be used to report
+			<emphasis>out of sequence</emphasis>,  <emphasis>unexpected messages</emphasis> and 
+			more general errors in the context of the business process.
 			</para>
 
 			<para>
-This correlated view of each transaction can be used to understand where each transaction is within the process. It can also be used to report <emphasis>out of sequence</emphasis>,  <emphasis>unexpected messages</emphasis> and more general errors in the context of the business process.
+			Once the following examples have been deployed to the JBossAS environment, and the 
+			server is running, then the monitoring tool can be launched from the Eclipse environment 
+			by selecting the <emphasis>Savara->Monitor</emphasis> menu item from the popup menu 
+			associated with the choreography (.cdm) file.
 			</para>
 
 			<para>
-A simple monitoring tool is currently provided with the pi4soa tools, to enable the correlated global view of the transactions to be observed. Once the Trailblazer example has been deployed to the JBossAS environment, and the server is running, then the monitoring tool can be launched from the Eclipse environment by selecting the <emphasis>Choreography->Monitor</emphasis> menu item from the popup menu associated with the <filename>TrailBlazer.cdm</filename> file.
+			Wait for the monitor window to start, and indicate that the choreography is being monitored, 
+			shown in the status line at the bottom of the window.
 			</para>
 
-		<imageobject>
-			<imagedata fileref="en-US/images/MonitorMenu.jpg" align="center" width="2in" />
-		</imageobject>
-
-			<para>
-Wait for the monitor window to start, and indicate that the choreography is being monitored, 
-shown in the status line at the bottom of the window.
-			</para>
-
-		<imageobject>
-			<imagedata fileref="en-US/images/ChoreoMonReady.jpg" align="center" width="4in" />
-		</imageobject>
-
 		</section>
 
 		<section>
-			<title>Running the Example</title>
-
-			<para>
-To run the example, you need to start a browser and select the URL 
-<ulink url="http://localhost:8080/trailblazer">localhost:8080/trailblazer</ulink>. This will 
-show the following page, if the server has been configured correctly and the TrailBlazer 
-example deployed:
-			</para>
-
-		<imageobject>
-			<imagedata fileref="en-US/images/TrailblazerWebPage.jpg" align="center" width="4in" />
-		</imageobject>
-
-			<para>
-Now you can submit quotes, You will see either a loan request rejected (single email) because 
-the score is less than 4, or two emails (one from JMS bank and one from FileBased bank) with 
-valid quotes. When entering subsequent quotes, make sure that the quote reference is updated, 
-so that each session has a unique id.
-			</para>
-
+			<title>JBossESB Example - Trailblazer</title>
+			
+			<section>
+				<title>Deploying the Example</title>
+	
+				<para>
+				The first step to deploying the Trailblazer example is to configure the JBossAS environment:
+				</para>
+	
+	  			<orderedlist>
+		  			<listitem>
+					Update the <filename>${JBossAS}/server/default/deployers/esb.deployer/jbossesb-properties.xml</filename> 
+					file, in the section entitled "transports" and specify all of the SMTP mail server settings for 
+					your environment.
+					</listitem>
+					<listitem>
+						Update the <filename>trailblazer/trailblazer.properties</filename>
+						<para>
+						Update the <property>file.bank.monitored.directory</property> and 
+						<property>file.output.directory</property> properties. These are folders 
+						used by the File Based Bank, and are set to <filename>/tmp/input</filename> 
+						and <filename>/tmp/output</filename> by default.
+						</para>
+					</listitem>
+					<listitem>
+						Update the <filename>trailblazer/esb/conf/jboss-esb.xml</filename>
+						<para>
+						There is a <emphasis>fs-provider</emphasis> block, update the 
+						<property>directory</property> attribute value to be the same as the 
+						<property>file.output.directory</property> value in 
+						<filename>trailblazer.properties</filename> file.
+						</para>
+					</listitem>
+					<listitem>
+						Start the JBossAS server
+					</listitem>
+				</orderedlist>
+	
+				<para>
+				One the server has been started, the next step is to deploy the relevant 
+				components into the JBossAS environment. This is achieved by:
+				</para>
+	
+	  			<orderedlist>
+					<listitem>
+						From the <filename>trailblazer</filename> folder, execute the following 
+						command to deploy the example to the ESB: 
+						<emphasis role="bold">ant deploy</emphasis>
+						<para>
+						this should deploy the ESB and WAR files to your JBoss AS 
+						<filename>server/default</filename>.
+						</para>
+					</listitem>
+					<listitem>
+						From the <filename>trailblazer/banks</filename> folder, execute the command 
+						to start the JMS Bank service: <emphasis role="bold">ant runJMSBank</emphasis>.
+					</listitem>
+					<listitem>
+						From the <filename>trailblazer/banks</filename> folder, execute the command 
+						to start the JMS Bank service: <emphasis role="bold">ant runFileBank</emphasis>.
+					</listitem>
+				</orderedlist>
+	
+			</section>
+	
+			<section>
+				<title>Running the Example</title>
+	
+				<para>
+				To run the example, you need to start a browser and select the URL 
+				<ulink url="http://localhost:8080/trailblazer">localhost:8080/trailblazer</ulink>. This will 
+				show the following page, if the server has been configured correctly and the TrailBlazer 
+				example deployed:
+				</para>
+	
+			<imageobject>
+				<imagedata fileref="en-US/images/TrailblazerWebPage.jpg" align="center" width="4in" />
+			</imageobject>
+	
+				<para>
+				Now you can submit quotes, You will see either a loan request rejected (single email) because 
+				the score is less than 4, or two emails (one from JMS bank and one from FileBased bank) with 
+				valid quotes. When entering subsequent quotes, make sure that the quote reference is updated, 
+				so that each session has a unique id.
+				</para>
+	
+			</section>
+	
+			<section>
+				<title>Detecting a Validation Error</title>
+	
+				<para>
+				To demonstrate the detection of validation errors, there is an alternative implementation of the 
+				trailblazer modules that behaviour differently to the choreography that is being monitored. 
+				Specifically, the credit score threshold used to determine whether a loan request should be 
+				issued to the banks, is raised from 4 to 7.
+				</para>
+	
+				<para>
+				To deploy the version of the TrailBlazer example that results in validation errors, then:
+				</para>
+	
+	  			<itemizedlist>
+					<listitem>
+					From the <filename>${SAVARA}/samples/trailblazer</filename> folder, execute the 
+					following command to deploy the example to the ESB: 
+					<emphasis role="bold">ant deploy-error-client</emphasis>.
+					</listitem>
+				</itemizedlist>
+	
+				<para>
+				The next step is to issue more transactions, until a credit check score occurs that is between 
+				4 and 6 inclusive. This will result in a <emphasis>insufficientCredit</emphasis> interaction 
+				being reported, which would be unexpected in terms of the choreography.
+				</para>
+	
+			<imageobject>
+				<imagedata fileref="en-US/images/TrailBlazerMonitorError.jpg" align="center" width="4in" />
+			</imageobject>
+	
+				<para>
+				When errors, such as unexpected messages, are detected by the service validators and reported 
+				to the SAVARA Monitor, they are displayed in red.
+				</para>
+	
+			</section>
 		</section>
-
-		<section>
-			<title>Detecting a Validation Error</title>
-
-			<para>
-To demonstrate the detection of validation errors, there is an alternative implementation of the 
-trailblazer modules that behaviour differently to the choreography that is being monitored. 
-Specifically, the credit score threshold used to determine whether a loan request should be 
-issued to the banks, is raised from 4 to 7.
-			</para>
-
-			<para>
-To deploy the version of the TrailBlazer example that results in validation errors, then:
-			</para>
-
-  			<itemizedlist>
-				<listitem>
-From the <filename>${SAVARA}/samples/trailblazer</filename> folder, execute the 
-following command to deploy the example to the ESB: <emphasis role="bold">ant deploy-error-client</emphasis>.
-				</listitem>
-			</itemizedlist>
-
-			<para>
-The next step is to issue more transactions, until a credit check score occurs that is between 
-4 and 6 inclusive. This will result in a <emphasis>insufficientCredit</emphasis> interaction 
-being reported, which would be unexpected in terms of the choreography.
-			</para>
-
-		<imageobject>
-			<imagedata fileref="en-US/images/TrailBlazerMonitorError.jpg" align="center" width="4in" />
-		</imageobject>
-
-			<para>
-When errors, such as unexpected messages, are detected by the service validators and reported 
-to the Choreography Monitor, they are displayed in red.
-			</para>
-
-		</section>
-
 </chapter>

Modified: trunk/docs/gettingstartedguide/src/main/en-US/module/servicedev.xml
===================================================================
--- trunk/docs/gettingstartedguide/src/main/en-US/module/servicedev.xml	2010-09-30 16:04:45 UTC (rev 425)
+++ trunk/docs/gettingstartedguide/src/main/en-US/module/servicedev.xml	2010-09-30 17:25:15 UTC (rev 426)
@@ -80,399 +80,27 @@
 		</section>
 			
 		<section>
-			<title>Adding implementation details to CreditAgency</title>
+			<title>Adding implementation details</title>
 				
-			<section>
-				<title>Deployment Descriptor</title>
-					
-				<para>
-				When generated, the deployment descriptor initially has the following content:
-				</para>
-					
-				<informalexample>
-  					<programlisting role="XML" ><![CDATA[
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03" 
-				xmlns:ns1="http://www.jboss.org/examples/creditAgency">
-    <process name="ns1:PurchaseGoodsProcess_CreditAgency">
-        <active>
-            true
-        </active>
-        <provide partnerLink="StoreToCreditAgency">
-            <service/>
-        </provide>
-    </process>
-</deploy>
-	 			 	]]></programlisting>
-				</informalexample>
-					
-				<para>
-The only change necessary is to add some attributes to the <emphasis>service</emphasis> element:
-				</para>
-					
-				<informalexample>
-  					<programlisting role="XML" ><![CDATA[
-<service name="ns1:CreditAgencyService" port="CreditAgencyInterfacePort"/>
-	 			 	]]></programlisting>
-				</informalexample>
-					
-			</section>
-
-			<section>
-				<title>BPEL Process Definition</title>
-					
-				<para>
-The generated BPEL process for the CreditAgency participant is as follows:
-				</para>
-					
-				<informalexample>
-  					<programlisting role="XML" ><![CDATA[
-<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" 
-			xmlns:ca="http://www.jboss.org/examples/creditAgency" 
-			xmlns:sto="http://www.jboss.org/examples/store" 
-			xmlns:tns="http://www.jboss.org/savara/examples" 
-			xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-			xmlns:ns0="http://www.scribble.org/conversation" 
-			ns0:conversationType="savara.samples.Common at CreditAgency" 
-			name="PurchaseGoodsProcess_CreditAgency" 
-			targetNamespace="http://www.jboss.org/examples/creditAgency" 
-			xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
-    <import importType="http://schemas.xmlsoap.org/wsdl/"
-    				location="PurchaseGoodsProcess_CreditAgency.wsdl"
-    				namespace="http://www.jboss.org/examples/creditAgency"/>
-    <import importType="http://schemas.xmlsoap.org/wsdl/"
-    				location="PurchaseGoodsProcess_Store.wsdl"
-    				namespace="http://www.jboss.org/examples/store"/>
-    <import importType="http://schemas.xmlsoap.org/wsdl/"
-    				location="PurchaseGoodsProcess_CreditAgencyArtifacts.wsdl"
-    				namespace="http://www.jboss.org/examples/creditAgency"/>
-    <partnerLinks>
-        <partnerLink myRole="CreditAgencyService" name="StoreToCreditAgency" 
-        					partnerLinkType="ca:StoreToCreditAgencyServiceLT"/>
-    </partnerLinks>
-    <variables>
-        <variable messageType="ca:checkCreditRequest" name="creditCheckRequestVar"/>
-        <variable messageType="ca:checkCreditResponse" name="creditCheckOkVar"/>
-        <variable messageType="ca:CreditCheckFailedFault" name="creditCheckInvalidVar"/>
-    </variables>
-    <sequence>
-        <receive createInstance="yes" name="Receive_CreditCheckRequest" operation="checkCredit" 
-        					partnerLink="StoreToCreditAgency" portType="ca:CreditAgencyInterface"
-        					variable="creditCheckRequestVar"/>
-        <if>
-            <sequence>
-                <reply name="Send_CreditCheckOk" operation="checkCredit" 
-                			partnerLink="StoreToCreditAgency" 
-                			portType="ca:CreditAgencyInterface" variable="creditCheckOkVar"/>
-            </sequence>
-            <else>
-                <sequence>
-                    <reply faultName="ca:CreditCheckFailed" name="Send_CreditCheckInvalid" 
-                    				operation="checkCredit" partnerLink="StoreToCreditAgency" 
-                    				portType="ca:CreditAgencyInterface" variable="creditCheckInvalidVar"/>
-                </sequence>
-            </else>
-        </if>
-    </sequence>
-</process>
-	 			 	]]></programlisting>
-				</informalexample>
-
-				<para>
-				There are three changes required, the first being to add a condition following
-				the <emphasis>if</emphasis> element:
-				</para>
-					
-				<informalexample>
-  					<programlisting role="XML" ><![CDATA[
-<if>
-	<bpel:condition>
-		$creditCheckRequestVar.content/@amount <= 500
-	</bpel:condition>
-	....
-	 				 	]]></programlisting>
-					</informalexample>
+			<para>
+			The generated BPEL processes and deployment descriptors are incomplete, due to
+			lack of implementation details in the choreography description. The choreography
+			simply represents the externally observable interactions between the parties,
+			and therefore cannot provide internal implementation details.
+			</para>
 			
-					<para>
-					The next two changes relate to taking the information provided in the request
-					and constructing an appropriate normal and fault response. In this simple
-					example we only echo back the information received in the request, however
-					more complicated processing could be performed before returning either
-					response.
-					</para>
-					
-					<para>
-					The following XML code should be added before the normal response (i.e.
-					just inside the <emphasis>sequence</emphasis> element following the
-					condition:
-					</para>
-													
-					<informalexample>
-  						<programlisting role="XML" ><![CDATA[
-<assign name="CopyPurchaseDetails">
-	<bpel:copy>
-	    <bpel:from>
-	        <bpel:literal xml:space="preserve">
-	        	<tns:CreditCheckOk xmlns:tns="http://www.jboss.org/examples/creditAgency" 
-						xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-						xsi:schemaLocation="http://www.jboss.org/examples/creditAgency creditAgency.xsd "
-							id="" amount="" >
-				</tns:CreditCheckOk>
-	        </bpel:literal>
-	    </bpel:from>
-	    <bpel:to variable="creditCheckOkVar" part="content"></bpel:to>
-	</bpel:copy>
-    <copy>
-        <from>$creditCheckRequestVar.content/@id</from>
-        <to>$creditCheckOkVar.content/@id</to>
-    </copy>
-</assign>
-	 				 	]]></programlisting>
-					</informalexample>
-
-					<para>
-					The following XML code should be added before the fault response (i.e.
-					just inside the <emphasis>sequence</emphasis> element that is contained
-					in the <emphasis>else</emphasis> element:
-					</para>
-													
-					<informalexample>
-  						<programlisting role="XML" ><![CDATA[
-<assign name="CopyPurchaseDetails">
-	<bpel:copy>
-		<bpel:from>
-			<bpel:literal xml:space="preserve">
-				<tns:CreditCheckInvalid xmlns:tns="http://www.jboss.org/examples/creditAgency" 
-						xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-						xsi:schemaLocation="http://www.jboss.org/examples/creditAgency creditAgency.xsd "
-						id="" amount="" >
-				</tns:CreditCheckInvalid>
-			</bpel:literal>
-		</bpel:from>
-		<bpel:to variable="creditCheckInvalidVar" part="content"></bpel:to>
-	</bpel:copy>
-    <copy>
-        <from>$creditCheckRequestVar.content/@id</from>
-        <to>$creditCheckInvalidVar.content/@id</to>
-    </copy>
-</assign>
-	 			 	]]></programlisting>
-				</informalexample>
-
-			</section>
-		</section>
-
-		<section>
-			<title>Adding implementation details to Store</title>
-				
-			<section>
-				<title>Deployment Descriptor</title>
-					
-				<para>
-				When generated, the deployment descriptor initially has the following content:
-				</para>
-					
-				<informalexample>
-  					<programlisting role="XML" ><![CDATA[
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
-					xmlns:ns1="http://www.jboss.org/examples/store">
-    <process name="ns1:PurchaseGoodsProcess_Store">
-        <active>
-            true
-        </active>
-        <provide partnerLink="BuyerToStore">
-            <service/>
-        </provide>
-        <invoke partnerLink="StoreToCreditAgency">
-            <service/>
-        </invoke>
-    </process>
-</deploy>
-	 			 	]]></programlisting>
-				</informalexample>
-					
-				<para>
-				The only changes necessary are, (1) to add a namespace prefix definition,
-				</para>
-					
-				<informalexample>
-  					<programlisting role="XML" ><![CDATA[
-xmlns:ns2="http://www.jboss.org/examples/creditAgency"
- 	 			 	]]></programlisting>
-				</informalexample>
-
-				<para>
-				and	(2) to add some attributes to the <emphasis>service</emphasis> element:
-				</para>
-					
-				<informalexample>
-  					<programlisting role="XML" ><![CDATA[
-        <provide partnerLink="BuyerToStore">
-            <service name="ns1:StoreService" port="StoreInterfacePort"/>
-        </provide>
-        <invoke partnerLink="StoreToCreditAgency">
-            <service name="ns2:CreditAgencyService" port="CreditAgencyInterfacePort"/>
-        </invoke>
-	 			 	]]></programlisting>
-				</informalexample>
-					
-			</section>
-
-			<section>
-				<title>BPEL Process Definition</title>
-					
-				<para>
-				The generated BPEL process for the Store participant is as follows:
-				</para>
-					
-				<informalexample>
-  					<programlisting role="XML" ><![CDATA[
-<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" 
-					xmlns:ca="http://www.jboss.org/examples/creditAgency" 
-					xmlns:sto="http://www.jboss.org/examples/store" 
-					xmlns:tns="http://www.jboss.org/savara/examples" 
-					xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-					xmlns:ns0="http://www.scribble.org/conversation" 
-					ns0:conversationType="savara.samples.Purchasing at Store" 
-					name="PurchaseGoodsProcess_Store" 
-					targetNamespace="http://www.jboss.org/examples/store" 
-					xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
-    <import importType="http://schemas.xmlsoap.org/wsdl/" 
-    				location="PurchaseGoodsProcess_Store.wsdl" 
-    						namespace="http://www.jboss.org/examples/store"/>
-    <import importType="http://schemas.xmlsoap.org/wsdl/" 
-    				location="PurchaseGoodsProcess_CreditAgency.wsdl" 
-    						namespace="http://www.jboss.org/examples/creditAgency"/>
-    <import importType="http://schemas.xmlsoap.org/wsdl/" 
-    				location="PurchaseGoodsProcess_StoreArtifacts.wsdl" 
-    						namespace="http://www.jboss.org/examples/store"/>
-    <partnerLinks>
-        <partnerLink myRole="StoreService" name="BuyerToStore" partnerLinkType="sto:BuyerToStoreServiceLT"/>
-        <partnerLink name="StoreToCreditAgency" partnerLinkType="sto:StoreToCreditAgencyLT" 
-        								partnerRole="CreditAgencyRequester"/>
-    </partnerLinks>
-    <variables>
-        <variable messageType="sto:buyRequest" name="buyRequestVar"/>
-        <variable messageType="ca:checkCreditRequest" name="creditCheckRequestVar"/>
-        <variable messageType="ca:checkCreditResponse" name="creditCheckOkVar"/>
-        <variable messageType="sto:buyResponse" name="buyConfirmedVar"/>
-        <variable messageType="sto:BuyFailedFault" name="buyFailedVar"/>
-    </variables>
-    <sequence>
-        <receive createInstance="yes" name="Receive_BuyRequest" operation="buy" 
-        				partnerLink="BuyerToStore" 
-        				portType="sto:StoreInterface" variable="buyRequestVar"/>
-        <scope>
-            <faultHandlers>
-                <catch faultMessageType="ca:CreditCheckFailedFault"
-                					faultName="ca:CreditCheckFailed" 
-                					faultVariable="creditCheckInvalidVar">
-                    <sequence>
-                        <reply faultName="sto:BuyFailed" name="Send_BuyFailed" operation="buy" 
-                        			partnerLink="BuyerToStore" portType="sto:StoreInterface" 
-                        			variable="buyFailedVar"/>
-                    </sequence>
-                </catch>
-            </faultHandlers>
-            <sequence>
-                <invoke inputVariable="creditCheckRequestVar" name="Send_CreditCheckRequest" 
-                					operation="checkCredit" outputVariable="creditCheckOkVar" 
-                					partnerLink="StoreToCreditAgency" portType="ca:CreditAgencyInterface"/>
-                <reply name="Send_BuyConfirmed" operation="buy" partnerLink="BuyerToStore" 
-                					portType="sto:StoreInterface" variable="buyConfirmedVar"/>
-            </sequence>
-        </scope>
-    </sequence>
-</process>
-	 			 	]]></programlisting>
-				</informalexample>
-
-				<para>
-				There are three changes required. The first being to add an assignment
-				statement within the <emphasis>catch</emphasis> element's
-				<emphasis>sequence</emphasis> prior to the <emphasis>reply</emphasis>:
-				</para>
-					
-				<informalexample>
-  					<programlisting role="XML" ><![CDATA[
-<assign name="CopyPurchaseDetails">
-	<bpel:copy>
-		<bpel:from>
-			<bpel:literal xml:space="preserve">
-				<tns:BuyFailed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-						xmlns:tns="http://www.jboss.org/examples/store" 
-						xsi:schemaLocation="http://www.jboss.org/examples/store store.xsd " 
-								id="" />
-			</bpel:literal>
-			</bpel:from>
-		<bpel:to variable="buyFailedVar" part="content"></bpel:to>
-	</bpel:copy>
-    <copy>
-        <from>$creditCheckInvalidVar.content/@id</from>
-        <to>$buyFailedVar.content/@id</to>
-    </copy>
-</assign>
-	 			 	]]></programlisting>
-				</informalexample>
+			<para>
+			Therefore a completed version of the deployment descriptor and BPEL process files,
+			for both the creditAgency and store participants, can be found in the
+			<emphasis>purchasing</emphasis> example's <filename>completed</filename> folder.
+			</para>
 			
-				<para>
-				The remaining two changes relate to taking the information received in the
-				initial request, to construct a request to the credit agency, and then
-				extracting the information from the credit agency response, to return it
-				to the <emphasis>Store</emphasis> client. The following snippet shows
-				the two assignment statements either side of the <emphasis>invoke</emphasis>
-				statement:
-				</para>
-																		
-				<informalexample>
-  					<programlisting role="XML" ><![CDATA[
-<assign name="CopyPurchaseDetails">
-	<bpel:copy>
-		<bpel:from>
-			<bpel:literal xml:space="preserve">
-				<tns:CreditCheckRequest xmlns:tns="http://www.jboss.org/examples/creditAgency" 
-						xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-						xsi:schemaLocation="http://www.jboss.org/examples/creditAgency creditAgency.xsd "
-							id="" amount="" >
-				</tns:CreditCheckRequest>
-			</bpel:literal>
-		</bpel:from>
-		<bpel:to variable="creditCheckRequestVar" part="content"></bpel:to>
-	</bpel:copy>
-    <copy>
-        <from>$buyRequestVar.content/@id</from>
-        <to>$creditCheckRequestVar.content/@id</to>
-    </copy>
-    <copy>
-        <from>$buyRequestVar.content/@amount</from>
-        <to>$creditCheckRequestVar.content/@amount</to>
-    </copy>
-</assign>               
-<invoke inputVariable="creditCheckRequestVar" name="Send_CreditCheckRequest" 
-            		operation="checkCredit" outputVariable="creditCheckOkVar" 
-            		partnerLink="StoreToCreditAgency" portType="ca:CreditAgencyInterface"/>
-<assign name="CopyPurchaseDetails">
-	<bpel:copy>
-		<bpel:from>
-			<bpel:literal xml:space="preserve">
-				<tns:BuyConfirmed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-						xmlns:tns="http://www.jboss.org/examples/store" 
-						xsi:schemaLocation="http://www.jboss.org/examples/store store.xsd " 
-								id="" />
-			</bpel:literal>
-		</bpel:from>
-		<bpel:to variable="buyConfirmedVar" part="content"></bpel:to>
-	</bpel:copy>
-    <copy>
-        <from>$creditCheckOkVar.content/@id</from>
-        <to>$buyConfirmedVar.content/@id</to>
-    </copy>
-</assign>
-	 				]]></programlisting>
-				</informalexample>
-
-			</section>
+			<para>
+			To highlight the differences between the original generated version, and the completed
+			version, simply select both files and use the <emphasis>Compare With->Each Other</emphasis>
+			menu item.
+			</para>
+			
 		</section>
 
 	</section>



More information about the savara-commits mailing list