[savara-commits] savara SVN: r90 - in methodology/trunk: gettingstartedguide/src/main/module and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Nov 24 16:53:27 EST 2009


Author: objectiser
Date: 2009-11-24 16:53:27 -0500 (Tue, 24 Nov 2009)
New Revision: 90

Removed:
   methodology/trunk/tooling/
Modified:
   methodology/trunk/
   methodology/trunk/gettingstartedguide/src/main/module/installation.xml
   methodology/trunk/gettingstartedguide/src/main/module/soagwithcdl.xml
Log:
Remove service modeler - this needs to remain in overlord.


Property changes on: methodology/trunk
___________________________________________________________________
Name: svn:ignore
   + .project


Modified: methodology/trunk/gettingstartedguide/src/main/module/installation.xml
===================================================================
--- methodology/trunk/gettingstartedguide/src/main/module/installation.xml	2009-11-24 21:41:13 UTC (rev 89)
+++ methodology/trunk/gettingstartedguide/src/main/module/installation.xml	2009-11-24 21:53:27 UTC (rev 90)
@@ -18,22 +18,18 @@
        <section>
        		<title>Prerequisites</title>
        		<orderedlist>
-       			<listitem>JBossAS (version 4.2.3.GA or higher), available from  <ulink url="http://www.jboss.org/jbossas">http://www.jboss.org/jbossas</ulink></listitem>
-       			<listitem>JBossESB (version 4.5.GA or higher), should download the <emphasis role="bold">jbossesb-4.5.GA.zip</emphasis>, available from <ulink url="http://www.jboss.org/jbossesb">http://www.jboss.org/jbossesb</ulink></listitem>
-       			<listitem>Overlord CDL (version 1.0-M1 or higher), available from <ulink url="http://www.jboss.org/overlord">http://www.jboss.org/overlord</ulink></listitem>
-       			<listitem>
-       			pi4soa (version 2.0.0 or higher), available from <ulink url="http://pi4soa.wiki.sourceforge.net/download">http://pi4soa.wiki.sourceforge.net/download</ulink>
-       				<note>
-       					<para>
-       						It is recommended that a pre-packaged version is used, which includes all of the necessary Eclipse related plugins. 
-       						However the plugins can be installed separately into an existing Eclipse environment by following the instructions on the <ulink url="http://www.pi4soa.org">http://www.pi4soa.org</ulink> download wiki.
-       					</para>
-       				</note> 
-       			</listitem>
-       			<listitem>
-       				Ant, available from <ulink url="http://ant.apache.org/">http://ant.apache.org</ulink>
-       			</listitem>
-       		</orderedlist>
+       			<listitem>JBossAS (version 5.1.0.GA or higher), available from  <ulink url="http://www.jboss.org/jbossas">http://www.jboss.org/jbossas</ulink></listitem>
+       			<listitem>JBossESB (version 4.6.GA or higher), should download the <emphasis role="bold">jbossesb-4.5.GA.zip</emphasis>, available from <ulink url="http://www.jboss.org/jbossesb">http://www.jboss.org/jbossesb</ulink></listitem>
+       			<listitem>SAVARA (version 1.0-M1 or higher), available from <ulink url="http://www.jboss.org/savara">http://www.jboss.org/savara</ulink></listitem>
+       			<listitem>pi4soa (version 3.0.0 or higher), available as part of JBoss Tools from
+       			<ulink url="http://www.jboss.org/tools">http://www.jboss.org/tools</ulink>
+       			<note>
+       			<para>
+       			pi4soa is bundled as part of JBossTools 3.1.CR1 or greater.
+       			</para>
+       			</note></listitem>
+       			<listitem>Ant, available from <ulink url="http://ant.apache.org/">http://ant.apache.org</ulink></listitem>
+      		</orderedlist>
        </section>
        
        <section>

Modified: methodology/trunk/gettingstartedguide/src/main/module/soagwithcdl.xml
===================================================================
--- methodology/trunk/gettingstartedguide/src/main/module/soagwithcdl.xml	2009-11-24 21:41:13 UTC (rev 89)
+++ methodology/trunk/gettingstartedguide/src/main/module/soagwithcdl.xml	2009-11-24 21:53:27 UTC (rev 90)
@@ -84,14 +84,392 @@
 			<title>Design Time Governance With WS-BPEL</title>
 
 			<para>
-This milestone release includes a basic capability to generate a service implementation, for a participant in a choreography, using WS-BPEL.
+This tools include a capability to generate a service implementation, for a participant in a choreography,
+using WS-BPEL. A completed version of the <emphasis>PurchasingGoods</emphasis> example can be
+found in the samples directory (which can be imported into Eclipse).
 			</para>
 			<para>
-Subsequent milestone releases will include more capabilities as part of the service generation, including the generation of WSDL, as well as supporting conformance checking back against the choreography description.
-			</para>
-			<para>
+However if you wish to generate the example from scratch, the follow the instructions in this section.
 More information about how to use this feature can be found in the User Guide.
 			</para>
+
+			<section>
+				<title>Generating WS-BPEL based Services</title>
+
+				<para>
+When a choreography description has been created, it is possible to generate a BPEL Process (and associated
+WSDL files and deployment descriptor) for each of the participants defined within the choreography.
+To try this out, select the <emphasis>Savara->Generate->WS-BPEL</emphasis> menu item from the popup menu
+associated with the <filename>PurchaseGoods.cdm</filename>.
+				</para>
+
+			<imageobject>
+				<imagedata fileref="images/GenerateBPELMenu.jpg" align="center" width="3in" />
+			</imageobject>
+
+				<para>
+This will display a dialog listing the possible services that can be generated from this choreography,
+with a proposed Eclipse project name.
+				</para>
+
+			<imageobject>
+				<imagedata fileref="images/GenerateBPELDialog.jpg" align="center" width="3in" />
+			</imageobject>
+
+				<para>
+To test out this feature, uncheck the <emphasis>Buyer</emphasis> participant, leave the build system
+as <emphasis>Ant</emphasis>, select the messaging system appropriate for your target environment and
+press the 'Ok' button. This will create a single new project for the <emphasis>Store</emphasis> and
+<emphasis>CreditAgency</emphasis> participants.
+				</para>
+
+				<para>
+Each project will contain a single <filename>bpel</filename> folder containing the WS-BPEL process
+definition for the participant, a list of relevant WSDL files and a deployment descriptor file
+for use with RiftSaw. Howeve the WS-BPEL and WSDL files are standard, so can be deployed to any
+WS-BPEL 2.0 compliant engine.
+				</para>
+
+			<imageobject>
+				<imagedata fileref="images/GenerateBPELNav.jpg" align="center" width="2in" />
+			</imageobject>
+
+			</section>
+			
+			<section>
+				<title>Adding implementation details to CreditAgency</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</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:pur="http://www.jboss.org/examples/purchasing"
+		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="CreditAgencyPartnerLinkTypes.wsdl"
+				namespace="http://www.jboss.org/examples/creditAgency"/>
+	<partnerLinks>
+		<partnerLink myRole="CreditAgencyService" name="StoreToCreditAgency"
+					partnerLinkType="ca:StoreToCreditAgencyServiceLT"/>
+	</partnerLinks>
+	<variables>
+		<variable messageType="ca:CreditCheckRequest" name="creditCheckRequestVar"/>
+		<variable messageType="ca:CreditCheckOk" name="creditCheckOkVar"/>
+		<variable messageType="ca:CreditCheckInvalid" name="creditCheckInvalidVar"/>
+	</variables>
+    <sequence>
+        <receive createInstance="yes" operation="checkCredit"
+        		partnerLink="StoreToCreditAgency" portType="ca:CreditAgencyInterface"
+        				variable="creditCheckRequestVar"/>
+        <if>
+            <sequence>
+                <reply operation="checkCredit" partnerLink="StoreToCreditAgency"
+                	portType="ca:CreditAgencyInterface" variable="creditCheckOkVar"/>
+            </sequence>
+            <else>
+                <sequence>
+                    <reply faultName="ca:CreditCheckFailed" 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>
+        	<condition>
+        		$creditCheckRequestVar.CreditCheckRequest/pur:amount &lt;= 500
+        	</condition>
+			....
+	 				 	]]></programlisting>
+					</informalexample>
+			
+					<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">
+	            	<copy>
+	             		<from>$creditCheckRequestVar.CreditCheckRequest</from>
+		            	<to>$creditCheckOkVar.CreditCheckOk</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">
+		            	<copy>
+	             			<from>$creditCheckRequestVar.CreditCheckRequest</from>
+			            	<to>$creditCheckInvalidVar.CreditCheckInvalid</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</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:pur="http://www.jboss.org/examples/purchasing" 
+		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="StorePartnerLinkTypes.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:CreditCheckRequest" name="creditCheckRequestVar"/>
+        <variable messageType="ca:CreditCheckOk" name="creditCheckOkVar"/>
+        <variable messageType="sto:BuyConfirmed" name="buyConfirmedVar"/>
+        <variable messageType="sto:BuyFailed" name="buyFailedVar"/>
+    </variables>
+    <sequence>
+        <receive createInstance="yes" operation="buy" partnerLink="BuyerToStore" 
+        				portType="sto:StoreInterface" variable="buyRequestVar"/>
+        <scope>
+            <faultHandlers>
+                <catch faultMessageType="ca:CreditCheckInvalid" 
+                		faultName="ca:CreditCheckFailed" faultVariable="creditCheckInvalidVar">
+                    <sequence>
+                        <reply faultName="sto:BuyFailed" operation="buy" 
+                        		partnerLink="BuyerToStore" portType="sto:StoreInterface"
+                        		variable="buyFailedVar"/>
+                    </sequence>
+                </catch>
+            </faultHandlers>
+            <sequence>
+                <invoke inputVariable="creditCheckRequestVar" operation="checkCredit" 
+                			outputVariable="creditCheckOkVar" partnerLink="StoreToCreditAgency" 
+                			portType="ca:CreditAgencyInterface"/>
+                <reply 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">
+				            <copy>
+		              			<from>$creditCheckInvalidVar.CreditCheckInvalid</from>
+					            <to>$buyFailedVar.BuyFailed</to>
+		          			</copy>
+		 		        </assign>
+	 				 	]]></programlisting>
+					</informalexample>
+			
+					<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">
+		            <copy>
+              			<from>$buyRequestVar.BuyRequest</from>
+			            <to>$creditCheckRequestVar.CreditCheckRequest</to>
+          			</copy>
+ 		        </assign>
+                <invoke inputVariable="creditCheckRequestVar" operation="checkCredit"
+                			outputVariable="creditCheckOkVar" partnerLink="StoreToCreditAgency"
+                				portType="ca:CreditAgencyInterface"/>
+		        <assign name="CopyPurchaseDetails">
+		            <copy>
+              			<from>$creditCheckOkVar.CreditCheckOk</from>
+			            <to>$buyConfirmedVar.BuyConfirmed</to>
+          			</copy>
+ 		        </assign>
+	 				 	]]></programlisting>
+					</informalexample>
+
+				</section>
+			</section>
+
 		</section>
 
 		<section>



More information about the savara-commits mailing list