<?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; SOA</title>
	<atom:link href="http://www.bpmnforum.net/blog27/tag/soa/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>More Adaptive Case Management FAQ</title>
		<link>http://www.bpmnforum.net/blog27/adaptive-processes/more-adaptive-case-management-faq/</link>
		<comments>http://www.bpmnforum.net/blog27/adaptive-processes/more-adaptive-case-management-faq/#comments</comments>
		<pubDate>Thu, 27 May 2010 08:04:25 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[Adaptive Processes]]></category>
		<category><![CDATA[adaptive case management]]></category>
		<category><![CDATA[adaptive process]]></category>
		<category><![CDATA[BPM Systems]]></category>
		<category><![CDATA[case manager]]></category>
		<category><![CDATA[emerging process]]></category>
		<category><![CDATA[Mastering the Unpredictable]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog27/adaptive-processes/more-adaptive-case-management-faq/</guid>
		<description><![CDATA[Q: Why is it called "adaptive", What does that mean?
A [...]]]></description>
			<content:encoded><![CDATA[<h2>Q: Why is it called &#8220;adaptive&#8221;, What does that mean?</h2>
<p>Adaptive means, that a process is able to be adapted to changed circumstances or unpredicted situation, while it is already running. It is possible to adapt the process to the new situation. In most cases the means to reach a fixed goal are adapted. These means can be: Intermediate goals or tasks, collaboration partners, responsible persons, deadlines, provided information.</p>
<h2>Q: Can you mix BPM and ACM together? How would it work?</h2>
<p>Yes. Because ACM is more flexible than BPM, ACM would be able to integrate with BPM. ACM would adapt to the process that is defined in BPM. However it is clear as soon as this is done, the ACM process loses something of its adaptability. But if the ACM process is detached again from the BPM process, it hast full adaptability again.</p>
<p>In my opinion it is even possible to integrate ACM with an ERP system, if it is service oriented – i.e. with SOA. For this it is of advantage, that the Service Behavior is modeled in the SOA, which is possible by BPMN 2.0 Choreography Modeling for example.</p>
<h2>Q: Is everyone then expected to become a programmer?</h2>
<p>Definitely no. The initial user interface of ACM will be as simple as a task list or bullet points. Of course, in the course of process execution more information is added, but this can be like entering data into a form. Programming is definitely not needed.</p>
<h2>Q: How does an ACM template compare to a BPM solution?</h2>
<p>An ACM template is copied to a running process that can be changed later on. Also an ACM template can be merged with an already running process. Point one may be possible with some BPM systems, although they are not primarily designed for that. But the second point I have never seen with a BPM system and I think it is also not possible because of the BPM model language.</p>
<h2>Q: What does it mean to be &#8220;goal oriented&#8221;? Isn&#8217;t all software goal oriented?</h2>
<p>No. Goal orientation means, that the goal is to be defined. Also it means, that the goal is defined first or at least very early and that all other steps and means are defined as contributing to the goal.</p>
<p>An ERP system is designed to support reaching goals on different levels. One goal for example is to sell products; another goal is to deliver them. Another goal may be to reach a certain turnover within a planning period. And yes, some functionalities of an ERP system are provided that allow the definition of goals – like turnover. But typically most goals in an ERP system are merely implicit. It is not possible to write down any goal and to plan the steps towards the goal.</p>
<p>In BPM Systems the goal is also implicit: Complete the process. But what if the steps defined in the process are not relevant anymore, because the circumstances have changed? Then the goal is lost. But with an ACM system, the goal is defined from the beginning and all other elements are subordinates of that goal. If they do not contribute to the goal anymore, they just lose their relevance, while other elements may be added.</p>
<h2>Q: What is the primary benefit that a case manager gets by using the system?</h2>
<p>I have been using my own ACM system for about half a year now. What does it give me? It gives me transparency in my plans. It helps me to reach, define and adapt goals and priorities. I always have a clear work list; I know what do to next. I can access it from everywhere. I can plan and define dependencies, if I need them. I can break the work down into chunks, estimate the effort and set realistic deadlines. I can collect information relevant to reach a goal and attach it to the goal. I can search in past cases, if I need information – or I can search the whole case data base within the blink of an eye. I have charts showing me he progress. I have a clear status of all my work.</p>
<p>Also more advantages of an ACM system will be the ability to define templates, of course to collaborate within projects- to have clear responsibilities. Problematic cases can be nailed down by drill-down analysis and solved. Best Practices can be made available for a greater community.</p>
<p>So in the end the effect will be more work efficiency. Less missed deadlines, less overload and the feeling to have the work under control.</p>
<h2>Q: So a case manager can just do anything they want at any time? Is that right? What keeps this from devolving into chaos?</h2>
<p>Yes, it is right that the case manager can do anything they want at any time. Without using an ACM system knowledge workers were able to avoid chaos. But an ACM system gives them a tool to make it easier to have a clear status of the work. Of course an ACM system can also be used to produce chaos. That is a risk. But even in this case at least the chaos is transparent and can be refocused again.</p>
<p>But also let us look from another angle. It is also a risk to have no chaos at all. This might a provoking thought for some, but bear with me. For example I have two lists of work. Those goals, that I need to reach in a very short term and a list of things that I always wanted to do in the future. Yes – the short term list is well ordered and planned – otherwise I could not reach my goals. But the future idea collection naturally is somewhat chaotic. And it is good, that it is, because this is part of the creative process. When time comes, I will order that list and make it clear. But then I hopefully will have another list for the farer future that is also chaotic.</p>
<p>So if there is not a little bit of chaos, nothing new happens, nothing is invented, no new customers are won – all is well ordered and doomed to become irrelevant in due time. That is the risk of too much order.</p>
<h2>Q: How does analytics enter the picture?</h2>
<p>Analytics will be very important for ACM. But the success of it depends on the scope in that ACM will be used. Analytics can already be useful for a single user ACM system. Of course more is possible, if there is a project team using it. If a whole department or a whole company will be using it, better reports are possible. On the other hand, it will still be in the hands of the single user which information to share to the public pool of information and which information is to be kept private. Analytics is one of the great benefits of ACM, and after the basic ACM plumbing is done, it will be time to become creative.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/adaptive-processes/more-adaptive-case-management-faq/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>Benefits of Choreography modeling in a SOA</title>
		<link>http://www.bpmnforum.net/blog27/bpmn/benefits-of-choreography-modeling-in-a-soa/</link>
		<comments>http://www.bpmnforum.net/blog27/bpmn/benefits-of-choreography-modeling-in-a-soa/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 19:49:32 +0000</pubDate>
		<dc:creator>Frank Michael Kraft</dc:creator>
				<category><![CDATA[BPMN]]></category>
		<category><![CDATA[Choreography]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[Contract]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[State]]></category>

		<guid isPermaLink="false">http://www.bpmnforum.net/blog/?p=16</guid>
		<description><![CDATA[[ad]

First, what is a Choreography Model? Spoken in ge [...]]]></description>
			<content:encoded><![CDATA[<p>[ad]</p>
<p>First, what is a Choreography Model? Spoken in general terms it does model the participants of a message exchange, the messages exchanged (not necessarily the structure of the message), which interactions (message exchanges) are desiged betreen the participants, who is the initiator of an interaction, and which interactions follow on which other interactions.</p>
<p>The benefits of modeling a Choreography are the general benefits of doing a design for anything. It gives transparency. It results in quality, because of clear-cut statements of the boundary conditions, if fosters collaboration by forcing to discuss the message exchange contract. It can be simulated and thereby problems can be found before implementation and the consistency can be checked with other models &#8211; especially process models of the participants.</p>
<p>Sending messages at unspecified points in time between participants and hoping, that they will somehow be processed may seem easier in the beginning, but experience shows, that this does not pay back. Error handling is especially difficult in distributed SOA landscapes. Therefore giving the interaction a backbond and skeleton by modeling it in the first place, is key to success.</p>
<p>This model could even be used in the runtime by letting systems validate messages that arrive or are being sent against the model. By this two things happen: (1) The quality of the model is forced to be on the highest level (in contrast to &#8220;just a drawing&#8221;) and (2) messages sent or received at the wrong time can be identified as contract violations (instead of clumsy debugging of the application coding).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpmnforum.net/blog27/bpmn/benefits-of-choreography-modeling-in-a-soa/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>
