<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: BPEL Bashing Redux: Seeking a Middle Ground</title>
	<atom:link href="http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/</link>
	<description>Bruce Silver's blog on business process management</description>
	<lastBuildDate>Sat, 27 Feb 2010 10:22:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Change is nothing, everything is. &#187; BPM vs SOA and where BPEL fits in</title>
		<link>http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/comment-page-1/#comment-299</link>
		<dc:creator>Change is nothing, everything is. &#187; BPM vs SOA and where BPEL fits in</dc:creator>
		<pubDate>Thu, 23 Nov 2006 13:00:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/#comment-299</guid>
		<description>[...] In another, more recently, post from Bruce, he talks about BPEL: &#8220;Human-centric BPMers&#8217; lack of love for BPEL is today taken for granted, but who knew there were BPEL-haters out there in the SOA world as well?&#8221;. Further he goes on saying &#8220;BPEL is really good for orchestrating business services out of fine-grained APIs &#8212; how SOA uses orchestration. It&#8217;s less good &#8212; although it can do it &#8212; for orchestrating end-to-end business processes.&#8221;. And I think I agree with him on that on, because BPEL has already proved its lack of portability and everyone that has taken a look at the specification knows that the simplicity is no longer a design goal here (the BPEL 2.0 standard are even not backwards compatible, more on BPEL here). So, further I agree with Bruce that BPMN-model should be the best way to model and make portable business processes. Different platforms and vendors then have differents techniques for implementing/converting these models into a executable process language (like BPEL or something else). [...]</description>
		<content:encoded><![CDATA[<p>[...] In another, more recently, post from Bruce, he talks about BPEL: &#8220;Human-centric BPMers&#8217; lack of love for BPEL is today taken for granted, but who knew there were BPEL-haters out there in the SOA world as well?&#8221;. Further he goes on saying &#8220;BPEL is really good for orchestrating business services out of fine-grained APIs &#8212; how SOA uses orchestration. It&#8217;s less good &#8212; although it can do it &#8212; for orchestrating end-to-end business processes.&#8221;. And I think I agree with him on that on, because BPEL has already proved its lack of portability and everyone that has taken a look at the specification knows that the simplicity is no longer a design goal here (the BPEL 2.0 standard are even not backwards compatible, more on BPEL here). So, further I agree with Bruce that BPMN-model should be the best way to model and make portable business processes. Different platforms and vendors then have differents techniques for implementing/converting these models into a executable process language (like BPEL or something else). [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jonas</title>
		<link>http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/comment-page-1/#comment-244</link>
		<dc:creator>jonas</dc:creator>
		<pubDate>Wed, 04 Oct 2006 12:22:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/#comment-244</guid>
		<description>&lt;blockquote cite=&quot;&quot;&gt;&quot;Human tasks are different from services in 2 ways.&quot;&lt;/blockquote&gt;

Take for example a tele-marketing scenario where a sales person calls up a potential customer and makes him buy stuff. Her work can be defined in a workflow with a lot of decision making through out the phone call. She can make the decisions but the workflow decides what the continuation will be. She will interact with the process using calls into the process, and receive tasks from the process. This is actually not different from how a system process works.

The assignment is called routing in relation to SOA, a role is called interface, and the human is called the endpoint. I don&#039;t even see why we cannot use the same repository for both roles, interfaces, humans, and endpoints.

Why should a service be stateless? A call to a long-running process will be similar to a long-running task. The human will call back into the process the same way as a sub-process would do for updating the state of the job.

&lt;blockquote cite=&quot;&quot;&gt;&quot;For example, if the calling service has to terminate while the ’subprocess’ is running, how does the subprocess get terminated?&quot;&lt;/blockquote&gt;

Wouldn&#039;t just the terminated caller process compensate the sub-process from within a compensation handler?</description>
		<content:encoded><![CDATA[<blockquote cite=""><p>&#8220;Human tasks are different from services in 2 ways.&#8221;</p></blockquote>
<p>Take for example a tele-marketing scenario where a sales person calls up a potential customer and makes him buy stuff. Her work can be defined in a workflow with a lot of decision making through out the phone call. She can make the decisions but the workflow decides what the continuation will be. She will interact with the process using calls into the process, and receive tasks from the process. This is actually not different from how a system process works.</p>
<p>The assignment is called routing in relation to SOA, a role is called interface, and the human is called the endpoint. I don&#8217;t even see why we cannot use the same repository for both roles, interfaces, humans, and endpoints.</p>
<p>Why should a service be stateless? A call to a long-running process will be similar to a long-running task. The human will call back into the process the same way as a sub-process would do for updating the state of the job.</p>
<blockquote cite=""><p>&#8220;For example, if the calling service has to terminate while the ’subprocess’ is running, how does the subprocess get terminated?&#8221;</p></blockquote>
<p>Wouldn&#8217;t just the terminated caller process compensate the sub-process from within a compensation handler?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bruce</title>
		<link>http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/comment-page-1/#comment-242</link>
		<dc:creator>bruce</dc:creator>
		<pubDate>Tue, 03 Oct 2006 15:34:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/#comment-242</guid>
		<description>Jonas,
Good questions. Human tasks are different from services in 2 ways. First, they are assigned to roles (mapped at runtime to users or groups) not service endpoints (URLs). Second, they are inherently stateful: ready, claimed, done, failed (e.g., see the BPEL4People white paper), whereas services are (from the consumer&#039;s perspective) inherently stateless. The way these are handled in BPEL-based BPMSs is typically via a vendor-proprietary Task Manager service or a vendor-proprietary BPEL extension. In the first of these, BPEL creates tasks by invoking the Task Manager service, and those tasks are performed by users interacting with that service. When the task is done, the service calls back the process. Effectively I suppose you could call that a human-performed service, except that the details of the task are unknown to BPEL and it&#039;s all vendor-proprietary.

Similarly for subprocesses. You can certainly define a second BPEL process and invoke it as a service from the first process, but there is no lifecycle coordination between them. For example, if the calling service has to terminate while the &#039;subprocess&#039; is running, how does the subprocess get terminated? If there is a business transaction involved, how does compensation get triggered? You can do it with custom programming but it&#039;s not built into the language.

These are the reasons IBM and SAP last year offeredthe BPEL4People and BPEL-SPE proposals -- which supposedly will become draft specs once BPEL 2.0 is put to bed. The fact that they are pitched as &quot;optional extensions&quot; says there is still a sizable (majority?) segment of the BPEL community that couldn&#039;t care less about these &quot;BPM&quot; concerns.</description>
		<content:encoded><![CDATA[<p>Jonas,<br />
Good questions. Human tasks are different from services in 2 ways. First, they are assigned to roles (mapped at runtime to users or groups) not service endpoints (URLs). Second, they are inherently stateful: ready, claimed, done, failed (e.g., see the BPEL4People white paper), whereas services are (from the consumer&#8217;s perspective) inherently stateless. The way these are handled in BPEL-based BPMSs is typically via a vendor-proprietary Task Manager service or a vendor-proprietary BPEL extension. In the first of these, BPEL creates tasks by invoking the Task Manager service, and those tasks are performed by users interacting with that service. When the task is done, the service calls back the process. Effectively I suppose you could call that a human-performed service, except that the details of the task are unknown to BPEL and it&#8217;s all vendor-proprietary.</p>
<p>Similarly for subprocesses. You can certainly define a second BPEL process and invoke it as a service from the first process, but there is no lifecycle coordination between them. For example, if the calling service has to terminate while the &#8217;subprocess&#8217; is running, how does the subprocess get terminated? If there is a business transaction involved, how does compensation get triggered? You can do it with custom programming but it&#8217;s not built into the language.</p>
<p>These are the reasons IBM and SAP last year offeredthe BPEL4People and BPEL-SPE proposals &#8212; which supposedly will become draft specs once BPEL 2.0 is put to bed. The fact that they are pitched as &#8220;optional extensions&#8221; says there is still a sizable (majority?) segment of the BPEL community that couldn&#8217;t care less about these &#8220;BPM&#8221; concerns.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jonas</title>
		<link>http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/comment-page-1/#comment-241</link>
		<dc:creator>jonas</dc:creator>
		<pubDate>Tue, 03 Oct 2006 13:32:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/#comment-241</guid>
		<description>Hello,

&lt;blockquote cite=&quot;&quot;&gt;So how can you use an orchestration language without support for human tasks and subprocesses?&lt;/blockquote&gt;

What&#039;s the difference between orchestrating human tasks and system tasks? Behind a service there can be a human, cant it? A human can call a process as a service, cant she?

A sub-process is just another service, isn&#039;t it? Are there any scenarios where abstracting services as sub-processer is ineffective?

- &lt;a href=&quot;http://moveflow.blogspot.com/&quot; rel=&quot;nofollow&quot;&gt;Jonas&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Hello,</p>
<blockquote cite=""><p>So how can you use an orchestration language without support for human tasks and subprocesses?</p></blockquote>
<p>What&#8217;s the difference between orchestrating human tasks and system tasks? Behind a service there can be a human, cant it? A human can call a process as a service, cant she?</p>
<p>A sub-process is just another service, isn&#8217;t it? Are there any scenarios where abstracting services as sub-processer is ineffective?</p>
<p>- <a href="http://moveflow.blogspot.com/" rel="nofollow">Jonas</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BPMS Watch &#187; Watch Out for Oracle</title>
		<link>http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/comment-page-1/#comment-240</link>
		<dc:creator>BPMS Watch &#187; Watch Out for Oracle</dc:creator>
		<pubDate>Mon, 02 Oct 2006 20:59:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/#comment-240</guid>
		<description>[...] OK, so far that sounds like a complete, but not especially cool, BPMS offering.  Here&#8217;s the cool part, and it goes back to the recent BPEL discussion.  Remember, a problem with BPEL in BPM has always been keeping the executable design in sync with the business analyst&#8217;s model once the developer has taken a whack at it &#8212; the notorious roundtripping problem.  Oracle has solved that here with the Business Process Outline - a model that sits in between BPA (ARIS) and BPEL, with unambiguous mappings to both, and intelligible to business as well as IT.  They described their conception of it last spring in Business Integration Journal, and I blogged about it then.  But it&#8217;s place in the offering was not at all clear back then.  Now it is. [...]</description>
		<content:encoded><![CDATA[<p>[...] OK, so far that sounds like a complete, but not especially cool, BPMS offering.  Here&#8217;s the cool part, and it goes back to the recent BPEL discussion.  Remember, a problem with BPEL in BPM has always been keeping the executable design in sync with the business analyst&#8217;s model once the developer has taken a whack at it &#8212; the notorious roundtripping problem.  Oracle has solved that here with the Business Process Outline &#8211; a model that sits in between BPA (ARIS) and BPEL, with unambiguous mappings to both, and intelligible to business as well as IT.  They described their conception of it last spring in Business Integration Journal, and I blogged about it then.  But it&#8217;s place in the offering was not at all clear back then.  Now it is. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Age of programmable business networks &#171; Utterances of a Zimboe</title>
		<link>http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/comment-page-1/#comment-235</link>
		<dc:creator>Age of programmable business networks &#171; Utterances of a Zimboe</dc:creator>
		<pubDate>Wed, 27 Sep 2006 17:20:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/#comment-235</guid>
		<description>[...] But yay, now we&#8217;re going to have a very nice orchestration and integration topping over all this web services offering. Long live REST and SOAP! And remember kids, REST is for noobs and SOAP is for the leet. And what&#8217;s with all the BPEL bashing? (Nice redux, btw.) I think all this antagonism is a bit off-course. Going little off-topic here (like I was having any&#8230; harrr!) but I preserve the right to include this reminder: “BPEL is the XML glue that binds Web Services into cohesive units [and so on].” Isn&#8217;t that just great or what? Just all you enterprisey folks keep your durrty BPM hands off of this nice web services programming language. The 2.0 is already working well. All the transportability etc. might be nice extra features, but not that critical – for me, at least, which admittedly may not be much. Well, on the other hand, I&#8217;m the developer programmer&#8230; [...]</description>
		<content:encoded><![CDATA[<p>[...] But yay, now we&#8217;re going to have a very nice orchestration and integration topping over all this web services offering. Long live REST and SOAP! And remember kids, REST is for noobs and SOAP is for the leet. And what&#8217;s with all the BPEL bashing? (Nice redux, btw.) I think all this antagonism is a bit off-course. Going little off-topic here (like I was having any&#8230; harrr!) but I preserve the right to include this reminder: “BPEL is the XML glue that binds Web Services into cohesive units [and so on].” Isn&#8217;t that just great or what? Just all you enterprisey folks keep your durrty BPM hands off of this nice web services programming language. The 2.0 is already working well. All the transportability etc. might be nice extra features, but not that critical – for me, at least, which admittedly may not be much. Well, on the other hand, I&#8217;m the developer programmer&#8230; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Change is nothing, everything is. &#187; More on BPM vs SOA and where BPEL fits in</title>
		<link>http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/comment-page-1/#comment-234</link>
		<dc:creator>Change is nothing, everything is. &#187; More on BPM vs SOA and where BPEL fits in</dc:creator>
		<pubDate>Wed, 27 Sep 2006 10:46:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.brsilver.com/wordpress/2006/09/26/bpel-bashing-redux-seeking-a-middle-ground/#comment-234</guid>
		<description>[...] In another, more recently, post from Bruce, he talks about BPEL: &#8220;Human-centric BPMers&#8217; lack of love for BPEL is today taken for granted, but who knew there were BPEL-haters out there in the SOA world as well?&#8221;. Further he goes on saying &#8220;BPEL is really good for orchestrating business services out of fine-grained APIs &#8212; how SOA uses orchestration. It&#8217;s less good &#8212; although it can do it &#8212; for orchestrating end-to-end business processes.&#8221;. And I think I agree with him on that on, because BPEL has already proved its lack of portability and everyone that has taken a look at the specification knows that the simplicity is no longer a design goal here (the BPEL 2.0 standard are even not backwards compatible, more on BPEL here). So, further I agree with Bruce that BPMN-model should be the best way to model and make portable business processes. Different platforms and vendors then have differents techniques for implementing/converting these models into a executable process language (like BPEL or something else). [...]</description>
		<content:encoded><![CDATA[<p>[...] In another, more recently, post from Bruce, he talks about BPEL: &#8220;Human-centric BPMers&rsquo; lack of love for BPEL is today taken for granted, but who knew there were BPEL-haters out there in the SOA world as well?&#8221;. Further he goes on saying &#8220;BPEL is really good for orchestrating business services out of fine-grained APIs &mdash; how SOA uses orchestration. It&rsquo;s less good &mdash; although it can do it &mdash; for orchestrating end-to-end business processes.&#8221;. And I think I agree with him on that on, because BPEL has already proved its lack of portability and everyone that has taken a look at the specification knows that the simplicity is no longer a design goal here (the BPEL 2.0 standard are even not backwards compatible, more on BPEL here). So, further I agree with Bruce that BPMN-model should be the best way to model and make portable business processes. Different platforms and vendors then have differents techniques for implementing/converting these models into a executable process language (like BPEL or something else). [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
