<?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:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Frank Michael Kraft&#039;s Blog &#187; Service</title>
	<atom:link href="http://www.bpmnforum.net/blog27/tag/service/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bpmnforum.net/blog27</link>
	<description>Unifying Applications and Business Process Management in the Cloud</description>
	<lastBuildDate>Mon, 23 Jan 2012 15:28:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.2</generator>
		<item>
		<title>An efficient necessary condition for compatibility of services</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/an-efficient-necessary-condition-for-compatibility-of-services/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/an-efficient-necessary-condition-for-compatibility-of-services/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 08:23:59 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Participant]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/uncategorized/an-efficient-necessary-condition-for-compatibility-of-services/</guid>
		<description><![CDATA[In (An efficient necessary condition for compatibility, 2009) the authors discuss a method to find out, if two services are compatible or not. This obviously presupposes that the behavior of the services is modeled. One method to do this is &#8230; <a href="http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/an-efficient-necessary-condition-for-compatibility-of-services/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In (An efficient necessary condition for compatibility, 2009) the authors discuss a method to find out, if two services are compatible or not. This obviously presupposes that the behavior of the services is modeled. One method to do this is to use BPMN 2.0 and model two or more participants offering respective public processes.</p>
<p>Compatibility of the services is not so obvious in the first place. The question to be answered is, if for all possible sent messages the other participant (or service) is ready to process it, and if both can complete their control flow in all cases. For example if one participants sends an order cancellation, but the other participant cannot process it, because the order is already delivered, and it has no control flow to deal with the late cancellation, then the services are not compatible.</p>
<p>Typically this can be checked by comparing all possible states of all participants and all messages. However this brute force method consumes much memory and computing time. Probably this is one reason, why it is not yet offered in so many or even a modeling product at all – which I do not exactly know. The proposed method in (An efficient necessary condition for compatibility, 2009) is to use a method known from petri nets: to convert them into matrices (state equation) and use the matrices to determine the compatibility in a much more efficient way. This is definitely interesting to consider.</p>
<p>The paper states, that this can be used for service discovery and mediator construction. In my personal opinion these use cases are very advanced research use cases, which are not yet so relevant in the practical industry application. Even the mediator construction I have severe doubts, if this is a way that will lead to somewhere at all. But I might be convinced later.</p>
<p>But very relevant is to support the design process of services which need to interact. If there were a repository, that would contain such compatibility determination method – that would be a great step forward. Furthermore it would provide the industry use cases that are needed for further research on the matter.</p>
<h1>References</h1>
<p><em>An efficient necessary condition for compatibility. </em><strong>Oanea, Olivia und Wolf, Karsten. 2009.</strong> [Hrsg.] Oliver Kopp und Niels Lohmann. Stuttgart : Universität Stuttgart, Fakultät Informatik, Elektrotechnik und Informationstechnik, 2009. Services und ihre Komposition, Erster zentraleuropäischer Workshop, ZEUS 2009. Bd. CEUR Workshop Proceedings Vol. 438, S. 81-87. <a href="http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-438/paper13.pdf">http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-438/paper13.pdf</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/an-efficient-necessary-condition-for-compatibility-of-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not just Modeling</title>
		<link>http://www.bpmnforum.net/blog27/bpm/bpm-governance/not-just-modeling/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/bpm-governance/not-just-modeling/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 20:43:11 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM Governance]]></category>
		<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[Business Object]]></category>
		<category><![CDATA[Coaching]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Orchestration]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=348</guid>
		<description><![CDATA[Understanding Modeling Element of a modeling language &#8211; like BPMN 2.0 &#8211; is a necessary condition for successful modeling, but by no means sufficient. Models must have a meaning within a context in the end, otherwise they are useless. For &#8230; <a href="http://www.bpmnforum.net/blog27/bpm/bpm-governance/not-just-modeling/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Understanding Modeling Element of a modeling language &#8211; like BPMN 2.0 &#8211; is a necessary condition for successful modeling, but by no means sufficient.</p>
<p>Models must have a meaning within a context in the end, otherwise they are useless. For example what does a model mean, where there are acitivies like &#8220;go to the shop&#8221; and &#8220;buy some milk&#8221; and &#8220;pay&#8221;? It is a modeled description of what a person sometimes does, if he needs milk. But nothing else. The process model is to be used as documentation only. This is the context of the model. Such a model can not be used as a workflow. There is no need to create a workitem &#8220;pay&#8221; for buying milk. This is done by the shop&#8217;s design anyway. Also it can not be a web service orchestration description, because there is no web service &#8220;go to the shop&#8221;.</p>
<p>Modeling a process makes sense, if the context is know, in which the process will be embedded. The context is what I call an architecture. An architecture is a set of rules that determine under which boundary conditions a software system is to be designed. As part of such a design the design of a process makes sense. For example the architecture could be to design a system that is capable of performing the functionality of a milk web shop, that milk order and milk delivery are business objects that expose web services like &#8220;order&#8221; and &#8220;pay&#8221;, that there will be a workflow system that is able to compose these services &#8211; for example. The architecture are the rules that describe the creation of the system, the business objects, the web services and the workflow. These first need to be professionally defined and confirmed. They need to be obligatory for the whole project.</p>
<p>Only after that it makes sense to create models, which then will have a meaning within the context of the defined architecture. And therefore it is of very limited merit to &#8220;just model&#8221; or to train or coach modeling of a modeling language without a reference to a defined architecture or without the preceding process of professionally defining the reference architecture before. On the contrary &#8211; if the architecture is defined, then it perfectly makes sense to coach and govern a modeling process, because then there are the rules, that are needed for coaching and governance.</p>
<p>This is my opinion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/bpm-governance/not-just-modeling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First European Workshop on Behavior Modelling in Model Driven Architecture</title>
		<link>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/first-european-workshop-on-behavior-modelling-in-model-driven-architecture/</link>
		<comments>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/first-european-workshop-on-behavior-modelling-in-model-driven-architecture/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 17:39:11 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[MDA]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=319</guid>
		<description><![CDATA[Beginning of the week there was held the First European Workshop on Behavior Modelling in Model Driven Architecture [BM-MDA]. Why is it, that the structural aspects of software enjoys universality of modeling (UML) while the behavioral aspect does not (yet) &#8230; <a href="http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/first-european-workshop-on-behavior-modelling-in-model-driven-architecture/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Beginning of the week there was held the First European Workshop on Behavior Modelling in Model Driven Architecture [<a href="http://www.ou.nl/eCache/DEF/2/06/802.html" target="_blank">BM-MDA</a>].</p>
<p>Why is it, that the structural aspects of software enjoys universality of modeling (UML) while the behavioral aspect does not (yet) and what can and should be done about it?</p>
<p>The same is &#8211; obviously &#8211; true for Web Service Descriptions. You will get a WSDL description which describes the syntactical aspect of the services, but the behavioral aspect is left undescribed.</p>
<p>The invited speaker was Prof. <span class="c3">Gregor Engels, University of Paderborn about </span><span class="c3"><strong>&#8220;Automatic generation of behavioral code &#8211; too ambitious or even unwanted?&#8221;</strong><br />
</span></p>
<p><span class="c3">I am &#8211; as always &#8211; only giving my personal opinion here. I agree to the goal of behaviorable modelling. It was proposed, that preconditions and postconditions of operations should be used to do this. The advantage of the approach has been proposed to be able to become more specific step by step or level by level. </span></p>
<p><span class="c3">I mainly agree to the statement and I think it is pointing in the right direction. My personal opinion is, that preconditions alone are not enough, as long as they can contain every expression, because then they can not be linked with each other. Postconditions are in my opinion important, but they do not describe, how the state is changed by an operation. This is a difference to the ASM (Abstract State Machine) Approach, that was presented later and that I will discuss in another post. </span></p>
<p><span class="c3">Furthermore I think that code generation is the wrong way. The reason is, that code is too static to be extended later. A runtime model interpreter helps to avoid many problems, including extensibility and the deviations of models from the implemented reality. Furthermore in my personal opinion graph transformations should be avoided.</span></p>
<p><span class="c3">So this is my personal opinion about the first talk, which I think pointed into the right direction in general.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/model-driven/model-driven-architecture/first-european-workshop-on-behavior-modelling-in-model-driven-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Commenting &#8220;A scenario is a behavioral view&#8221;</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/commenting-a-scenario-is-a-behavioral-view/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/commenting-a-scenario-is-a-behavioral-view/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 07:00:22 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Model Driven Development]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Orchestration]]></category>
		<category><![CDATA[Service]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=250</guid>
		<description><![CDATA[In A scenario is a behavioral view &#8211; Orchestrating services by scenario integration it is proposed to capture service behavior in the form of a certain petri net class, especially oclets (which is an acyclic Petri net with a local &#8230; <a href="http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/commenting-a-scenario-is-a-behavioral-view/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-438/paper2.pdf">A scenario is a behavioral view &#8211; Orchestrating services by scenario integration</a> it is proposed to capture service behavior in the form of a certain petri net class, especially oclets (which is an acyclic Petri net with a local precondition) and by this to model individual scenarios. A scenario is a partial execution of the service. The behavior of a service is defined by the set of scenarios for this service.</p>
<p>In my personal opinion the use of preconditions is a good thing in general. However in my opinion the splitting up of the whole behavior into different scenarios has also disadvantages. For example that it is not so clear, if one scenario is changed, which side effects this has on other scenarios. Also one transition for example can occur in different scenarios. Thereby probably many scenarios need to be changed, if the behavior of one transition needs to be changed. Also a problem is, that it is not so clear how to model differen alternative behaviors. If the union set of all scenarios describes the behavior of the service, it is all one. So for example if there is one big service, but the behavior can be different &#8211; for example in one case with confirmation, in another without confirmation &#8211; this is not possible to be modeled. It is just a &#8220;confirmation&#8221; scenario in the set, but it is not modeled, that is sometimes must be used, sometimes not.</p>
<p>Good is that in the end of the paper it is proposed to integrate the scenarios into one view. This I agree upon. My personal opinion is, that I would rather start with the integrated view. Because all the mentioned disadvantages are not there in this case.</p>
<p>But I admit, that the use case proposed in the paper may still be valid in a consulting experince, where the client already has described the behavior of his services in the form of scenarios. Then, the method proposed is a good way to unify them into the desired integrated view. This may also be supported by tools, which gives an additional value add.</p>
<p>Also notbody should be distracted by the notion of the modeling language. This is just the underlying logic. The same method can as well be transferred to industrial languages, as is proposed in the paper and as I believe. For example I see no reason why this should not be useable in a BPMN 2.0 orchestration model environment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/commenting-a-scenario-is-a-behavioral-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts about &#8220;A Theory of Service Behavior&#8221;</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/thoughts-about-a-theory-of-service-behavior/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/thoughts-about-a-theory-of-service-behavior/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 07:00:30 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Service]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=242</guid>
		<description><![CDATA[A Theory of Service Behavior tries to formalize &#8211; as the name sais &#8211; the behavior of a service. This is in contrast to the syntax of a service, that merely describes the datatypes, that need to be used &#8211; &#8230; <a href="http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/thoughts-about-a-theory-of-service-behavior/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-438/paper1.pdf">A Theory of Service Behavior</a> tries to formalize &#8211; as the name sais &#8211; the behavior of a service. This is in contrast to the syntax of a service, that merely describes the datatypes, that need to be used &#8211; which is commodity. The behavior if a service describes the order of allowed operation calls / message exchanges with a service.<br />
This is a similar field, that BPMN 2.0 Choreography models. However the BPMN 2.0 Choreography Model is an abstraction, while there are different detailed representations, for different purposes.</p>
<p style="text-align: left;">So the paper proposes, that for the purposes of service validation, (automatic) service construction, service composition and service replacement there is not yet a represenations, that allows for a closed theory &#8211; i.e. a structured solution in all cases. Actually it is an opening paper that will be later completed by describing &#8220;operating guidelines&#8221;, which are intended to fulfil this purpose.</p>
<p style="text-align: left;">My personal opinion is, that is it a good endeavor. Such work is needed to complete the foundation for modeling tools, that allow for more comfortable modeling consistency checks and functionality.<br />
I especially see much benefits in consistency checking. I also have one or two patents in this area. Important in my view in consistency is a clear definition of the goal of the check and a good method to explain consistency errors to the tool user. Consistency checking is in most cases useful. One needs a little bit of patience, to make a service definition fit to another, because there is always this one unwanted execution that needs to be eliminated. But it is worth the effort, because it is better to eliminate these errors in modeling time than in runtime.</p>
<p style="text-align: left;">Service construction is in my personal opinion difficult. In my view there are always abiguities in such an endeavor. So I prefer &#8220;human&#8221; design plus consistency check.<br />
Service composition promises some benefit &#8211; especially if there is a skeleton composed, which can be further edited by the human designer. Also here it is important to formulate clear goals of the service composition and to have a complete &#8211; i.e. without gaps &#8211; description of the underlying services. Especially if there is a Business Process Platform that offers services, that need to be composed, and that is model driven, this is very promising. There are also other projects working on this. I may come back to this some other time.<br />
Service Replacement is certainly an interesting application. If a service is changed, then it is certainly worthwhile to know potentially which consuming services might be affected and which not. This may be the outcome of this part of the research.</p>
<p style="text-align: left;">So good work &#8211; keep it going!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/thoughts-about-a-theory-of-service-behavior/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Relation of BPMN Choreography Modeling and Pi-Calculus</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/relation-of-bpmn-choreography-modeling-and-pi-calculus/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/relation-of-bpmn-choreography-modeling-and-pi-calculus/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 15:07:36 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[Contract]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Quality of Service]]></category>
		<category><![CDATA[Service]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=112</guid>
		<description><![CDATA[It could be asked this question: Communicating processes have an analogy to communicating programs. In the eighties there have been quite some publications about this, including Milners Pi calculus. So how is the relation of BPMN choreography and this? My &#8230; <a href="http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/relation-of-bpmn-choreography-modeling-and-pi-calculus/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It could be asked this question: Communicating processes have an analogy to communicating programs. In the eighties there have been quite some publications about this, including Milners Pi calculus. So how is the relation of BPMN choreography and this?</p>
<p>My answer would be, that the Pi Calculus is a Low Level desription calculus for processes that communicate with each other, messages and message channels. This serves the simulation and analysis. The choreography model and the collaboration model are more like a notation with metamodel covering the processes and the messages, but not the message channels. It is more for modeling than for analysis, although the model can be input to the analysis and the simulation.<br />
Also every BPMN choreography model or collaboration model can be mapped to a Pi Calculus description, but not vice versa. Pi calculus is more general and has no notation. BPMN is guiding the modeling process and therefore easier to understand.</p>
<p>When one want to use the BPMN choreography model or collaboration model as input to a pi calculus conversion or a simulation and analysis, the quality of service contract needs to be specified before.</p>
<p><a href="http://www.bpmnforum.net/blog/bpmn/bpmn-in-research/quality-of-service-contracts/">http://www.bpmnforum.net/blog/bpmn/bpmn-in-research/quality-of-service-contracts/</a><br />
[ad]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/relation-of-bpmn-choreography-modeling-and-pi-calculus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trend in BPM: BPM enabled Applications</title>
		<link>http://www.bpmnforum.net/blog27/bpm/trend-in-bpm-bpm-enabled-applications/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/trend-in-bpm-bpm-enabled-applications/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 13:05:53 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Model Driven]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=101</guid>
		<description><![CDATA[“By the year 2012, BPM will be subsumed into major applications.” Simon Hayward See also: http://www.ebizq.net/blogs/bpmblog/2007/03/the_death_of_bpm_it_aint_over.php An interesting statement. Especially in the light of the remarks about &#8220;What is a Process?&#8221; that I made earlier: http://www.bpmnforum.net/blog/bpmn/bpmn-in-research/what-is-a-business-process/ I suggested, that there &#8230; <a href="http://www.bpmnforum.net/blog27/bpm/trend-in-bpm-bpm-enabled-applications/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>“By the year 2012, BPM will be subsumed into major applications.” Simon Hayward</p></blockquote>
<p>See also:<br />
<a href="http://www.ebizq.net/blogs/bpmblog/2007/03/the_death_of_bpm_it_aint_over.php">http://www.ebizq.net/blogs/bpmblog/2007/03/the_death_of_bpm_it_aint_over.php</a><br />
An interesting statement. Especially in the light of the remarks about &#8220;What is a Process?&#8221; that I made earlier:<br />
<a href="http://www.bpmnforum.net/blog/bpmn/bpmn-in-research/what-is-a-business-process/">http://www.bpmnforum.net/blog/bpmn/bpmn-in-research/what-is-a-business-process/</a><br />
I suggested, that there are commonalities between Process Objects (Workflows) and Business Objects (like a Sales Order). They have a state, they have actions or activities, they have constraints. There are differences, but as long as we focus on the commonalities, we can think of utilizing this common ground for common frameworks.<br />
Applications are made up of business objects and their relations. Very often these business objects are programmed. In contrast workflows are modeled. So if we can achieve modeling business objects in an application, then the business object model is the foundation for better integration of BPM functionality with the application. I call such a modeled application Business Process Platform or BPP.<br />
To not remain too abstract, I make a concrete example.<br />
Think of a Project Management Application, that has a Business Object &#8220;Project&#8221;. Now, a Project BO is created. Before the Project is released, there must be an approval. So &#8211; when does this Approval start? It needs to start, if the Project business object has reached a certain state &#8211; for example &#8220;Data Entry finished&#8221;. Only then a workflow or task needs ot be started. The workflow or task is what we traditionally understand as being part of BPM and what we model by BPMN for example. But if the state &#8220;Data Entry Finished&#8221; of the Business Object &#8220;Project&#8221; is also modeled, then the foundation has been created to use it in a generic framework, that enables BPM &#8211; for example by providing events to the workflow to start.<br />
Furthermore if the Approval is finished, a subsequent step (action, activity) must be performed with the Project business object: Release, changing the state to Released.<br />
That is a very simple example, but often difficult to achieve if not these preconditions are met:</p>
<ol>
<li>The state of the business object is modeled.</li>
<li>The action of the business object is modeled.</li>
<li>The action is provided as web service</li>
<li>There is a generic framework utilizing it to make the integration of the workflow and the business object happen.</li>
</ol>
<p>This can only be achieved, if an application is designed from the beginning to provide such modeling information. This had not been completely done in the past. But there is no reason why this should not work. However if an application fulfils 1-4 it should be called a Business Process Platform or BPP.</p>
<p>So with the upcoming advent of BPP, the Applications will be BPM enabled.</p>
<p>[ad]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/trend-in-bpm-bpm-enabled-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quality of Service Contracts</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/quality-of-service-contracts/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/quality-of-service-contracts/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 11:12:19 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Contract]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Quality of Service]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=73</guid>
		<description><![CDATA[[ad] (1) speaks also about Quality of Service Contracts. In my understanding these questions need to be answered: Is the service synchronous or asynchronous. If it is asynchronous, are there queues (serialization contexts) or not? If there are queues, which &#8230; <a href="http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/quality-of-service-contracts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>[ad]<br />
(1) speaks also about Quality of Service Contracts. In my understanding these questions need to be answered: Is the service synchronous or asynchronous. If it is asynchronous, are there queues (serialization contexts) or not? If there are queues, which type of queues like exactly once in order (EOIO) or Exactly Latest (<a href="http://www.google.com/patents?id=iJiQAAAAEBAJ&amp;dq=quality+of+service+exactly+latest">EL</a>). Also the question is relevant which granularity do the queues have.<br />
Why is this relevant? Why can this not merely be ignored as a technical detail of the implementation?<br />
It can not be ignored at the time of design of a contract, because it determines the possible situations (states of the process) that may occur and that need to be resolved in the design of the contract which implies the ability to design choreographies.<br />
To make an example. If it is only possible to update a sales order synchronously, then the contract needs not to be designed in a way to deal with a concurrent asynchronous cancellation of a previous sales confirmation, that might have happened in an asynchronous update scenario. And the resolution is not merely a technical resolution, but the resolution is better done on the business level – as for example discussed in (2). Therefore the QoS Contract implies needed resolutions on the business level – that need to be designed into the behavioral contract and into the syntactical contract.</p>
<h3>Bibliography</h3>
<p>1. Beugnard, Antoine, et al. Making Components Contract Aware. Computer. 1999, Vol. 32, 7, pp. 38 &#8211; 45. http://portal.acm.org/citation.cfm?id=621275.<br />
2. Lecture Notes in Computer Science: Non-desynchronizable Service Choreographies. Decker, Gero and Alistair Barros, Frank Michael Kraft and Niels Lohmann. Berlin / Heidelberg : Springer, 2008. Service-Oriented Computing – ICSOC 2008. Vol. 5364/2008, pp. 331-346. http://www.springerlink.com/content/9055736715131767/. ISSN 0302-9743 (Print) 1611-3349 (Online).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/quality-of-service-contracts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Defining a behavioral contract</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/defining-a-behavioral-contract/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/defining-a-behavioral-contract/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 10:18:34 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[Contract]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=68</guid>
		<description><![CDATA[When Web Service Components interact with each other, it is important to establish a reliable contract between them. Often the Contract is only defined on a syntactical level, i.e. the signature of the web services that each component offers. The &#8230; <a href="http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/defining-a-behavioral-contract/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When Web Service Components interact with each other, it is important to establish a reliable contract between them. Often the Contract is only defined on a syntactical level, i.e. the signature of the web services that each component offers. The paper (1) discusses, that additionally a behavioral contract is needed. It proposes even more contract levels: the synchronization level and the Quality-of-service level. But let us first discuss the behavioral contract. Some citations from the paper.</p>
<blockquote><p>When using a third-party component, contracts offer a specification against which you can validate that component. (1)</p></blockquote>
<p>This is in line with my <a title="earlier proposal" href="http://www.bpmnforum.net/blog/?p=3">earlier proposal</a> that this could be covered by what I call a Composite Integrated Development Environment.</p>
<p>Now for web service signatures, this is state of the art.</p>
<blockquote><p>Unfortunately, because the BankAccount specification does not define precisely the effect of operation executions, the user can only guess at their outcomes. (1)</p></blockquote>
<p>That is the problem. How is the behavioral contract specified?</p>
<blockquote><p>The client should only call a contractor routine in a state where the class invariant and the precondition of the routine are respected. In return, the contractor promises that when the routine returns, the work specified in the postcondition will be done, and the class invariant will be respected. (1)</p></blockquote>
<p>This means, that a behavioral contract should be specified in terms of preconditions of a web service and postconditions of it. In this case a composite IDE can validate models of services consumption against models of service provisioning.</p>
<p>In BPMN 2.0 the abstract process is a possible way to achieve this goal.  It defines which behavioral contract the participant offers and under which preconditions (process state) a service can be called. In the same way  in (2) the desynchronized choreographies can be seen as such. However in (2) the modeling process is top-down. In practice it could also be bottom-up. Especially if there are existing components with an implemented behavior which is modeled after the fact to allow for contract awareness.</p>
<h3>Bibliography</h3>
<p>1. Beugnard, Antoine, et al. Making Components Contract Aware. Computer. 1999, Vol. 32, 7, pp. 38 &#8211; 45. http://portal.acm.org/citation.cfm?id=621275.<br />
2. Lecture Notes in Computer Science: Non-desynchronizable Service Choreographies. Decker, Gero and Alistair Barros, Frank Michael Kraft and Niels Lohmann. Berlin / Heidelberg : Springer, 2008. Service-Oriented Computing – ICSOC 2008. Vol. 5364/2008, pp. 331-346. http://www.springerlink.com/content/9055736715131767/. ISSN 0302-9743 (Print) 1611-3349 (Online).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/defining-a-behavioral-contract/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Non-desynchronizable Service Choreographies</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/media/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/media/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 13:25:11 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[Service]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=51</guid>
		<description><![CDATA[Co-authoring with Gero Decker, Alistair Barros and Niels Lohmann we published the paper &#8220;Non-desynchronizable Service Choreographies&#8221; on the 6th International Conference on Service Oriented Computing icsoc2008. Lecture Notes in Computer Science: Non-desynchronizable Service Choreographies. Decker, Gero and Alistair Barros, Frank &#8230; <a href="http://www.bpmnforum.net/blog27/bpmn/media/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Co-authoring with Gero Decker, Alistair Barros and Niels Lohmann we published the paper &#8220;Non-desynchronizable Service Choreographies&#8221; on the 6th International Conference on Service Oriented Computing  <a href="http://www.icsoc.org/">icsoc2008</a>.</p>
<p>Lecture Notes in Computer Science: Non-desynchronizable Service Choreographies. Decker, Gero and Alistair Barros, Frank Michael Kraft and Niels Lohmann. Berlin / Heidelberg : Springer, 2008. Service-Oriented Computing – ICSOC 2008. Vol. 5364/2008, pp. 331-346. ISSN 0302-9743 (Print) 1611-3349 (Online)</p>
<p><a href='http://www.bpmnforum.net/blog/wp-content/uploads/icsoc2008-sync-to-async.pdf' >Non-desynchronizable Service Choreographies</a></p>
<p>This paper describes on a scientific level what happens, if one starts to model a choreography (in the wider sense). This would be the modeling of the sequence of messages, that are exchanged. This can either be done by assuming, that the send and the receive of a message is atomic. This is a first good approximation of the behaviour of a choreography. However, in the context of asychronous messaging messages may be delayed and other conflicting messages may be sent. In other words, situation may occur, that are problems in the first specification of the choreography. Therefore the paper discusses some of the problems that might appear, how they may be identified and how they can be resolved. This leads to a higher quality of choreography models, that can be used to bridge the business view and the IT view, because the choreography models can be used in model driven development in this case &#8211; because they are consistent.</p>
<p>The methods described here can not only be used with petri nets, but also with BPMN (because BPMN is a petri net). The paper&#8217;s choreography model can be identified with the BPMN 2.0 choreography model and the paper&#8217;s desynchronized model can be identified with the BPMN 2.0 collaboration model.</p>
<p>Tools can be built to support the consistency checking of a choreography and make the user experience very friendly.<br />
[ad]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/media/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

