<?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/category/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>My life in the Cloud: Going Azure</title>
		<link>http://www.bpmnforum.net/blog27/business-process-platform/my-life-in-the-cloud-going-azure/</link>
		<comments>http://www.bpmnforum.net/blog27/business-process-platform/my-life-in-the-cloud-going-azure/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 09:29:58 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[Adaptive Processes]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Analytical Objects]]></category>
		<category><![CDATA[Azure Services Platform]]></category>
		<category><![CDATA[Cloud applications]]></category>
		<category><![CDATA[Force.com]]></category>
		<category><![CDATA[IPhone]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Salesforce.com]]></category>
		<category><![CDATA[Technology/Internet]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=504</guid>
		<description><![CDATA[I wanted to continue the discussion about my goals mana [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to continue the discussion about my <a href="http://www.bpmnforum.net/blog27/cloud/my-life-in-the-cloud-my-goals-management/">goals management</a> that I started in salesforce.com. The problem was that the data structure did not fit my needs so well and that I wanted to implement business functionality &#8211; i.e. aggregation of remaining effort, but I did not want to invest too much into learning APEX, the salesforce.com proprietary programming language. I could, but I thought why live with the limitations of the platform, if I could try to build my own cloud platform? Maybe later I come back to salesforce.com, but for now I want to try <a href="http://www.microsoft.com/windowsazure/">Microsoft Windows Azure</a>.</p>
<p>To quickly wrap it up: It was a good decision. I have built 9 Business Objects in the meanwhile of which the first one was the most difficult obviously. The others quite naturally follow. These are as of now: Workitem, Sprint, Book, Attachment, Note, Payment, Regular Payment, Statement, Transaction. Furthermore I have added Analytical Objects for the purpose of analyzing the Business Objects. I will explain by and by what they do. I will not explain the programming model and architecture of Microsoft Windows Azure in detail. You can inform yourself in public sources, if you want. The UI is HTML &#8211; so it&#8217;s not worse than salesforce.com. Plus I have added some diagrams in Microsoft Silverlight.</p>
<p>I was able to quickly implement the business logic, that I wanted to have. The programming language I use is C#, which I like. After implementation you press a button (ok, three, four) and then the application is running live in the cloud. It&#8217;s just so easy, lean and clean.</p>
<p>So the first Business Object I implemented is the Workitem. In salesforce.com I called it Goal &#8211; I am still a little bit indecisive how to call it. I can say so far that it is different from all other Workitems or Tasks that I happen to know. I asked myself what I need for my daily work. My work is that of a Knowledge Worker. It is in good part unpredictable, but not unrelated. Also it is not unplanned. And it has clear goals and a clear purpose. So for this requirement I tailored this Business Object Workitem and I worked with it for many weeks now. I have worked now with at least 3000 instances of it and I am more happy with it than with any other task or project tool that I used so far. I have my work under control now, notwithstanding the fact that many unpredicted events occurred and adaptations of the plan were either necessary or chosen by me.</p>
<p>And: It is served in the cloud. Obviously this means that I can access it from every computer with a browser, which I regularly do. Recently I was in a shop and wanted to buy a memory extension. I did not remember the model. So I asked, if I could quickly use the computer, logged into my Platform and looked it up. Just as easy. In other instances I just pulled out my iPhone, logged into my Platform &#8211; using the standard browser, and edited some workitems. I did not even have to write an iPhone App for this. Although I might in the future.</p>
<p>What did I do with the old workitems/goal instances that I had already created in salesforce.com including attachments and notes? Within two days I migrated them completely into my Azure Workstream Platform. How? Salesforce.com offers web services to read the content. So I pulled out the Web Service Description (WSDL) from my salesforce application &#8211; which as we remember were custom objects &#8211; into Microsoft Visual Studio, generated WebService Proxies for that, mapped them into my Business Object Structure and then pulled the content over. That&#8217;s it. From that point on I as productive in my own Azure Workstream Platform. And I am until today.</p>
<p>I will explain more about the functionality of the Business Objects, that I created, soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/business-process-platform/my-life-in-the-cloud-going-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ERP / BPM / SOA</title>
		<link>http://www.bpmnforum.net/blog27/bpm/erp-bpm-soa/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/erp-bpm-soa/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 06:13:39 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Model Driven Architecture]]></category>
		<category><![CDATA[Model Driven Development]]></category>
		<category><![CDATA[Business Process Execution Language]]></category>
		<category><![CDATA[Business Process Modeling Notation]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[Enterprise resource planning]]></category>
		<category><![CDATA[Process management]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Systems engineering]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=497</guid>
		<description><![CDATA[I was recently asked if I like this idea: Handle everyt [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently asked if I like this idea: Handle everything, that is coded in an ERP systems today as Process Patterns and instead design it as process models, that can be adapted to the requirements of the customer. The context of the discussion was if the combination of ERP/BPM/SOA would not have tremendous potential.</p>
<p>I aswered, that I have experience with that and that I agree that there is a tremendous potential with that. That really was an interesting discussion, because I did not hear such analysis before in the discussions in the public marketplace. I think this is the right direction to think.</p>
<p>I had already governed the design of the process of about 200 or more business objects, creating about 2.000 models including roughly about 5.000 web service operations. I didn&#8217;t use BPMN for that, because it was not flexible enough for this purpose, neither any of the existing languages. I used an own Domain Specific Language (DSL) for Modeling the behavior of those Business Objects.</p>
<p>My summary of that exercise is, that I agree to the original question. Only by modeling the process of Business Objects which are part of the ERP system, the ERP system&#8217;s web services will as a result have the right granularity. What is the right granularity for web services? Reusability. If web services are reusable, then they pay off most. In order for them to be reusable, they need to fulfil certain conditions. A web service operation should only do one thing at a time., i.e. not trigger an endless chain of activities in the system. It should have clearly defined preconditions. The effects and results of the web service operations must be clearly defined in terms, that can also be preconditions to other web service operations. That are the most important criteria in my view.</p>
<p>A system must be designed for this philosophy from the beginning. I strongly believe that adding web services to an existing system falls short of this goal. Even if it has some value, it would not use the full potential.</p>
<p>In general what I miss in the public standards is a language to describe the behavior of web services. Yes, BPMN 2.0 goes into that direction. But BPMN 2.0 still has to prove that it can fulfil the promise in practice. I think to a degree it can. It will turn out later, if it is possible to simplify the language or if it becomes an inspiration for other approaches (e.g. constraint based instead of workflow based).  And using BPMN 2.0 in itself does not guarantee the success. Additional guidance is necessary, certain quality criteria that each model must fulfil.</p>
<p>However, if the behavior of web service operations of an ERP system is defined, and if the granularity of the web service operations are so, that they are reusable, then the potential is very big. Because it means, that it is possible to attach own processes to that ERP service and even to interweave own processes in-between ERP processes. For example to add an approval before the release of an order under certain conditions, to add an own method of calculating benefits for the payroll and the like.</p>
<p>However as a limitation to the original question I would say, that not all of the processes modeled could be customized or changed arbitrarily. There are certain core processes, that the ERP system offers, that can not be changed without the danger of losing the consistency of the process. Therefore it is clearly necessary to describe which part of the process needs to remain stable and which parts of the process can change or are open for additions and interweaving. This of course must be part of the model.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/erp-bpm-soa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Prediction</title>
		<link>http://www.bpmnforum.net/blog27/bpm/a-prediction/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/a-prediction/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 07:51:16 +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[Business Object]]></category>
		<category><![CDATA[Business Process]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/?p=357</guid>
		<description><![CDATA[Usually I leave the predictions to analysts and prophet [...]]]></description>
			<content:encoded><![CDATA[<p>Usually I leave the predictions to analysts and prophets. That&#8217;s because it is so much work to achieve, what they already have predicted &#8211; or to find out, that it did not work.</p>
<p>Nevertheless this is a conviction, that has grown over time and a goal to which I can even see the path to the solution already now.</p>
<p>My prediction is, that in the future there will not be Applications on the one side and Business Process Management on the other side. But Business Process Management enabled Applications.</p>
<p>My prediction is, that in the future, there will not be the decision &#8220;Should I implement it as an Application or model it in a Business Process Management Suite?&#8221; any more. Because with BPM enabled Applications this is the same thing.</p>
<p>Business Objects will be Process Objects and Processes will be Business Objects.</p>
<p>And it will solve many of the discontinuities we have today trying to unify the two worlds.</p>
<p>This is my prediction.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/a-prediction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intelligence in Business Processes</title>
		<link>http://www.bpmnforum.net/blog27/bpm/bpm-process-design/intelligence-in-business-processes/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/bpm-process-design/intelligence-in-business-processes/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 08:29:28 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM Process Design]]></category>
		<category><![CDATA[BPMN in Practice]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Flexibility]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=229</guid>
		<description><![CDATA[The question how to add more intelligence to Business P [...]]]></description>
			<content:encoded><![CDATA[<p>The question how to <a href="http://jtonedm.com/2009/02/02/adding-more-intelligence-to-business-process/">add more intelligence to Business Processes</a> provokes me to share a my opinion on this.</p>
<p>Yes, of course we can discuss about business rules and automated decisions. But in the end, the most intelligent entity on earth is still the user. Yes, we can discuss about AI and Deep Blue being Chess Champion. But my statement still holds.</p>
<p>Yes, it is all about decisions. But that does not imply, that the decisions need to be automated. Some can. But often the business process should push the necessary decision to the user.</p>
<p>And to allow for intelligent decisions, it is crucial to allow for enough decision alternatives. This may sound simplistic in the beginning. But it is not. Bare with me for a moment.</p>
<p>So what is as simple as an approval? Approve or Reject. The simplest decision in the world. But not so simple. Of course, if only Approve or Reject is modeled / implemented, then what should the user do, if he wants to do something else? What else could a user do other than Approve or Reject? He might want to send it back to revision for example. Another user might want to change the underlying approval object &#8211; what influence does this have on the process? A realignment of the process is necessary. What, if an approver wants to merge several approvals into one or if he wants to split one into several. Partly Approve. Partly Reject. Partly Edit. Define new Followup &#8211; Approval. Change the Approval Type. Merge unterlying objects. Split them.  And Realing the Process. Or substitute the Business Process by an equivalent different one. If you only begin to think about it, then you can hardly stop. And if you think, what that means for a process model, then I would say this is a real challenge. Certainly far more than giving only two branches: Approve and Reject.</p>
<p>So in my opinion adding intelligence to business process means also adding flexibility to the business process, that allows for more than simple alternatives for the user and to push decisions to the user. And to allow for automated decisions to be overruled by the user in many cases.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/bpm-process-design/intelligence-in-business-processes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is a Process? Procedure vs. Process</title>
		<link>http://www.bpmnforum.net/blog27/bpm/what-is-a-process-procedure-vs-process/</link>
		<comments>http://www.bpmnforum.net/blog27/bpm/what-is-a-process-procedure-vs-process/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 07:00:45 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[BPMN]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=164</guid>
		<description><![CDATA[What is a Process? This discussion seems to be still on [...]]]></description>
			<content:encoded><![CDATA[<p>What is a Process? This discussion seems to be still ongoing, and I have my own take on this.</p>
<p>In <a href="http://www.it-director.com/blogs/Mark_McGregor/2009/1/procedure_vs_process.html">Procedure vs. Process</a> it is discussed from the angle of if it is a sequence or order of action or not sequence or order. Also Merriam-Webster dictionary is cited to say that a process is</p>
<blockquote><p>a series of actions or operations conducing to an end ; especially : a continuous operation or treatment especially in manufacture</p></blockquote>
<p>I fundamentally disagree with this definition. In my opinion the series of action is only one half of a process. The state is the other half. A process must always have a defined state. Either it is not started, it is finished or in the middle &#8211; in process. If it is in process, it needs to be further defined, what the detailed state is. So if a process is modeled in terms of actions, then the question is, which state do the individual actions have.</p>
<p>In the Blog <a href="http://www.column2.com/2009/02/links-for-2009-02-02/">Column 2 &#8211; links for 2009-02-02</a> we see the statement that refutes the difference between process and procedure as claimed by <a href="http://www.it-director.com/blogs/Mark_McGregor/2009/1/procedure_vs_process.html">Procedure vs. Process</a> . For my taste this is a little bit a too technical discussion.</p>
<p>I rather approach it from a little bit different angle. For me a busines process is the sum of all business objects and process objects that are needed to achieve a common busines goal, their state, their actions and the constraints between the actions and the state.</p>
<p>You might argue, that I define process by process &#8211; i.e. business process by process object. But they are different. Process objects are like workflows and have a rather small business goal , but a business process has a much broader scope. All process objects are small business processes, but not vice versa.</p>
<p>By such a definition I exclude such things like interactions with the system, because they do not have a state. So adding a sales order, saving it, adding another sales order and saving it is no business process by this definition, because it has not state and it does not achieve a common business goal. A business process would be to deliver goods which have been ordered by customer orders and bill them, and collect payments for them. This is a common business goal and the whole process has a state which is reflected in the state of it&#8217;s business objects, namely the customer order, the delivery, the invoice and the payment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpm/what-is-a-process-procedure-vs-process/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>What is a Business Process?</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/what-is-a-business-process/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/what-is-a-business-process/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 08:32:27 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN in Research]]></category>
		<category><![CDATA[Business Process Platform]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[Business Process]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=63</guid>
		<description><![CDATA[[ad]
A business process can be perceived as being some  [...]]]></description>
			<content:encoded><![CDATA[<p>[ad]<br />
A business process can be perceived as being some activities, that lead to a defined business goal. Of course we need to distinguish between a process type – which covers the type of activities that are necessary to reach a type of business goal – and a process instance – which cover the specific activities that are necessary to reach an instance of a business goal. Typically the activities of a process type have some constraints defined – i.e. certain activities must precede others. In BPMN these constraints are sequence flows for example. However there are other proposals of constraints as well. So chaining Activities by sequence flows is one possibility of constraining activities of a business process, but others are thinkable. Furthermore if we look more into a process instance – it has a state. It is either not started, in process, finished – or other states. In BPMN processes and activities have defined states and state transitions and the semantics of sequence flows is defined in dependence of the states of the activities.<br />
However we might think of a process of being something like a workflow definition. BPMN resembles a workflow definition. But that is not all there is to say. It is not that before workflows could be defined, no business processes could be represented in a computer system. They were represented in a different way. They were entries in relational databases. They were and are represented as chains of modeled business objects. Yes. My statement is: A business object is as well a part of a process as a workflow type.<br />
What does a business object stand for? For example a sales order? It represents the fact, that a business process has been started – i.e. the selling of a product. It contains data about the sale, i.e. the customer, the product, the prices, the delivery dates. Furthermore it contains a state. It is either open, in process or completed. It has links to other business object of other parts of the business process that are necessary to reach a common business goal: delivery documents, invoices, payments. If all of the linked business objects have reached a state of completed, then we can say, that the business process, that was started by creating the sales order is completed.<br />
So – to have a holistic view of what a business process is, it is inevitable to include business objects in the game. They would as well have defined activities, would have constraints between the activities and the instances of them would have a state. If this is modeled, then there is common grounds for unifying the process world with the business object world and thereby creating tremendous synergies of modeled interaction between workflow type of processes and business object type of processes.<br />
The original question “What is a Business Process?” is not answered completely, but a starting point has been presented.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/bpmn-in-research/what-is-a-business-process/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>
