<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Bits &#38; Notes</title>
	<atom:link href="http://pkok.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pkok.wordpress.com</link>
	<description>On Software Engineering, Business Process Management and .NET Framework</description>
	<pubDate>Sat, 26 Jan 2008 18:13:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>Link - Synchronous call of a workflow from an activity</title>
		<link>http://pkok.wordpress.com/2006/09/06/link-synchronous-call-of-a-workflow-from-an-activity/</link>
		<comments>http://pkok.wordpress.com/2006/09/06/link-synchronous-call-of-a-workflow-from-an-activity/#comments</comments>
		<pubDate>Wed, 06 Sep 2006 07:15:54 +0000</pubDate>
		<dc:creator>Panos</dc:creator>
		
		<category><![CDATA[Windows Workflow Foundation]]></category>

		<guid isPermaLink="false">http://pkok.wordpress.com/2006/09/06/link-synchronous-call-of-a-workflow-from-an-activity/</guid>
		<description><![CDATA[Jon Flanders provides an example where an activity creates and calls syncronously another workflow by using a custom service.
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.masteringbiztalk.com/blogs/jon/">Jon Flanders</a> provides <a href="http://www.masteringbiztalk.com/blogs/jon/PermaLink,guid,7be9fb53-0ddf-4633-b358-01c3e9999088.aspx">an example</a> where an activity creates and calls syncronously another workflow by using a custom service.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pkok.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pkok.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pkok.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pkok.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pkok.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pkok.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pkok.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pkok.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pkok.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pkok.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pkok.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pkok.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pkok.wordpress.com&blog=249381&post=24&subd=pkok&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pkok.wordpress.com/2006/09/06/link-synchronous-call-of-a-workflow-from-an-activity/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Arbitrary loops (GOTO activities) in sequential workflows</title>
		<link>http://pkok.wordpress.com/2006/09/05/arbitrary-loops-goto-activities-in-sequential-workflows/</link>
		<comments>http://pkok.wordpress.com/2006/09/05/arbitrary-loops-goto-activities-in-sequential-workflows/#comments</comments>
		<pubDate>Tue, 05 Sep 2006 17:42:19 +0000</pubDate>
		<dc:creator>Panos</dc:creator>
		
		<category><![CDATA[BPMN]]></category>

		<category><![CDATA[Windows Workflow Foundation]]></category>

		<guid isPermaLink="false">http://pkok.wordpress.com/2006/09/05/arbitrary-loops-goto-activities-in-sequential-workflows/</guid>
		<description><![CDATA[The following BPMN diagram presents a situation where there is an arbitrary loop with two entry points (one before Task A and one before Task B) and one exit point (after Task C). In situations like that it is not possible to implement this loop with a WhileActivity, because the WhileActivity works only with well-structured [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The following BPMN diagram presents a situation where there is an arbitrary loop with two entry points (one before Task A and one before Task B) and one exit point (after Task C). In situations like that it is not possible to implement this loop with a WhileActivity, because the WhileActivity works only with well-structured loops (i.e. those that have one entry and one exit point).</p>
<p><img src="http://pkok.files.wordpress.com/2006/09/scopeactivity00.gif" alt="BPMN diagram with arbitrary loop" /></p>
<p>In many cases, it is possible to implement a loop like that with a StateMachineWorkflow. However, in order to implement this loop inside a SequentialWorkflow, we must exploit the rather obscure <b>EventHandlingScopeActivity</b>.</p>
<p>According to the <a href="http://windowssdk.msdn.microsoft.com/en-us/library/ms734649.aspx" target="_blank">official documentation</a>, &#8220;&#8230; an EventHandlingScopeActivity activity executes its main child activity concurrently with an EventHandlersActivity activity. Each EventDrivenActivity within the EventHandlersActivity might execute many times or not at all&#8221;.</p>
<p>According to <a href="http://www.odetocode.com/Articles/455.aspx" target="_blank">Scott Allen</a>, &#8220;&#8230; the EventHandlingScope activity is similar to a Listen activity in that it can have multiple branches waiting for events in parallel. We can view these branches by right-clicking the activity and selecting &#8220;View Events&#8221;. The primary difference between this activity and a Listen activity is that this event continues to listen for all events until its main child activity (the default view) finishes execution. Imagine we are setting up a workflow that will count employee votes over a period of 30 minutes. We could set the main child activity of the EventHandlingScope activity as a Delay activity, with a 30-minute timeout. We can then place event handling activities in the event branches that listen for Yes and No votes. This activity will continue to listen for the Yes and No events until the Delay activity completes in 30 minutes.&#8221;</p>
<p>The idea is to setup the appropriate event handlers and raise the events from inside (by emulating the receipt of an external event). A mathematically concrete presentation (by C. Ouyang, <a href="http://sky.fit.qut.edu.au/~dumas/" target="_blank">M. Dumas</a>, S. Breutel, and A.H.M. ter Hofstede) of this technique can be found <a href="http://eprints.qut.edu.au/archive/00002976/01/2976.pdf" target="_blank">here</a> and <a href="http://eprints.qut.edu.au/archive/00003615/01/3465.pdf" target="_blank">here</a>.</p>
<p>The main child activity contains two activities: Raises the starting event and waits for the end event. For the example above we need to setup two event handlers. A rule of thumb is that we need one event handler for each activity that has two or more input flows.</p>
<p>The first event handler contains Task A and raises the event for the second event handler.</p>
<p>The second event handler contains the Task B activity and an IfElseActivity, which represents the first gateway of the diagram. Now, the IfElseActivity checks the first condition (a==1) and if true, we raise the event captured by the first event handler. If false, we execute Task C and invoke a second IfElseActivity, which represents the second gateway. This IfElseActivity checks the second condition (b==2) and if true, we raise the event captured by the second event handler, otherwise we raise the event that ends the activity (the event that the main child activity listens to).</p>
<p>A sample project containing the workflow of the above diagram can be downloaded from <a href="http://www.encephalos.gr/EventHandlingScope.zip">here</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pkok.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pkok.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pkok.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pkok.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pkok.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pkok.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pkok.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pkok.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pkok.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pkok.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pkok.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pkok.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pkok.wordpress.com&blog=249381&post=22&subd=pkok&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pkok.wordpress.com/2006/09/05/arbitrary-loops-goto-activities-in-sequential-workflows/feed/</wfw:commentRss>
	
		<media:content url="http://pkok.files.wordpress.com/2006/09/scopeactivity00.gif" medium="image">
			<media:title type="html">BPMN diagram with arbitrary loop</media:title>
		</media:content>
	</item>
		<item>
		<title>Marlon Dumas on BPMN-BPEL round-trip engineering</title>
		<link>http://pkok.wordpress.com/2006/07/11/marlon-dumas-on-bpmn-bpel-round-trip-engineering/</link>
		<comments>http://pkok.wordpress.com/2006/07/11/marlon-dumas-on-bpmn-bpel-round-trip-engineering/#comments</comments>
		<pubDate>Tue, 11 Jul 2006 15:19:45 +0000</pubDate>
		<dc:creator>Panos</dc:creator>
		
		<category><![CDATA[BPMN]]></category>

		<category><![CDATA[Workflow &#038; BPM]]></category>

		<guid isPermaLink="false">https://pkok.wordpress.com/2006/07/11/marlon-dumas-on-bpmn-bpel-round-trip-engineering/</guid>
		<description><![CDATA[This is a copy of a very interesting answer of Marlon Dumas in the Workflow Research Forums:
The approach taken in eClarus is promising. However, I am  afraid that this approach will break when it gets to BPMN processes where  multiple instances of the same activity occur in parallel. Consider for example  Figure [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This is a copy of a very interesting answer of <a href="http://sky.fit.qut.edu.au/~dumas/">Marlon Dumas</a> in the <a href="http://www.workflow-research.de/Forums/index.php?act=ST&amp;f=2&amp;t=434&amp;s=8d193fe85c360fe5261c95d1fbcbb227">Workflow Research Forums</a>:</p>
<blockquote><p>The approach taken in <a href="http://www.eclarus.com/lr_mapping.html">eClarus</a> is promising. However, I am  afraid that this approach will break when it gets to BPMN processes where  multiple instances of the same activity occur in parallel. Consider for example  Figure 1(a) in page 4 of the following paper: <a href="http://eprints.qut.edu.au/archive/00002976/01/2976.pdf" target="_blank">http://eprints.qut.edu.au/archive/00002976/01/2976.pdf</a><br />
You  will notice that activity D may execute twice, and these two instances of  activity D may occur concurrently (for example if B and C finish more or less at  the same time).<br />
Even worst, consider the example in Figure 1(c): the number of  instances of D that may be active simultaneously is unbounded.<br />
In the general  case, such processes can not be mapped into BPEL structured activities, simply  because BPEL structured activities can not generate multiple instances of the  same activity. You can still go around a case like the one in Figure 1(a) by  duplicating the path containing activity D (and assuming there is no cycle  thereafter), but you&#8217;ll never manage to capture a case like Figure 1(c).<br />
Up to  now, the only way that we have found to map any BPMN diagram to BPEL is by  relying on BPEL event handlers. BPEL event handlers have the characteristic that  it is the only construct in BPEL 1.1, which allows an unbounded number of  instances of the same activity to execute in parallel.<br />
Of course, mapping  BPMN models to BPEL defeats the purpose of getting readable models, and  round-trip engineering is out of question from there on.<br />
However, if we  restrict ourselves to certain subsets of BPMN, some relatively simple algorithms  can do the job, see for example: <a href="http://eprints.qut.edu.au/archive/00003615/01/3465.pdf" target="_blank">http://eprints.qut.edu.au/archive/00003615/01/3465.pdf</a><br />
Using  such a mapping, round-trip is achievable. This is where tools like eClarus are  likely to play a role.<br />
So in summary, don&#8217;t expect you can draw any BPMN  diagram, hit the button, and get a readable BPEL def. that can then be reverted  back to a BPMN model. This can only be (easily) achieved for some classes of  BPMN diagrams. There are fundamental differences between BPMN and BPEL, and the  mapping is far from trivial.<br />
For some further discussions on this issue,  see: <a href="http://itredux.com/blog/2006/02/03/the-next-step-in-process-modeling/" target="_blank">http://itredux.com/blog/2006/02/03/the-nex&#8230;ocess-modeling/</a></p></blockquote>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pkok.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pkok.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pkok.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pkok.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pkok.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pkok.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pkok.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pkok.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pkok.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pkok.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pkok.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pkok.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pkok.wordpress.com&blog=249381&post=21&subd=pkok&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pkok.wordpress.com/2006/07/11/marlon-dumas-on-bpmn-bpel-round-trip-engineering/feed/</wfw:commentRss>
		</item>
		<item>
		<title>04Jul06 Links</title>
		<link>http://pkok.wordpress.com/2006/07/04/04jul06-links/</link>
		<comments>http://pkok.wordpress.com/2006/07/04/04jul06-links/#comments</comments>
		<pubDate>Tue, 04 Jul 2006 12:11:58 +0000</pubDate>
		<dc:creator>Panos</dc:creator>
		
		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[Workflow &#038; BPM]]></category>

		<guid isPermaLink="false">https://pkok.wordpress.com/2006/07/04/04jul06-links/</guid>
		<description><![CDATA[David Chappell - Standardizing the Right Thing: BPMN or BPEL?
&#8230; Fully standardizing BPMN, complete with a standard file format, seems likely to be a better solution than standardizing just an executable language such as BPEL.
John Evdemon - BizTalk and WF - Which To Use When? 


BTS is a licensed product designed to  implement workflow [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>David Chappell - <a href="http://www.davidchappell.com/blog/2006/06/standardizing-right-thing-bpmn-or-bpel">Standardizing the Right Thing: BPMN or BPEL?</a></p>
<blockquote><p>&#8230; Fully standardizing BPMN, complete with a standard file format, seems likely to be a better solution than standardizing just an executable language such as BPEL.</p></blockquote>
<p>John Evdemon - <a href="http://blogs.msdn.com/jevdemon/archive/2006/06/19/637462.aspx">BizTalk and WF - Which To Use When? </a></p>
<blockquote>
<ul>
<li>BTS is a <strong>licensed product</strong> designed to  implement workflow (“orchestrations”) <strong><em>across </em></strong>disparate  applications.</li>
<li>WF is a <strong>developer framework</strong> designed to expose  workflow capabilities <em><strong>within </strong></em>your applications.</li>
</ul>
</blockquote>
<p>Ted Neward - <a href="http://blogs.tedneward.com/PermaLink,guid,33e0e84c-1a82-4362-bb15-eb18a1a1d91f.aspx">The Vietnam of Computer Science</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pkok.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pkok.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pkok.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pkok.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pkok.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pkok.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pkok.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pkok.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pkok.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pkok.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pkok.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pkok.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pkok.wordpress.com&blog=249381&post=20&subd=pkok&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pkok.wordpress.com/2006/07/04/04jul06-links/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BPM Market Overview</title>
		<link>http://pkok.wordpress.com/2006/06/29/bpm-market-overview/</link>
		<comments>http://pkok.wordpress.com/2006/06/29/bpm-market-overview/#comments</comments>
		<pubDate>Thu, 29 Jun 2006 13:22:27 +0000</pubDate>
		<dc:creator>Panos</dc:creator>
		
		<category><![CDATA[Workflow &#038; BPM]]></category>

		<guid isPermaLink="false">https://pkok.wordpress.com/2006/06/29/bpm-market-overview/</guid>
		<description><![CDATA[OMG created a page as a follow up to the  information provided at the Think Tank workshop held on May  23-25th 2006. From the keynote &#8220;BPM Market Overview&#8221; presented by  	Connie Moore, Vice President and Research Director of	Forrester Information Delivery Research Group, I picked the following slides:




      [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.omg.org/">OMG</a> created <a href="http://www.omg.org/news/meetings/ThinkTank/event-updates.htm">a page</a> as a follow up to the  information provided at the Think Tank workshop held on May  23-25th 2006. From the keynote &#8220;<a href="http://www.omg.org/news/meetings/ThinkTank/presentations/Forrester_BPM_Think_Tank-2006.pdf"><b>BPM Market Overview</b></a>&#8221; presented by  	Connie Moore, Vice President and Research Director of	<a href="http://www.forrester.com">Forrester Information Delivery Research Group</a>, I picked the following slides:</p>
<p><img src="http://pkok.files.wordpress.com/2006/06/forr_sld1.gif" alt="forr_sld1.gif" /></p>
<p><img src="http://pkok.files.wordpress.com/2006/06/forr_sld2.gif" alt="forr_sld2.gif" /></p>
<p><img src="http://pkok.files.wordpress.com/2006/06/forr_sld3.gif" alt="forr_sld3.gif" /></p>
<p><img src="http://pkok.files.wordpress.com/2006/06/forr_sld4.gif" alt="forr_sld4.gif" /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pkok.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pkok.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pkok.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pkok.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pkok.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pkok.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pkok.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pkok.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pkok.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pkok.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pkok.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pkok.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pkok.wordpress.com&blog=249381&post=19&subd=pkok&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pkok.wordpress.com/2006/06/29/bpm-market-overview/feed/</wfw:commentRss>
	
		<media:content url="http://pkok.files.wordpress.com/2006/06/forr_sld1.gif" medium="image">
			<media:title type="html">forr_sld1.gif</media:title>
		</media:content>

		<media:content url="http://pkok.files.wordpress.com/2006/06/forr_sld2.gif" medium="image">
			<media:title type="html">forr_sld2.gif</media:title>
		</media:content>

		<media:content url="http://pkok.files.wordpress.com/2006/06/forr_sld3.gif" medium="image">
			<media:title type="html">forr_sld3.gif</media:title>
		</media:content>

		<media:content url="http://pkok.files.wordpress.com/2006/06/forr_sld4.gif" medium="image">
			<media:title type="html">forr_sld4.gif</media:title>
		</media:content>
	</item>
		<item>
		<title>BPMN-WF Mapping: The GOTO problem</title>
		<link>http://pkok.wordpress.com/2006/06/27/bpmn-wf-mapping-the-goto-problem/</link>
		<comments>http://pkok.wordpress.com/2006/06/27/bpmn-wf-mapping-the-goto-problem/#comments</comments>
		<pubDate>Tue, 27 Jun 2006 20:24:30 +0000</pubDate>
		<dc:creator>Panos</dc:creator>
		
		<category><![CDATA[BPMN]]></category>

		<category><![CDATA[Windows Workflow Foundation]]></category>

		<guid isPermaLink="false">https://pkok.wordpress.com/2006/06/27/bpmn-wf-mapping-the-goto-problem/</guid>
		<description><![CDATA[I expected that the transformation of a BPMN diagram to a WF workflow would be accomplished by mapping each BPMN Process to a Sequential Workflow. But, there is a structural difference between the BPMN diagram and the Sequential Workflow. The difference is that the Sequential Workflow is block-structured (i.e. all paths from a split or [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I expected that the transformation of a BPMN diagram to a WF workflow would be accomplished by mapping each BPMN Process to a Sequential Workflow. But, there is a structural difference between the BPMN diagram and the Sequential Workflow. The difference is that the Sequential Workflow is block-structured (i.e. all paths from a split or branch reconverge at a single node), while the BPMN diagram is a free form graph. The arbitrary sequence flows allowed in BPMN are similar to GOTO statements. Given that Sequential Workflows does not have a GOTO activity (see <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=382851&amp;SiteID=1">a related thread</a> from MSDN forums), the transformation is not possible without redrawing (re-engineering) a semantically equivalent block diagram.</p>
<p>The problem is equivalent with the problem of transforming BPMN to BPEL. Bruce Silver wrote <a href="http://www.brsilver.com/wordpress/2006/05/12/eclarus-leads-the-pack-in-bpmn-bpel-roundtripping/">a useful post</a> on the topic and Yi Gao (Chief Architect of eClarus Software) wrote <a href="http://www.eclarus.com/pdf/BPMN_BPEL_Mapping.pdf" target="_blank">an interesting white paper</a>. From these sources I copied an example BPMN diagram that presents the problem of block-oriented representations (like Sequential WF and BPEL).</p>
<p><img src="http://pkok.files.wordpress.com/2006/06/bpmn1.gif" alt="BPMN diagram" /></p>
<p>But, what if we map the BPMN diagram to a State Machine Workflow? Then we can solve at least the GOTO problem. We can map each task and each gateway of the BPMN to a State activity, which contains a single StateInitializationActivity, which executes its contained activities when entering the state. The State Machine Workflow diagram is the following:</p>
<p><img src="http://pkok.files.wordpress.com/2006/06/wf1.gif" alt="WF State Machine Workflow" /></p>
<p>Each StateInitializationActivity which corresponds to a BPMN task contains two childs activities: one for the implementation of the task and a SetStateActivity which causes the transition to the next state. Each StateInitializationActivity which corresponds to a BPMN gateway also contains two child activities: an IfElseActivity to evaluate conditions and again a SetStateActivity which causes the transition.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pkok.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pkok.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pkok.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pkok.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pkok.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pkok.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pkok.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pkok.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pkok.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pkok.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pkok.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pkok.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pkok.wordpress.com&blog=249381&post=12&subd=pkok&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pkok.wordpress.com/2006/06/27/bpmn-wf-mapping-the-goto-problem/feed/</wfw:commentRss>
	
		<media:content url="http://pkok.files.wordpress.com/2006/06/bpmn1.gif" medium="image">
			<media:title type="html">BPMN diagram</media:title>
		</media:content>

		<media:content url="http://pkok.files.wordpress.com/2006/06/wf1.gif" medium="image">
			<media:title type="html">WF State Machine Workflow</media:title>
		</media:content>
	</item>
		<item>
		<title>Mapping BPMN Graphical Objects to WF Activities</title>
		<link>http://pkok.wordpress.com/2006/06/20/mapping-bpmn-graphical-objects-to-wf-activities/</link>
		<comments>http://pkok.wordpress.com/2006/06/20/mapping-bpmn-graphical-objects-to-wf-activities/#comments</comments>
		<pubDate>Tue, 20 Jun 2006 09:26:44 +0000</pubDate>
		<dc:creator>Panos</dc:creator>
		
		<category><![CDATA[BPMN]]></category>

		<category><![CDATA[Windows Workflow Foundation]]></category>

		<guid isPermaLink="false">https://pkok.wordpress.com/2006/06/20/mapping-bpmn-graphical-objects-to-wf-activities/</guid>
		<description><![CDATA[(Draft, to-be-updated post)
Activities


BPMN
Windows Workflow Foundation


Process




Sub-Process
Maps to any CompositeActivity.


Loop Sub-Process
Maps to a WhileActivity.


Multiple Instance Sub-Process
Maps to a ReplicatorActivity.


Ad-Hoc Sub-Process




Compensation Sub-Process
Maps to a CompensateHandlerActivity.


Task
Maps to any atomic Activity that has only implementation semantics (e.g. CodeActivity                 or InvokeWebServiceActivity)


Events


BPMN
Windows Workflow Foundation


Start Event [None]




Start [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>(Draft, to-be-updated post)</p>
<p><b>Activities</b></p>
<table border="1" cellpadding="3" cellspacing="0">
<tr>
<td bgcolor="#cccccc" valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">BPMN</font></td>
<td bgcolor="#cccccc" valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Windows Workflow Foundation</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Process</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Sub-Process</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Maps to any <b>CompositeActivity</b>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Loop Sub-Process</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Maps to a <b>WhileActivity</b>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Multiple Instance Sub-Process</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Maps to a <b>ReplicatorActivity</b>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Ad-Hoc Sub-Process</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Compensation Sub-Process</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Maps to a <b>CompensateHandlerActivity</b>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Task</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Maps to any atomic Activity that has only implementation semantics (e.g. <b>CodeActivity                 </b>or <b>InvokeWebServiceActivity</b>)</font></td>
</tr>
</table>
<p><b>Events</b></p>
<table border="1" cellpadding="3" cellspacing="0">
<tr>
<td bgcolor="#cccccc" valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">BPMN</font></td>
<td bgcolor="#cccccc" valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Windows Workflow Foundation</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Start Event [None]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Start Event [Message]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Start Event [Timer]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Start Event [Rule]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Start Event [Link]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Start Event [Multiple]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">End Event [None]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">End Event [Message]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><b>End Event [Error]</b></font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Maps to a <b>ThrowActivity</b>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><b>End Event [Cancel]</b></font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">This type of End is used within a Transaction Sub-Process (aka inside a <b>TransactionScopeActivity</b>).                 Maps to a <b>ThrowActivity</b>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><b>End Event [Compensation]</b></font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Maps to a <b>CompensateActivity</b>. The attribute <i>Activity:object</i> maps to                 property <i>TargetActivityName:string</i>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">End Event [Link]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><b>End Event [Terminate]</b></font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Maps to a <b>TerminateActivity</b>. BPMN does not has an equivalent of the property                 <i>Error:string</i>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">End Event [Multiple]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Intermediate Event [None]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Intermediate Event [Message]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><b>Intermediate Event [Timer]</b></font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">When used within the main flow, acts as a delay mechanism: Maps to <b>DelayActivity</b>.When used for exception handling it will change the Normal Flow into an Exception                     Flow.Either the attribute <i>TimeDate:Date</i> or the attribute <i>TimeCycle:string</i>                     are mapped to the property <i>TimeoutDuration:TimeSpan</i></font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><b>Intermediate Event [Error]</b></font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">When used within the main flow, maps to <b>ThrowActivity</b>.The attribute <i>ErrorCode:string</i>                 maps to properties <i>FaultType:Type</i> and <i>Fault:Exception</i>.When attached to the boundary of an activity maps to <b>FaultHandlerActivity</b>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><b>Intermediate Event [Cancel]</b></font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">This type of Event MUST be attached to the boundary of a Sub-Process. Maps to <b>CancellationHandlerActivity</b>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><b>Intermediate Event [Compensation]</b></font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">When used within the main flow maps to <b>CompensateActivity</b>. The attribute                     <i>Activity:object</i> maps to property <i>TargetActivityName:string</i>.When attached to the boundary of an activity maps to <b>CompensateHandlerActivity</b>.                     The attribute <i>Activity:object </i>is ignored.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><b>Intermediate Event [Rule]</b></font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Maps to a <b>PolicyActivity</b>. The attribute <i>RuleName:Rule</i> maps to property                 <i>RuleSetReference:RuleSet</i>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Intermediate Event [Link]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Intermediate Event [Multiple]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
</table>
<p><b>Gateways</b></p>
<table border="1" cellpadding="3" cellspacing="0">
<tr>
<td bgcolor="#cccccc" valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">BPMN</font></td>
<td bgcolor="#cccccc" valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Windows Workflow Foundation</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Exclusive (XOR) Gateway [Data-Based]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Maps to a <b>IfElseActivity</b>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Exclusive (XOR) Gateway [Event-Based]</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Inclusive (OR) Gateway</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Parallel (AND) Gateway</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Maps to a <b>ParallelActivity</b>.</font></td>
</tr>
<tr>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1">Complex Gateway</font></td>
<td valign="top"><font face="Lucida Sans Unicode, Trebuchet MS, Verdana, monospace" size="1"><br />
</font></td>
</tr>
</table>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pkok.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pkok.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pkok.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pkok.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pkok.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pkok.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pkok.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pkok.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pkok.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pkok.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pkok.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pkok.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pkok.wordpress.com&blog=249381&post=11&subd=pkok&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pkok.wordpress.com/2006/06/20/mapping-bpmn-graphical-objects-to-wf-activities/feed/</wfw:commentRss>
		</item>
		<item>
		<title>XAML vs. Standards</title>
		<link>http://pkok.wordpress.com/2006/06/03/xaml-vs-standards/</link>
		<comments>http://pkok.wordpress.com/2006/06/03/xaml-vs-standards/#comments</comments>
		<pubDate>Fri, 02 Jun 2006 23:31:05 +0000</pubDate>
		<dc:creator>Panos</dc:creator>
		
		<category><![CDATA[Windows Workflow Foundation]]></category>

		<category><![CDATA[Workflow &#038; BPM]]></category>

		<guid isPermaLink="false">https://pkok.wordpress.com/2006/06/03/xaml-vs-standards/</guid>
		<description><![CDATA[John Evdemon&#160;(Microsoft Architect) notes in a recent forums post:
Regarding WF, the underlying XML representation is XAML.&#160; Why did we choose XAML instead of BPEL or some other standard?&#160; Simple - XAML enables us to avoid the constraints imposed by a focusing on a single standard (e.g. BPEL lacks human workflow and sub-processes).&#160; WF is capable [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>John Evdemon&nbsp;(Microsoft Architect) notes in a <a href="http://forums.microsoft.com/msdn/showpost.aspx?postid=347855&amp;SiteID=1">recent forums post</a>:</p>
<blockquote><p>Regarding WF, the underlying XML representation is XAML.&nbsp; Why did we choose XAML instead of BPEL or some other standard?&nbsp; Simple - XAML enables us to avoid the constraints imposed by a focusing on a single standard (e.g. BPEL lacks human workflow and sub-processes).&nbsp; WF is capable of supporting multiple standards</p>
<ul>
<li>A BPEL 1.1 import/export tool is currently being tested and will be released later this year.</li>
<li>We are in talks with partners to add BPMN modeling for WF</li>
<li>I am aware of a couple of projects looking at XPDL and BPSS for WF</li>
<li>The custom loader (I believe it becomes available in Beta 2.1) enables us to directly transform a BP standard to an executable representation, possibly enabling support for executable BPEL.</li>
</ul>
</blockquote>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pkok.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pkok.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pkok.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pkok.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pkok.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pkok.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pkok.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pkok.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pkok.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pkok.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pkok.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pkok.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pkok.wordpress.com&blog=249381&post=10&subd=pkok&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pkok.wordpress.com/2006/06/03/xaml-vs-standards/feed/</wfw:commentRss>
		</item>
		<item>
		<title>VS 2005 Web Application Projects, MSBuild, and Continuous Integrations</title>
		<link>http://pkok.wordpress.com/2006/06/02/vs-2005-web-application-projects-msbuild-and-continuous-integrations/</link>
		<comments>http://pkok.wordpress.com/2006/06/02/vs-2005-web-application-projects-msbuild-and-continuous-integrations/#comments</comments>
		<pubDate>Fri, 02 Jun 2006 15:58:00 +0000</pubDate>
		<dc:creator>Panos</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://pkok.wordpress.com/2006/06/02/vs-2005-web-application-projects-msbuild-and-continuous-integrations/</guid>
		<description><![CDATA[Scott Guthrie on Continuous Integrations.
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Scott Guthrie on <a href="http://weblogs.asp.net/scottgu/archive/2006/06/02/VS-2005-Web-Application-Projects_2C00_-MSBuild_2C00_-and-Continuous-Integrations.aspx">Continuous Integrations</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pkok.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pkok.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pkok.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pkok.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pkok.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pkok.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pkok.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pkok.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pkok.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pkok.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pkok.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pkok.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pkok.wordpress.com&blog=249381&post=9&subd=pkok&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pkok.wordpress.com/2006/06/02/vs-2005-web-application-projects-msbuild-and-continuous-integrations/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ASP.NET 2.0 Localization</title>
		<link>http://pkok.wordpress.com/2006/06/02/aspnet-20-localization/</link>
		<comments>http://pkok.wordpress.com/2006/06/02/aspnet-20-localization/#comments</comments>
		<pubDate>Fri, 02 Jun 2006 15:47:00 +0000</pubDate>
		<dc:creator>Panos</dc:creator>
		
		<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">http://pkok.wordpress.com/2006/06/02/aspnet-20-localization/</guid>
		<description><![CDATA[Source: Scott Guthrie&#39;s Blog
Some resources on the new localization features for ASP.NET 2.0:

Localization in ASP.NET 2.0 - by Wei-Meng Lee - 08/08/2005
ASP.NET 2.0 Localization Features: A Fresh Approach to Localizing Web Applications - by Mich&#232;le Leroux Bustamante, IDesign Inc, October 2004 [Updated April 2006]
Localization in ASP.NET 2.0 - by Bilal Haidar - 05 May 2006

 [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Source: <a href="http://weblogs.asp.net/scottgu/archive/2006/05/30/ASP.NET-2.0-Localization-_2800_Video_2C00_-Whitepaper_2C00_-and-Database-Provider-Support_2900_.aspx">Scott Guthrie&#39;s Blog</a></p>
<p>Some resources on the new localization features for ASP.NET 2.0:</p>
<ul>
<li><a href="http://www.ondotnet.com/pub/a/dotnet/2005/08/08/localizingaspnet20.html">Localization in ASP.NET 2.0</a> - by Wei-Meng Lee - 08/08/2005</li>
<li><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/asp2local.asp">ASP.NET 2.0 Localization Features: A Fresh Approach to Localizing Web Applications</a> - by Mich&egrave;le Leroux Bustamante, <a href="http://www.idesign.net/">IDesign Inc</a>, October 2004 [Updated April 2006]</li>
<li><a href="http://aspalliance.com/821">Localization in ASP.NET 2.0</a> - by <a href="http://aspalliance.com/author.aspx?uId=53182">Bilal Haidar</a> - 05 May 2006</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pkok.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pkok.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pkok.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pkok.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pkok.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pkok.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pkok.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pkok.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pkok.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pkok.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pkok.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pkok.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pkok.wordpress.com&blog=249381&post=8&subd=pkok&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pkok.wordpress.com/2006/06/02/aspnet-20-localization/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>