<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">

<channel>
	<title>Pascal On BPMS</title>
	
	<link>http://onbpms.com</link>
	<description>BPMN, BPEL, SOAP and all those things</description>
	<pubDate>Thu, 19 Jul 2007 00:34:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/OnBPMS" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="onbpms" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Business Process Simulation versus Emulation</title>
		<link>http://onbpms.com/2007/07/18/business-process-simulation-versus-emulation/</link>
		<comments>http://onbpms.com/2007/07/18/business-process-simulation-versus-emulation/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 00:34:52 +0000</pubDate>
		<dc:creator>Pascal</dc:creator>
		
		<category><![CDATA[BPMN]]></category>

		<category><![CDATA[Business Process]]></category>

		<guid isPermaLink="false">http://onbpms.com/2007/07/18/business-process-simulation-versus-emulation/</guid>
		<description><![CDATA[Most process modeling tools and some BPM products provide &#8220;process simulation&#8221;. This is most often presented as a way to determine the business benefits that one might expect from implementing a given business process before having to actually do any implementation work. To a minimum, it simply allows to step through the business process diagram [...]]]></description>
			<content:encoded><![CDATA[<p id="mb_0">Most process modeling tools and some BPM products provide &#8220;process simulation&#8221;. This is most often presented as a way to determine the business benefits that one might expect from implementing a given business process before having to actually do any implementation work. To a minimum, it simply allows to step through the business process diagram by injecting some sample conditions every time the flow needs to select a branch. More sophisticated tools provide the ability to inject different scenarios and verify the outcome or support &#8220;Monte Carlo&#8221; simulation.</p>
<p>Intalio|BPMS Designer does not provide such capability today. In this document, let&#8217;s describe what Intalio|BPMS can do today in this area, how it differentiates from traditional simulation and what more it could do in the future.</p>
<p>Today, Intalio|BPMS provides the ability to do what we call &#8220;process emulation&#8221;. This is taking advantage of the unique advantage that Intalio provides by generating executable processes directly from a BPMN diagram. No other product can do this today. Either they provide a BPMN modeler that cannot generate fully executable processes, or they generate code but they don&#8217;t support BPMN. Emulation consists in taking advantage of the BPMN &#8220;pools&#8221; that represent different types of participant by implementing people and system participants as &#8220;emulating processes&#8221;. The process participatns remain the same as if the process was to be deployed in a test or production environment, but here the people and external system that are involved in the process model are also processes. Then we leverage Intalio|BPMS Designer code generation capabilities to generate all the code and deploy the process in an &#8220;emulation environment&#8221;. This environment simply consists in Intalio|BPMS Server, where we deploy the processes together with the emulation processes that emulate people and system participant. This provides the ability to run the business processes in a fully automated environment, without having to integrate with any external system nor requiring any user interaction. In such an environment, processes can be tested to provide business information about how they should perform, should they eventually get fully implemented and deployed in a production system. With the Intalio|BPMS Console and Intalio|BAM, it is possible to get realistic, graphical, business information about the performance of such processes as they are emulated. Again, no other product provides such capabilities today.</p>
<p>So how is this different from typical process simulation as other tools do it? Process modeling and simulation tools do not provide the ability to generate, deploy and run executable processes. They therefore only target business analysts and enforces them not to consider any technical details. They model processes to meet certain business objectives and requirements, abstract from any technical consideration. Most process modeling tool vendors would argue that this is a better methodology to focus on the business independently from the technical constraints first, and later have other people in the IT to figure out what to do with it. BPM tries to change this by enabling collaboration between the 2 views. This is important, because when a process needs to be implemented, technical constraints can no longer be ignored, and it may require process modeling changes. As a result, the processes that are implemented end up being different than those that were modeled by the business analysts, and this breaks the assumptions upon which simulation was performed! In other words, process simulation provides business analysis of &#8220;theorical processes&#8221; that may very well have nothing to do with &#8220;real processes&#8221;.</p>
<p>If process simulation fails to provide information about the business performance one can expect from their processes before implementing them, then what is it worth? Is process simulation useless? No, there is still value in process simulation, but not for what it is typically presented. There is indeed a challenge in getting from busioness processes that business analysts can model to fully designed processes that can be deployed and executed. Now that business analysts and IT Engineers can use the same Intalio|BPMS Designer tool, how can they collaborate more efficiently and not just use the same tool but in two different worlds? Here, the biggest challenge is for the Business Analyst to understand whether or not their process models actually express what they wanted, and whether or not they are good enough to be implemented by the technical team. This is where process simulation can really help. With process simulation in Intalio|BPMS Designer, business analysts could test their process models against several scenarios and adapt their models until they feel confident they&#8217;re ready to be shared with the technical team.</p>
<p>To summarize, here is how simulation and emulation can be envisonned to be used in order to indeed provide valuable business information before deploying processes in a production environment:</p>
<ol>
<li>Business Analysts create new process models in Intalio|BPMS Designer</li>
<li>Business Analysts use Intalio|BPMS Designer simulation capabilities to ensure their process models meet their objectives and requirements as far as they can tell.</li>
<li>IT Engineers add emulation processes and deploy them in the emulation environment.</li>
<li>Business Analysts analize the business reports they get from the emulation environment.</li>
<li>Based on the reports, Business Analysts may revisit their models and go back to step #2. Once they are happy with the business outcome they can truly expect to get, it&#8217;s time to actually implement those processes.</li>
<li>IT Engineers now fully implement processes by integrating external systems and users. The next steps are the traditional steps to deploy an application in a production system (test, acceptance, production)</li>
</ol>
<p>Today, Intalio|BPMS Designer unfortunately does not provide such simulation capabilities. However, no other products do and products that offer simulation today do not help addressing the challenge of gettting from business process model to executable processes. In fact, they tend to justify the isolation of business analysts from the IT department, which goes against all the premises of BPM 2.0. It is therefore highly recommended not to let users adopt such tools and instead learn from Intalio partners about best practices that will help business analysts and IT engineers collaborating.</p>
<p>See also:</p>
<ul>
<li><a href="http://itredux.com/blog/2006/06/19/why-a-bpms-should-support-process-simulation/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)" onclick="javascript:urchinTracker ('/outbound/article/itredux.com');"> Why a BPMS should support Process Simulation</a> , by Ismael Ghalimi on IT|Redux.</li>
<li><a href="http://bpms.intalio.com/component/option,com_ddd/task,viewfeature/featureid,16/Itemid,96/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)" onclick="javascript:urchinTracker ('/outbound/article/bpms.intalio.com');">  Process Simulation in Intalio|BPMS Designer</a> , an Intalio|Demand Driven Development (D3) project.</li>
<li><a href="http://www.intelligententerprise.com/blog/archives/2007/03/is_simulation_f.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)" onclick="javascript:urchinTracker ('/outbound/article/www.intelligententerprise.com');"> Is Simulation Fake?</a> , by Bruce Silver on The Intelligent Enterprise.</li>
</ul>
<p>This post was written by Jacques-Alexandre Gerber at <a href="http://www.intalio.com" title="Intalio, Inc." onclick="javascript:urchinTracker ('/outbound/article/www.intalio.com');">Intalio</a>.Â  Published with his permission.</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Pascal for <a href="http://onbpms.com" >Pascal On BPMS</a>, 2007. |
	  <a href="http://onbpms.com/2007/07/18/business-process-simulation-versus-emulation/" >Permalink</a> |
	  <a href="http://onbpms.com/2007/07/18/business-process-simulation-versus-emulation/#comments" >2 comments</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://onbpms.com/2007/07/18/business-process-simulation-versus-emulation/&amp;title=Business Process Simulation versus Emulation" onclick="javascript:urchinTracker ('/outbound/article/del.icio.us');">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://onbpms.com/2007/07/18/business-process-simulation-versus-emulation/" title="Search on Technorati" onclick="javascript:urchinTracker ('/outbound/article/www.technorati.com');">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://onbpms.com/category/bpmn/" title="View all posts in BPMN" rel="category tag" >BPMN</a>,  <a href="http://onbpms.com/category/business-process/" title="View all posts in Business Process" rel="category tag" >Business Process</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OnBPMS?a=NrAAwSYMTEg:_pmdVuvcc_4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OnBPMS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OnBPMS?a=NrAAwSYMTEg:_pmdVuvcc_4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/OnBPMS?i=NrAAwSYMTEg:_pmdVuvcc_4:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://onbpms.com/2007/07/18/business-process-simulation-versus-emulation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BPEL Correlations too complex?  Why is that?</title>
		<link>http://onbpms.com/2007/02/28/bpel-correlations-too-complex-why-is-that/</link>
		<comments>http://onbpms.com/2007/02/28/bpel-correlations-too-complex-why-is-that/#comments</comments>
		<pubDate>Thu, 01 Mar 2007 02:45:13 +0000</pubDate>
		<dc:creator>Pascal</dc:creator>
		
		<category><![CDATA[BPEL]]></category>

		<guid isPermaLink="false">http://onbpms.com/2007/02/28/bpel-correlations-too-complex-why-is-that/</guid>
		<description><![CDATA[I&#8217;m not going to argue that BPEL Correlations are complex and hard to use.  I think what you have to do to setup a correlation speaks for itself.
I&#8217;m not going to explain how you can setup a correlation either.  I&#8217;ve already covered this in Setting up a Correlation, but I&#8217;m going to use [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not going to argue that <strong>BPEL Correlations</strong> are complex and hard to use.  I think what you have to do to <strong>setup a correlation</strong> speaks for itself.</p>
<p>I&#8217;m not going to explain how you can setup a correlation either.  I&#8217;ve already covered this in <a href="http://bpms.intalio.com/content/view/105/84/" title="Setting up a Correlation" onclick="javascript:urchinTracker ('/outbound/article/bpms.intalio.com');">Setting up a Correlation</a>, but I&#8217;m going to use the generated <strong>BPEL Process</strong> to walk you through how the correlation actually works, and in doing so show you how each piece fits into the whole.</p>
<p>But just to summarize, so you know what are all the pieces needed, here is what you need for the simplest correlation example.</p>
<p>The Process</p>
<p><img src="http://onbpms.com/wp-content/uploads/2007/02/simple-correlation.jpg" alt="Simple Correlation" /></p>
<p>The 2 messages:</p>
<pre>
&lt;xs:element name="Message1"&gt;
  &lt;xs:complexType&gt;
    &lt;xs:sequence&gt;
      &lt;xs:element name="Name" type="xs:string"/&gt;
      &lt;xs:element name="Age" type="xs:string"/&gt;
    &lt;/xs:sequence&gt;
  &lt;/xs:complexType&gt;
&lt;/xs:element&gt;&lt;xs:element name="Message2"&gt;
  &lt;xs:complexType&gt;
    &lt;xs:sequence&gt;
      &lt;xs:element name="Name" type="xs:string"/&gt;
      &lt;xs:element name="Address" type="xs:string"/&gt;
    &lt;/xs:sequence&gt;
  &lt;/xs:complexType&gt;
&lt;/xs:element&gt;
</pre>
<p>Then you need to define</p>
<p>- at least a <strong>Property</strong></p>
<pre>&lt;bpel:property name="name" type="xs:string"/&gt;</pre>
<p>- a <strong>correlationSet</strong></p>
<pre>&lt;bpel:correlationSets&gt;
  &lt;bpel:correlationSet properties="tns:name" name="name-correlation"/&gt;
&lt;/bpel:correlationSets&gt;</pre>
<p>- 2 <strong>property aliases</strong> (one for each message)</p>
<pre>&lt;bpel:propertyAlias propertyName="this:name" messageType="Client:msg1" part="Message1"&gt;
  &lt;bpel:query&gt;Correlation:Name&lt;/bpel:query&gt;
 &lt;/bpel:propertyAlias&gt;</pre>
<pre><span class="mosce_quote">&lt;bpel:propertyAlias propertyName="this:name" messageType="Client:msg1" part="Message2"&gt;
  &lt;bpel:query&gt;Correlation:Name&lt;/bpel:query&gt;
 &lt;/bpel:propertyAlias&gt;</span></pre>
<p>- And attach the correlation to each receive</p>
<pre>
&lt;bpel:receive bpmn:id="ID-5938e518-bfcf-1004-8cce-0438cf81d0f0"
  name="Receive1-Receive"
  partnerLink="Client_And_Correlation_PLink"
  portType="Client:Client_To_Correlation_PortType"
  operation="Receive1" variable="msg1" createInstance="yes"&gt;
  &lt;rdfs:label xml:space="preserve"&gt;Receive1&lt;/rdfs:label&gt;
  &lt;bpel:correlations&gt;
    &lt;bpel:correlation set="name-correlation" initiate="yes"/&gt;
  &lt;/bpel:correlations&gt;
&lt;/bpel:receive&gt;

&lt;bpel:receive bpmn:id="ID-593b12e8-bfcf-1004-8cce-0438cf81d0f0"
  name="Receive2-Receive"
  partnerLink="Client_And_Correlation_PLink"
  portType="Client:Client_To_Correlation_PortType"
  operation="Receive2" variable="msg2" createInstance="no"&gt;
  &lt;rdfs:label xml:space="preserve"&gt;Receive2&lt;/rdfs:label&gt;
  &lt;bpel:correlations&gt;
    &lt;bpel:correlation set="name-correlation" initiate="no"/&gt;
  &lt;/bpel:correlations&gt;
&lt;/bpel:receive&gt;<bpel:correlations></bpel:correlations></pre>
<p>That&#8217;s it.</p>
<h3>First message arrives</h3>
<p>So now that all the pieces are in place, let&#8217;s see how they each contribute to get the right message back to the right process instance.  For this, let&#8217;s walk through an actual execution and examine what happens.</p>
<p>A message  of type <em>Message1</em> is received.</p>
<p>A new process instance is triggered (<em>Correlation</em>) and while executing the first receive (<em>Receive1-Receive</em>), the BPEL engine finds the correlation &#8220;<em>name-correlation</em>&#8220;, looks up its definition, figures out that it contains a property &#8220;<em>name</em>&#8220;, and since the message received is of type &#8220;Message1&#8243;, finds the property alias for this message type, part and property.</p>
<p>From there, it will use the <em>query</em> for that Property Alias to know which element of the message to use.  This query can be any XPath expression.  Finally, since this first correlation has the attribute <em>initiate=&#8221;yes&#8221;</em> , the engine will initialize the property <em>name</em> with the value of the &lt;name&gt; element in the incoming message.  Phew, still with me?</p>
<p>Correlation -&gt; property -&gt; property alias (for the message type) -&gt; query -&gt; value stored.</p>
<h3>Second message</h3>
<p>From there, this is easy <img src='http://onbpms.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  When a message of type <em>Message2</em> arrives, we can go through the same steps.  Except for 2 main differences: the message type and part is different, so the BPEL engine will use the second property alias.  And the correlation has &#8220;<em>initiate=&#8221;no&#8221;</em>, which means that instead of setting the property value, it will match the value of the property with the value of the element found by resolving the query of the property alias.  In this case, it is also a &lt;name&gt; element, but it could be anything.  The value found is what matters for matching with the right process instance.</p>
<p>Correlation -&gt; property -&gt; property alias (for the message type) -&gt; query -&gt; match (or not).</p>
<p>So are BPEL Correlations complex?  You bet.  Are they impossible to understand?  Not if you take the time to understand each piece and how it relates to the others.</p>
<p>Now you are ready to tackle bigger and more complex correlations!  Use more than one correlation per process, add more properties to the correlation, do more than 2 message exchanges, the possibilities are limitless&#8230;</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Pascal for <a href="http://onbpms.com" >Pascal On BPMS</a>, 2007. |
	  <a href="http://onbpms.com/2007/02/28/bpel-correlations-too-complex-why-is-that/" >Permalink</a> |
	  <a href="http://onbpms.com/2007/02/28/bpel-correlations-too-complex-why-is-that/#comments" >2 comments</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://onbpms.com/2007/02/28/bpel-correlations-too-complex-why-is-that/&amp;title=BPEL Correlations too complex?  Why is that?" onclick="javascript:urchinTracker ('/outbound/article/del.icio.us');">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://onbpms.com/2007/02/28/bpel-correlations-too-complex-why-is-that/" title="Search on Technorati" onclick="javascript:urchinTracker ('/outbound/article/www.technorati.com');">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://onbpms.com/category/bpel/" title="View all posts in BPEL" rel="category tag" >BPEL</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OnBPMS?a=JVUHWhWykz4:xBFIxMmzAc4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OnBPMS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OnBPMS?a=JVUHWhWykz4:xBFIxMmzAc4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/OnBPMS?i=JVUHWhWykz4:xBFIxMmzAc4:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://onbpms.com/2007/02/28/bpel-correlations-too-complex-why-is-that/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FirstProcess Screen Cast</title>
		<link>http://onbpms.com/2007/02/08/firstprocess-screen-cast/</link>
		<comments>http://onbpms.com/2007/02/08/firstprocess-screen-cast/#comments</comments>
		<pubDate>Fri, 09 Feb 2007 03:00:20 +0000</pubDate>
		<dc:creator>Pascal</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://onbpms.com/2007/02/08/firstprocess-screen-cast/</guid>
		<description><![CDATA[I have just completed a second screen cast.  This one shows how you can use BPMN to model the process used in the First Process Tutorial.

It shows how you can call external services by using the Wed ServiceDescriptor (WSDL).  Once modeled, the process is deployed (as BPEL), and executed.
Checkout this First Process screen [...]]]></description>
			<content:encoded><![CDATA[<p>I have just completed a second screen cast.  This one shows how you can use BPMN to model the process used in the <a href="http://bpms.intalio.com/content/view/148/103/" title="First Process Tutorial" onclick="javascript:urchinTracker ('/outbound/article/bpms.intalio.com');">First Process Tutorial</a>.</p>
<p><img src="http://onbpms.com/wp-content/uploads/2007/02/firstprocess.jpg" alt="First Process" /></p>
<p>It shows how you can call external services by using the Wed ServiceDescriptor (WSDL).  Once modeled, the process is deployed (as BPEL), and executed.</p>
<p>Checkout this <a href="http://bpms.intalio.com/screencasts/FirstProcess/FirstProcess.html" title="First Process Screen Cast" onclick="javascript:urchinTracker ('/outbound/article/bpms.intalio.com');">First Process screen cast</a> (about 10 minutes long).</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Pascal for <a href="http://onbpms.com" >Pascal On BPMS</a>, 2007. |
	  <a href="http://onbpms.com/2007/02/08/firstprocess-screen-cast/" >Permalink</a> |
	  <a href="http://onbpms.com/2007/02/08/firstprocess-screen-cast/#comments" >One comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://onbpms.com/2007/02/08/firstprocess-screen-cast/&amp;title=FirstProcess Screen Cast" onclick="javascript:urchinTracker ('/outbound/article/del.icio.us');">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://onbpms.com/2007/02/08/firstprocess-screen-cast/" title="Search on Technorati" onclick="javascript:urchinTracker ('/outbound/article/www.technorati.com');">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://onbpms.com/category/news/" title="View all posts in News" rel="category tag" >News</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OnBPMS?a=LtOvhHEednw:mlGmxyWc2Es:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OnBPMS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OnBPMS?a=LtOvhHEednw:mlGmxyWc2Es:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/OnBPMS?i=LtOvhHEednw:mlGmxyWc2Es:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://onbpms.com/2007/02/08/firstprocess-screen-cast/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Looping Backward</title>
		<link>http://onbpms.com/2007/02/08/looping-backward/</link>
		<comments>http://onbpms.com/2007/02/08/looping-backward/#comments</comments>
		<pubDate>Thu, 08 Feb 2007 23:56:13 +0000</pubDate>
		<dc:creator>Pascal</dc:creator>
		
		<category><![CDATA[BPEL]]></category>

		<category><![CDATA[BPMN]]></category>

		<guid isPermaLink="false">http://onbpms.com/2007/02/08/looping-backward/</guid>
		<description><![CDATA[A fairly common thing you want to do in your process is to loop back.
Consider this process, for example, which illustrates a simple approval Proposal Review and Approval.

What happens during that process is quite self-explanatory:  you submit a proposal till it gets approved.
Some BPMN Modelers don&#8217;t support loopback (hint: Intalio&#124;BPMS Designer CE does not, [...]]]></description>
			<content:encoded><![CDATA[<p>A fairly common thing you want to do in your process is to <strong>loop back</strong>.</p>
<p>Consider this process, for example, which illustrates a simple approval Proposal Review and Approval.</p>
<p><img src="http://onbpms.com/wp-content/uploads/2007/02/simple-looping.jpg" alt="Simple Loop" /></p>
<p>What happens during that process is quite self-explanatory:  you submit a proposal till it gets approved.</p>
<p>Some <strong>BPMN </strong>Modelers don&#8217;t support loopback (hint: <a href="http://bpms.intalio.com" title="Intalio|BPMS" onclick="javascript:urchinTracker ('/outbound/article/bpms.intalio.com');">Intalio|BPMS Designer CE</a> does not, at least not yet).  If it something easy to do at modeling time, it can get fairly complex to generate an equivalent <strong>BPEL </strong>process that conveys the same thing since BPEL does not support out of sequence flow changes (What some people would call GO TO).  BPEL execution model likes well structured, nested sequences (sub processes, conditional code and while loops).</p>
<p>So, if the modeler does not let you model the process as above, how can you model that process?</p>
<p>Fortunately, BPMN provides a looping sub-process shape.  So you could model your process this way:</p>
<p><img src="http://onbpms.com/wp-content/uploads/2007/02/simple-sub-loop1.jpg" alt="Simple Loop with a Looping subprocess" /></p>
<p>Maybe not as intuitive, but it expresses exactly the same thing.  And it has its benefits too.  For example, you can collapse the subprocess to unclutter your diagram, tasks inside the subprocess get their own scope.</p>
<p>In fact, absent of parallel flows, BÃ¶hm and Jacopini proved over 40 years ago that:</p>
<blockquote><p>â€œany logic problem can be solved with only sequence, choice (IFTHENELSE), and repetition (DOWHILE) structures)â€</p></blockquote>
<p><em> in â€œFlow Diagrams, Turing Machines and Languages with Only Two Formation Rulesâ€,</em><em>Communications of the ACM, No. 5, May 1966, pp 366-371.</em></p>
<p>The same approach can be used for more complex processes and nesting more than one looping sub-process.</p>
<p>However, some processes may not be valid:</p>
<p><img src="http://onbpms.com/wp-content/uploads/2007/02/invalidloop.jpg" alt="Invalid Loop?" /></p>
<p>Anyone wants to venture why?</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Pascal for <a href="http://onbpms.com" >Pascal On BPMS</a>, 2007. |
	  <a href="http://onbpms.com/2007/02/08/looping-backward/" >Permalink</a> |
	  <a href="http://onbpms.com/2007/02/08/looping-backward/#comments" >3 comments</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://onbpms.com/2007/02/08/looping-backward/&amp;title=Looping Backward" onclick="javascript:urchinTracker ('/outbound/article/del.icio.us');">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://onbpms.com/2007/02/08/looping-backward/" title="Search on Technorati" onclick="javascript:urchinTracker ('/outbound/article/www.technorati.com');">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://onbpms.com/category/bpel/" title="View all posts in BPEL" rel="category tag" >BPEL</a>,  <a href="http://onbpms.com/category/bpmn/" title="View all posts in BPMN" rel="category tag" >BPMN</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OnBPMS?a=DWsIR6q1Szc:DYf3O5GuTrg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OnBPMS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OnBPMS?a=DWsIR6q1Szc:DYf3O5GuTrg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/OnBPMS?i=DWsIR6q1Szc:DYf3O5GuTrg:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://onbpms.com/2007/02/08/looping-backward/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What’s a Business Process?</title>
		<link>http://onbpms.com/2007/02/05/whats-a-business-process/</link>
		<comments>http://onbpms.com/2007/02/05/whats-a-business-process/#comments</comments>
		<pubDate>Tue, 06 Feb 2007 03:27:53 +0000</pubDate>
		<dc:creator>Pascal</dc:creator>
		
		<category><![CDATA[Business Process]]></category>

		<category><![CDATA[Definition]]></category>

		<guid isPermaLink="false">http://onbpms.com/2007/02/05/whats-a-business-process/</guid>
		<description><![CDATA[Before getting in too deep, I need to define a few terms, not so much because you don&#8217;t know what they mean, but so you know what I mean when I use them.
And since I can&#8217;t be talking about BPMS (Note to self, need to define what a Business Process Management System is) without talking [...]]]></description>
			<content:encoded><![CDATA[<p>Before getting in too deep, I need to define a few terms, not so much because you don&#8217;t know what they mean, but so you know what I mean when I use them.</p>
<p>And since I can&#8217;t be talking about BPMS (Note to self, need to define what a Business Process Management System is) without talking about <strong>Business Processes</strong>.  So here goes.</p>
<p>The definition I like to use most is the one Thomas Davenport crafted in <a href="http://www.amazon.com/exec/obidos/ASIN/0875843662" title="Process Innovation" onclick="javascript:urchinTracker ('/outbound/article/www.amazon.com');">Process Innovation: Reengineering Work Through Information Technology (1992):</a></p>
<blockquote><p>&#8220;A process is thus a specific ordering of work activities across time and space, with a beginning and an end, and clearly defined inputs and outputs: a structure for action.&#8221;</p></blockquote>
<p>It brings the process to the center of the stage, it focuses on how work gets done, how the various activities should be combined, ultimately to provide value (to the customer), or at least to keep things in order.</p>
<p>This however, leaves a critical dimension out: the participants of the process, whether these are people, systems, or even other processes.  The process in itself does not &#8220;do&#8221; anything, the participants do.  So with this in mind, when I later talk about business processes, here&#8217;s what I&#8217;ll mean:</p>
<blockquote><p>&#8220;A <strong>Business Process</strong> is a specific ordering of <strong>Activities</strong> across time, space and participants.  A Business Process has a <strong>Beginning</strong>, an <strong>End</strong>, and clearly defined <strong>Inputs</strong> and <strong>Outputs </strong>and <strong>Steps</strong>.&#8221;</p></blockquote>
<blockquote></blockquote>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Pascal for <a href="http://onbpms.com" >Pascal On BPMS</a>, 2007. |
	  <a href="http://onbpms.com/2007/02/05/whats-a-business-process/" >Permalink</a> |
	  <a href="http://onbpms.com/2007/02/05/whats-a-business-process/#comments" >3 comments</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://onbpms.com/2007/02/05/whats-a-business-process/&amp;title=What&#8217;s a Business Process?" onclick="javascript:urchinTracker ('/outbound/article/del.icio.us');">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://onbpms.com/2007/02/05/whats-a-business-process/" title="Search on Technorati" onclick="javascript:urchinTracker ('/outbound/article/www.technorati.com');">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://onbpms.com/category/business-process/" title="View all posts in Business Process" rel="category tag" >Business Process</a>,  <a href="http://onbpms.com/category/definition/" title="View all posts in Definition" rel="category tag" >Definition</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OnBPMS?a=5IAC2oU3IYA:tfg4wLBQ6YI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OnBPMS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OnBPMS?a=5IAC2oU3IYA:tfg4wLBQ6YI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/OnBPMS?i=5IAC2oU3IYA:tfg4wLBQ6YI:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://onbpms.com/2007/02/05/whats-a-business-process/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Screen Cast</title>
		<link>http://onbpms.com/2007/02/02/new-screen-cast/</link>
		<comments>http://onbpms.com/2007/02/02/new-screen-cast/#comments</comments>
		<pubDate>Sat, 03 Feb 2007 00:03:35 +0000</pubDate>
		<dc:creator>Pascal</dc:creator>
		
		<category><![CDATA[BPMN]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://onbpms.com/2007/02/02/new-screen-cast/</guid>
		<description><![CDATA[I just created a new Screen Cast demonstrating how to model and run the Hello World Process.  Here are the instructions for modeling the Hello World Process. Hello World is one of the most simple process, if not the simplest you can model with Intalio&#124;BPMS.
If you&#8217;ve never used Intalio&#124;BPMS, this is a good way [...]]]></description>
			<content:encoded><![CDATA[<p>I just created a new Screen Cast demonstrating <a href="http://bpms.intalio.com/screencasts/helloworld/hello_world.html" title="Hello World Screen Cast" onclick="javascript:urchinTracker ('/outbound/article/bpms.intalio.com');">how to model and run the Hello World Process</a>.  Here are the instructions for <a href="http://bpms.intalio.com/content/view/36/83/" title="Modeling the Hello World Process" onclick="javascript:urchinTracker ('/outbound/article/bpms.intalio.com');">modeling the Hello World Process</a>. Hello World is one of the most simple process, if not the simplest you can model with Intalio|BPMS.</p>
<p>If you&#8217;ve never used Intalio|BPMS, this is a good way to get acquainted, and if you alrady know the product, maybe you&#8217;ll learn a trick or two!</p>
<p>Over the following weeks, I&#8217;ll be publishing more screen casts, tackling some more complicated processes as time goes by, as well as othe subjects such as connectors, SOAP and the like.  In fact, if you&#8217;d like to suggest some topics, please leave a comment below.  I&#8217;ll add a note here so grab the RSS feed so you don&#8217;t miss any <img src='http://onbpms.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://bpms.intalio.com/screencasts/helloworld/hello_world.html" title="Hello World Screen Cast" onclick="javascript:urchinTracker ('/outbound/article/bpms.intalio.com');">Check it out</a>!</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Pascal for <a href="http://onbpms.com" >Pascal On BPMS</a>, 2007. |
	  <a href="http://onbpms.com/2007/02/02/new-screen-cast/" >Permalink</a> |
	  <a href="http://onbpms.com/2007/02/02/new-screen-cast/#comments" >2 comments</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://onbpms.com/2007/02/02/new-screen-cast/&amp;title=New Screen Cast" onclick="javascript:urchinTracker ('/outbound/article/del.icio.us');">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://onbpms.com/2007/02/02/new-screen-cast/" title="Search on Technorati" onclick="javascript:urchinTracker ('/outbound/article/www.technorati.com');">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://onbpms.com/category/bpmn/" title="View all posts in BPMN" rel="category tag" >BPMN</a>,  <a href="http://onbpms.com/category/news/" title="View all posts in News" rel="category tag" >News</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OnBPMS?a=KQ8ql1gsPEo:sLW3PUs4LTc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OnBPMS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OnBPMS?a=KQ8ql1gsPEo:sLW3PUs4LTc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/OnBPMS?i=KQ8ql1gsPEo:sLW3PUs4LTc:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://onbpms.com/2007/02/02/new-screen-cast/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What to expect</title>
		<link>http://onbpms.com/2007/02/02/what-to-expect/</link>
		<comments>http://onbpms.com/2007/02/02/what-to-expect/#comments</comments>
		<pubDate>Fri, 02 Feb 2007 23:33:55 +0000</pubDate>
		<dc:creator>Pascal</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://onbpms.com/2007/02/02/what-to-expect/</guid>
		<description><![CDATA[Welcome to On BPMS, a new blog where I&#8217;ll be covering many different angles of a BPMS.
Primarily, I&#8217;ll be discussing Intalio&#124;BPMS.  But I may digress and cover other tools, especially tools that would be a good complement to Intalio&#8217;s offering.
My focus will be on the various technical aspect of the BPMS, from the less [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to On BPMS, a new blog where I&#8217;ll be covering many different angles of a BPMS.</p>
<p>Primarily, I&#8217;ll be discussing <a href="http://bpms.intalio.com" title="Intalio|BPMS" onclick="javascript:urchinTracker ('/outbound/article/bpms.intalio.com');">Intalio|BPMS</a>.  But I may digress and cover other tools, especially tools that would be a good complement to <a href="http://www.intalio.com" title="Intalio" onclick="javascript:urchinTracker ('/outbound/article/www.intalio.com');">Intalio</a>&#8217;s offering.</p>
<p>My focus will be on the various technical aspect of the BPMS, from the less technical to the still most challenging or more subtle aspects of integrating with other system  such as legacy systems, ERPs, and whatever crosses my path.</p>
<p>So in no particular order, I may be talking about:</p>
<ul>
<li>BPMS</li>
<li>BPEL</li>
<li>BPMN</li>
<li>SOAP</li>
<li>SOA</li>
<li>WSDL</li>
<li>Rule Engines</li>
<li>Databases</li>
<li>Web Services</li>
<li>CMS/CME</li>
<li>Java</li>
<li>Javascript</li>
<li>Portals</li>
<li>&#8230;</li>
<li>The list goes on</li>
</ul>
<p>Of course, I reserve the right to digress and cover anything I may find of interest.</p>
<h3>What not to expect:</h3>
<p>This blog is not a replacement to provide tutorials, references, but more a place to post things that don&#8217;t quite fit as a full blown tutorial, or a formal reference.</p>
<p>You won&#8217;t find any bashing of Intalio&#8217;s competition either.  It just doesn&#8217;t seem right to do that so you can count on the utmost restraint and fairness&#8230;</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Pascal for <a href="http://onbpms.com" >Pascal On BPMS</a>, 2007. |
	  <a href="http://onbpms.com/2007/02/02/what-to-expect/" >Permalink</a> |
	  <a href="http://onbpms.com/2007/02/02/what-to-expect/#comments" >3 comments</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://onbpms.com/2007/02/02/what-to-expect/&amp;title=What to expect" onclick="javascript:urchinTracker ('/outbound/article/del.icio.us');">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://onbpms.com/2007/02/02/what-to-expect/" title="Search on Technorati" onclick="javascript:urchinTracker ('/outbound/article/www.technorati.com');">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://onbpms.com/category/news/" title="View all posts in News" rel="category tag" >News</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OnBPMS?a=xjakYkXGPqg:iaLTJBExXM8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OnBPMS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OnBPMS?a=xjakYkXGPqg:iaLTJBExXM8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/OnBPMS?i=xjakYkXGPqg:iaLTJBExXM8:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://onbpms.com/2007/02/02/what-to-expect/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
