<?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; Business Process Platform</title>
	<atom:link href="http://www.bpmnforum.net/blog27/tag/business-process-platform/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>Thu, 22 Jul 2010 08:33:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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 - as th [...]]]></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>Process Instances and a Business Process Platform</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/process-instances-and-a-business-process-platform/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/process-instances-and-a-business-process-platform/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 19:44:55 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Practice]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[Ad-Hoc]]></category>
		<category><![CDATA[Business Object]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Process Instance]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=239</guid>
		<description><![CDATA[If there is an architecture with a Business Process Pla [...]]]></description>
			<content:encoded><![CDATA[<p>If there is an architecture with a Business Process Platform, then there is the question, which role do the process instances play in such a system.</p>
<p>The business processes are reflected by business objects themselves, which are linked with each other. Events are correlated to the business objects. This makes sense, because the business objects are clearly identifiable, because they are related to a concrete business transaction. There are concrete customers related with it, suppliers, products, dates &#8211; the things that make them easy to identify and find.</p>
<p>In contrast, if there are process instances, which have only an anonymous ID, like a Globally Unique Identifier (GUID), then the relationship to a concrete business transaction is rather loosely. Therefore it is hard to manage them. Furthermore if there are business attributes inside of the process instance, typically they are in generic containers (not always) and therefore difficult to use in queries.</p>
<p>So which process instances are needed within a Business Process Platform beside the business objects themselves? Probably some for approval. Some for ad-hoc processes. Not much more comes to my mind.</p>
<p>Monitoring a business process itself is a different story. For this not process instances are needed, but chains of business objects that are actually process objects and some process instances &#8211; that I already mentioned.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-practice/process-instances-and-a-business-process-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ad-Hoc Processes</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/ad-hoc-processes/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/ad-hoc-processes/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 07:00:43 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[Ad-Hoc]]></category>
		<category><![CDATA[Business Object]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Constraint]]></category>
		<category><![CDATA[Executable]]></category>
		<category><![CDATA[State]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=204</guid>
		<description><![CDATA[Unstructured, Semi-Structured and Structured Processes  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.actionbase.com/unstructured-semi-structured-and-structured-processes">Unstructured, Semi-Structured and Structured Processes</a> makes a distinction between</p>
<ul>
<li>structured,</li>
<li>unstructured and</li>
<li>semi-structured</li>
</ul>
<p>processes, that I like. It is interesting, that in the definition of process the emphasis on the post is less on the sequence of activities, but more on the business goal to reach. That was, what I proposed earlier. And it makes sense. In the end it is more important, what the result of a process is, than what has been done or should be done in which order to try to (!) achieve it. I said &#8220;try to&#8221; because sometimes just doing a thing can not guarantee that the desired result is achieved. That&#8217;s why I say that the result is more important than the doing of an activity or task itself.<br />
Of course it is inevitable that when a business process is implemented in an business process platform, that it is structured. Otherwise it is impossible to implement the business functionality that transforms the business objects that are part of the business process from one state to another. That is said modulo that there may be some generic functionality like a process engine for workflow or generally for execution of modeled process parts of course.<br />
BPMN supports some Ad-Hoc modeling cababilities. There are Ad-Hoc tasks where the sequence is not defined or where it is not defined if none, one or all of them are executed. However one would expect, that any task that can be executed is modeled &#8211; at least if it is not, it can not be system supported. Also it is a difference, if the Ad-Hoc cababilities are on the process type level, or on the instance level, meaning that a concrete process instance can be adapted to a new, unexpected flow, sequence or even new Ad-Hoc Tasks.<br />
However the more the tasks become Ad-Hoc the more they become an empty shell. What do I mean by this?<br />
Create an Ad-Hoc task &#8220;Calculate stock losses based on financial crisis&#8221;. Of course if this is done the first time, there is no busines logic implementation for this. Even if there is a SOA service offering the solution, there needs to be some implementation of calling the service, which means gathering and providing the needed parameters and using the result in other processes.<br />
So &#8211; as soon as a process is implemented in a business process platform it has at least some constraints.<br />
Which is ok &#8211; because it has been formalized, because it&#8217;s execution is more repetitive.<br />
On the other hand especially in times of crisis the importance of Ad-Hoc processes grows to account for the need to compensate unforeseen difficulties in the daily &#8220;business as usual&#8221;.<br />
The important thing is, that the structured, the unstructured and the semi-structured processes can be integrated as seamless as possible. This is only possible, if there is a common notion of result of a process or of an activity in the process. Furthermore it is an interesting question &#8211; especially in semi-structured processes &#8211; how much constraints are desribed.</p>
<ul>
<li>None Constraints: Unstructured.</li>
<li> Some Constraints: Semi-Structured.</li>
<li>All Constraints: Structured.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/ad-hoc-processes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BPM elements and the BPM enabled Application Trend</title>
		<link>http://www.bpmnforum.net/blog27/bpm/bpm-elements-and-the-bpm-enabled-application-trend/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/bpm-elements-and-the-bpm-enabled-application-trend/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 14:03:30 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[BPM Business Semantics]]></category>
		<category><![CDATA[BPM Governance]]></category>
		<category><![CDATA[BPM Monitoring]]></category>
		<category><![CDATA[BPM Process Design]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Governance]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=106</guid>
		<description><![CDATA[What are the elements of this business process space co [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>What are the elements of this business process space context? A comprehensive answer is too long for this post, but it should include process metrics, process design, business semantics, and process governance [...] Kiran Garimella</p></blockquote>
<p>from <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 />
That is an concise list of what is important within BPM, although I to not share the view of the author, that BPM is a kind of proces operating system. ImhO it is a design principle and a management paradigm. It must be supported by system design, to become effective, but it is not an operating system, upon which higher level solutions will be developed. Yes, it is an architecture &#8211; and the Business Process Platform architecture that I already mentioned is one important part of it. But it is not merely a separate software layer.<br />
Now let us look a little more into detail of these elements:</p>
<li>Business Semantics</li>
<li>Process Design</li>
<li>Process Metrics</li>
<li>Process Governance</li>
<p>Ad 1) Business Semantics.<br />
It is obvious, that it is inevitable to take into accound the process, that is realized by Business Objects (Ordering, Selling, Payment, Stockkeeping, Billing, &#8230;) if the process semantics is important. Each of the Business Object types have a business semantics. Each of their states has and the actions, that can be performed with them (like release). It is not possible to ignore them, if an holistic view on the process semantics is necessary. The other way round said: It is often necessary to realize the process semantics by means of implementing Business Objects, because it is so sophisticated business semantics &#8211; if I mention prices calcuation for example.<br />
Ad 2) It is impossible to do process design and not take into account the process, that has been implemented in Business Objects already &#8211; if it is not a very simple case like a very simple workflow. But even with a simple worflow, there often is a Business Object (Invoice, Project, Order, &#8230;) behind it. So the process can not be designed completely free, but within the limitations of the Business Objects, that are going to be used. Or the other was round: if the Process is Designed completely free, then Business Objects need to be implemented or extended to realize such a behavior.<br />
Ad 3) Process Metrics.<br />
Is it possible to think of process metrics and not take into account the state of Business Objects? Plainly said: No. It is relevant, if orderes are Released or not, if Invoices are posted or not and how long it takes from ordering an Order (i.e. reaching the state ordered of the Order) and posting an invoice (i.e. reaching the state posted of the Invoice). So process metrics need a tighter integration with Applications &#8211; in the form of a Business Process Platform BPP.<br />
Ad 4) Process Goverance<br />
Process governance can only be realized, if the necessary process metrics is provided. As a result of process governance, the process needs to be adapted. This can &#8211; in certain limits &#8211; be done by changing some modeled workflows. But often it is needed to utilize different functionality which is implemented in Business Objects or to adapt Business Object functionality. This can only be done, if the application has been built in a way, which makes this possible cost effectively &#8211; i.e. by conforming to a BPP architecture.<br />
So the different elements of BPM can better be reached, if BPM is tighter integrated into applications &#8211; i.e. if applications are BPM enabled &#8211; and if a Business Process Platform (BPP) programming model is followed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/bpm-elements-and-the-bpm-enabled-application-trend/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 ap [...]]]></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>The role of Choreography modeling in a SOA</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/the-role-of-choreography-modeling-in-a-soa/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/the-role-of-choreography-modeling-in-a-soa/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 20:38:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[BPMN]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Contract]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=10</guid>
		<description><![CDATA[[ad]
A SOA consists of Process Components, each of whic [...]]]></description>
			<content:encoded><![CDATA[<p>[ad]<br />
A SOA consists of Process Components, each of which fulfil a certain business functionality, that interact with each other. One possibility is that a Composite Application does call Services of an underlying Business Process Platform &#8211; be it synchronously or asynchronously. Another possibility is, that Process Components of an unterlying Business Process Platform communicate with each other by mainly asynchronous web services. Examples for the first were mentioned above while examples for the second could be a Process Component for Supplier Relationship Management including Purchasing and a Process Component for handling the Delivery, that exchange asynconous XML messages with each other. Another example is the message exchange between a seller and a buyer.<br />
The modeling of a choreography can adress both purposes. It does focus on the exchange of the messages alone &#8211; i.e. internal details of the process components are not modeled in such a model.<br />
However it can server as a Top-Down Design methodology &#8211; if new Process Components will need to be designed, or &#8211; it can serve as a contract between two communication participants, that are adapted to the message exchange.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/the-role-of-choreography-modeling-in-a-soa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The role of BPMN in a Service Oriented Architecture: Services</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/the-role-of-bpmn-in-a-service-oriented-architecture-services/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/the-role-of-bpmn-in-a-service-oriented-architecture-services/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 20:38:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[BPMN]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=7</guid>
		<description><![CDATA[[ad]
The one critical success factor of a Business Proc [...]]]></description>
			<content:encoded><![CDATA[<p>[ad]<br />
The one critical success factor of a Business Process Platform is the design of re-usable services.</p>
<p>If a Business Process Package is developed for integrated use only, there are difficulties to expose the functionality of the Business Process Package as Services, because the integrated functionalities are often inverwoven so that it is hard to find a service interface that does not have unwanted side effects.</p>
<p>However if a Business Process Platform is built from scratch with the goal of exposing re-usable services from the beginning, then there is a better chance. They need to fulfil certain criteria. The services need to<br />
1) Be fine granular &#8211; fulfillig only a small step.<br />
2) Have defined preconditions in terms of the state of the Business Process<br />
3) Transform the Business Process from one defined state into a next defined state<br />
4) Have a clear business semantic</p>
<p>For example, if there is a Business Process Package offering a service to post an invoice, and the Business Process Package would start the payment automatically, then of course this is a very coarse granular service. A service consumer &#8211; modeled in BPMN &#8211; would rather have two steps<br />
1) collect data for invoice<br />
2) Post Invoice (including all &#8220;internal&#8221; steps)</p>
<p>But if a Business Process Platform is designed for exposing re-usable services, then it would offer serveral fine granular services, in our example<br />
1) create invoice<br />
2) Submit to approval<br />
3) approve / reject<br />
4) Post invoice<br />
5) Start Payment</p>
<p>If this is the case, it makes sense to have a service consumer &#8211; which is modeled for example in BPMN &#8211; that contains several steps and conditions, like when (not if !) Approval is started, a workflow for approval / rejection, and so on.</p>
<p>However even in this architecture it is important to design wich decisions need to remain inside of the process platform and which can be outside of it. Sometimes the buzzwording demands, that all services are freely composable and all process relevant decisions need to be done in a process layer. This &#8211; of course &#8211; is not true.</p>
<p>First of all there are certain constraints, that the Business Process Platform demands, that a Service Client needs to comply to. For example there is no sense in creating a process, which first posts an Invoice and then afterwards does Approve it, if the platform as in most cases would demand the other way round.</p>
<p>Fruthermore not all decisions should be made outside of the platform. For example the decision if an approval is necessecary at all or not should be inside of the platform, not outside. Imagine a BPMN process services consumer where the conditions resides: If amount of invoice > 1000€ demand approval, otherwise not. This is nice but without effect. Because a different service client of the platform (e.g. User Interface) could simply go by the approval, even if the value would be 10.000€, because the condition is not enforced by the platform. To avoid this kind of unwanted behaviour the decision if or if not the approval is necessary needs to reside within the platform. Outside it can only be decided, if approval is given or rejection.</p>
<p>Therefore the platform must not offer a service operation: &#8220;Pass by Approval&#8221; but only &#8220;Check if Approval is relevant&#8221; or &#8220;Submit to Approval including Check if it is relevant&#8221;.</p>
<p>So the granularity and design of the services which are offered is decisive for the success of a service oriented architecture and the goal to make services consumable by a process consumer which is modeled by BPMN.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/the-role-of-bpmn-in-a-service-oriented-architecture-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The role of BPMN in a Service Oriented Architecture</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/the-role-of-bpmn-in-a-service-oriented-architecture/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/the-role-of-bpmn-in-a-service-oriented-architecture/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 20:15:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[BPMN]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=3</guid>
		<description><![CDATA[Often BPMN models are made to document existing process [...]]]></description>
			<content:encoded><![CDATA[<p>Often BPMN models are made to document existing processes in a company. Which is a first step, because the transparency serves a purpose. The purpose is to improve the process. Only to know a process and to monitor a process is valuable as a first step, but in the end improvements need to be made.</p>
<p>One improvement may be to automate certain parts of the process or to integrate them better. This can be done in various ways. One way is to develop new software, that does fulfill the specification given in the process models. Another way is to change existing software &#8211; especially the exchange of information between it. A third possibility could be to execute BPMN processes as workflows, if they represent workflow relevant parts and after a BPMN execution environment has been established.</p>
<p>But the most visionary possibility is that the BPMN processes are used as web service composition. Either by encasulating the existing or new developed software by web services, or by inclusion of pubic webservices &#8211; which can be done in simple cases. However a critical success factor in this approach is<br />
1) the reusability of the web services and<br />
2) the integration of the processes over the web services.</p>
<p>If the integration of processes over the web services is left to BPMN alone, then this can be only applied to simple cases. Standard Business Processes need to be integrated on their own, and the BPMN serves as a layer for automation, i.e. for triggering the next step that would otherwise wait for completion too long. Also it can be used for event correlation and as a result the trigger of a next step.</p>
<p>This approach works good, if the underlying Business Process Implementation follows certain criteria. This is already mentioned 1) and 2) and furthermore<br />
3) the Business Process Implementation itself is modeled and thereby transparent and<br />
4) It is flexible &#8211; i.e. Extensible.</p>
<p>If a Business Process Implementation fulfils 1) through 4) i want to call it a &#8220;Business Process Platform&#8221;.</p>
<p>So in a Business Process Platform BPMN can serve as the means to document the implemented Business Processes for the Purpose of Transparency and an index for Extension Points.</p>
<p>So in essence the Business Process Platform provides the Web Services, which are documented by BPMN. As we said these need to be consumed. If we have an execution environment, that is able to execute BPMN processes for the consumption of these web services, then I would call it a &#8220;BPMN Composite Environment&#8221;. If we have a Toolset, that allows the integrated model driven development of Composition Content and Platform Extensions, I would call it a Composite Integrated Development Environment. or Composite IDE.</p>
<p>So BPMN can play the role of glue in such a scenario. However also other model types are needed &#8211; most obviously WSDL.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/the-role-of-bpmn-in-a-service-oriented-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
