tag:blogger.com,1999:blog-70234844316721649372009-07-11T09:31:03.726+12:00Dave Thinking AloudDavid Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.comBlogger64125tag:blogger.com,1999:blog-7023484431672164937.post-63616051678737595062009-07-11T09:29:00.001+12:002009-07-11T09:31:03.732+12:00Seastead - an Ark for Tokelau<p>I returned from a few days off-net to a barrage of articles and emails that I really should get down to but a couple came together so appropriately that they interested me far more than the dry stuff about business process that I usually have to force into the brain.</p><p><br></p><p>In a well thought out <a title="article in the NZ Listener" href="http://www.listener.co.nz/issue/3609/features/13622/new_zealands_forgotten_isles.html" id="iwmt">article in the NZ Listener </a>, Ruth Laugesen describes the plight of the Tokelau islanders in the face of climate change.<a title="article in the NZ Listener" href="http://www.listener.co.nz/issue/3609/features/13622/new_zealands_forgotten_isles.html" id="qj66"><br></a></p><blockquote><p></p><p>New Zealand these days, idle conversation can turn to climate<br />change and what it might hold for our children and grandchildren. In<br />Tokelau, which has been settled for 1000 years, such conversations are<br />almost too difficult to have.</p><p>“At the end of the day we will be<br />the first people to go underneath the water,” says Toloa, the ulu, or<br />head of Tokelau’s governing council.</p><p>“It could happen at any<br />time. There could be one cyclone where the whole island could go<br />underneath the water. It’s quite difficult and it’s quite painful to try and<br />accept the fact that one day we may wake up and we are underwater,”<br />says Toloa, on the phone from Apia, Samoa, where Tokelau has its<br />administrative base.“So it’s not a good feeling. We’ve heard the<br />Al Gore presentation and know all [about] global warming and all that<br />kind of stuff,” he says.</p><p>Tokelau, population 1416, is a<br />self-governing territory of New Zealand and a forgotten frontline for<br />climate change. Two other Pacific atoll micro-states, Kiribati and<br />Tuvalu, have become international symbols as some of the first nations<br />that could become inviable as a result of climate change. But Tokelau,<br />as a low-lying atoll state, is just as vulnerable.</p><p>New Zealand’s<br />history as a tinpot colonial power means Tokelau’s people are New<br />Zealand citizens, have a New Zealand flag and, bizarrely, observe<br />Waitangi Day as their national holiday. In Wellington, the Ministry of<br />Foreign Affairs has an Administrator for Tokelau. This year New Zealand<br />will give Tokelau about $17 million in aid.</p></blockquote><p>Coincidentally, <a title="an article from Inhabitat" href="http://www.inhabitat.com/2009/07/09/are-ocean-societies-the-new-frontier-for-sustainable-living/" id="uu_q">an article from Inhabitat</a>, described the current thinking about <a title="The Seasteading Institute" href="http://seasteading.org/learn-more/about-tsi" id="vr8-">The Seasteading Institute</a> whose modest mission is <br></p><blockquote><p><i>To further the establishment and growth of permanent, autonomous<br />ocean communities, enabling innovation with new political and social<br />systems.</i></p></blockquote><p>Seastead have this visionary approach to above the waves living with a fairly modest $5/sqm target.<br></p><p><div id="mmd5" style="text-align: left;"><img style="width: 537px; height: 321px;" src="http://docs.google.com/File?id=dffpw2t7_325dt3wgxfc_b"></div><br></p><p><br></p>On the one hand, we have pacific islands, atolls actually, and their populace disappearing beneath the ocean. On the other, a plan for establishing communities living on the ocean.<br><br>Although the Seasteaders aim to avoid problems with territorial authorities by moving around on the high seas, Tokelau and other island groups could utilise the same technology to address the rising seas that will eventually engulf them. Even awash, the atolls would provide protection from extreme waves. With mobility a design feature of Seasteads, getting out of the way of cyclones would be a benefit sought by many pacific islands.<br><br>Why even think about spending large amounts of money on keeping the islanders in the middle of the ocean rather than relocating them to South Auckland? Well NZ does claim a large Exclusive Economic Zone around Tokelau which would be hard to sustain if they are abandoned.<br><br><br><br><br><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-6361605167873759506?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-25895536146563704722009-05-25T11:20:00.001+12:002009-05-25T11:20:35.974+12:00Auckland Super City IT Costing<b> <br></b>These two statements seem well out of step. <br><blockquote>Merging council IT systems to create an Auckland "supercity" will cost<br />the best part of $200 million and could take eight years to complete,<br /><i><a title="Stuff" target="_blank" href="http://www.stuff.co.nz/business/industries/telecoms-it-media/2437963/200m-supercity-IT-bill" id="ucdr">according to consultancy firm Deloitte</a></i>.<br /><br>The <i>[total]</i> estimated integration costs have been assessed<br />to range in total between $120 million and $240 million over a<br />four-year implementation time frame <i><a title="from the Royal Commision Report" target="_blank" href="http://www.royalcommission.govt.nz/rccms.nsf/0/2ABAE471391B37DCCC25758500470723?open" id="t750">from the Royal Commission Report</a></i><br></blockquote>Did the Royal Commission ignore the costs of systems? Are IT<br />organisations and consultants taking the opportunity of change to gold-plate systems or<br />include the cost of deferred maintenance and upgrades?<br>While each organisation might have a different system for rating, dog licences etc., the business functions that these systems support are the same before and after implementation of the super city. The business of the new Auckland Council is an amalgamation and hopefully a slimming of the business of the existing authorities. While the changes for IT are not trivial, I suggest that the line by line examination of budgets does not stop at central government and someone asks hard questions along the lines of <i>"why can't one of the existing finance sytems, dog licencing systems etc be scaled up to cater for the increased population?"</i>.<br><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-2589553614656370472?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-65123921332478772572009-05-23T09:10:00.002+12:002009-05-23T09:26:49.607+12:00Heading into the cloudsI am taking my first steps into the <a title="Intalio Cloud" target="_blank" href="http://www.intalio.com/products/cloud/" id="eqh-">Intalio Cloud</a>. As an individual and for my small business, I like the concepts of cloud computing and use the Google family of services as part of my normal daily operation. This started as a Google Doc. Having an interest in the use of BPMS to formalise operations within and between organisations, I have been following the Intalio BPMS offering for some time and, despite some ragged edges, I find it a good approach.<br /><br />Intalio Cloud is an interesting prospect. Where do you place it in the <a title="Peter Laird - CloudMap" target="_blank" href="http://saaslink.googlepages.com/Laird_CloudMap_Sept2008.png" id="anpc">taxonomy of the cloud</a>? Is it providing storage, compute power, platform, value added services ... ? Not only all of the above but apparently a range of hardware and services so that you can be your own cloud provider. An interesting scalability equation, I can operate somewhere in a blackbox datacentre with 2 users for free ; expand into a productive organisation at $x per user per month; form my own cloud service datacentre (using <a title="surplus power and cooling capacity of NZ South Island" target="_blank" href="http://www.stuff.co.nz/timaru-herald/news/2387238/Hydro-lakes-reach-five-year-high" id="t5xu">surplus power and cooling capacity of NZ South Island</a>) all without changing the operational business processes.<br /><br />So I will be doing a bit of tyre kicking and a much thinking about the security and other risks associated with putting the fundamentals of business operation out into the cloud. One problem with adopting a business solution in the cloud is that you may not pay much attention to what is going on to give you the results. You may trust that availability of the underlying components in the black-box data centre will be sufficient for your needs as you grow, and that your operation is secure. That last one is a bit problematic ... out of the box Intalio has you logging on with userid/password across http rather than use encryption (even https would be a great advance).<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-6512392133247877257?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-75242936697956913782009-04-08T11:05:00.002+12:002009-04-08T11:10:14.833+12:00BPMN - Why and how of SignalThanks to <a title="http://www.rickgeneva.com/wp/welcome" target="_blank" href="http://www.rickgeneva.com/wp/welcome" id="fe97">Rick Geneva</a> , I do not have to describe 'What' a Signal Intermediate Event is used for in a business process. He has provided the <a title="http://www.rickgeneva.com/wp/pages/32" target="_blank" href="http://www.rickgeneva.com/wp/pages/32" id="xann">use cases</a> for this useful element of BPMN. I responded quickly - <i>now all we need is standard implementations in products like Intalio</i>, pointing out the lack of implementation of signal in tools that support BPMN through to an executable. Of course, we can work around any lack of implementation of signal within a BPMS toolset but the meaning behind signal is not like anything else so a real implementation or common patterns of workaround would help.<br /><br />You can draw the signal event in Intalio so at least the business process designer can start with a proper description of the use case even if the level-3 technical implementation diagram will differ in shape.<br /><br />The BPMN specification says<br />A signal is a generic, simple form of communication<br /><ul><li>Within pools (same participant)</li><li>Across pools (different participants)</li><li>Across Diagrams</li></ul><br />It is communication in its simplest sense ...<br /><ul><li>shouting out not knowing if anyone is listening, or has heard<br /></li><li>and listening for shouts unaware of any other listeners</li></ul><br /><h3>Signalling <i>within</i> pools </h3>This very important as BPMN deliberately restricts message flows to communcation <i>between</i> pools so if you have parallel flows within a pool and you wish to communicate an <i>event</i> between the flows, a signal is the only BPMN mechanism available. For example, a simple synchronisation of parallel flows would be represented like this in BPMN.<br /><div id="d93x" style="text-align: center;"><img style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_284g8dcvnck_b" /></div><br />Without signal, the workaround is to use a message via another pool like this ...<br /><div id="uvlf" style="text-align: center;"><img style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_285fpqpvkfz_b" /></div><br />This does have the merit of working in Intalio but clearly deviates<br />from the simple expression of the business process. Adding more<br />listenerswould seriously obscure the meaning of the business model with implementation artifacts.<br /><br /><h3>Signalling across pools</h3><br />In communication across pools, the signal has a single sender and one or more listeners while, with messages each sender is connected to a listener. Here is a simple synchronisation between parallel processes.<br /><br /><div id="fxkf" style="text-align: center;"><img style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_286xvw6kvcz_b" /></div>Replacing the signals with messages even in this simple case loses the clarity of expression of the business process<br /><br /><br /><div id="b7.y" style="text-align: center;"><div id="c9hd" style="text-align: center;"><div id="so1m" style="text-align: center;"><img style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_291svpspndv_b" /></div><div style="text-align: left;">In this case the single activity of signal in master process is replaced by two message event throws and it gets progressively more complex as more processes are introduced. In addition, for every participant introduced, a change has to be made to the model of the process doing the signalling although in practice no change is made to the real business process.<br /><br /><h3>Across Diagrams</h3><br />The lack of a signal implementation is especially felt where the business is modelled across a number of diagrams and there is a common need for communication. An over-riding interrupt perhaps. Each separate diagram may represent a division of the organisation by end-to-end process or department with separate reactions to the communication (like a fire alarm). Implementing without signal has similar problems to the above but the separate diagrams make the implementation and business models even harder to relate together. The link element is a candidate for solution here, but implementation is missing in Intalio. So we really need a full publish - subscribe service. RSS might be a practical solution to explore.<br /><br /><br /><h3>Conclusion</h3>There is a real need<br /><ol><li>for an implementation of signal events within tools that develop the executable from the BPMN model.</li><li>in the absence of the implementation of signal events, a well understood implementation method or pattern is required for each of the uses of signal.<br /></li></ol><br /></div><div style="text-align: left;"><br /></div></div></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-7524293669795691378?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-54128870618999859592009-02-17T09:25:00.001+13:002009-02-17T09:32:14.815+13:00Not a good law, not a good look for NZ<style type="text/css"> <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --> </style> <p style="margin-bottom: 0cm;"><br /></p> <br /><a href="http://creativefreedom.org.nz/blackout.html"><img src="http://creativefreedom.org.nz/library/black-out/banner-300x250.gif" alt="New Zealand's new Copyright Law presumes 'Guilt Upon Accusation' and will Cut Off Internet Connections without a trial. Join the black out protest against it!" style="border: 1px solid black"/></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-5412887061899985959?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-7141703941486293812009-02-16T14:59:00.001+13:002009-02-16T14:59:08.098+13:00Simulation<br><a title="Bruce Silver points out that business process tools do not do simulation" target="_blank" href="http://www.brsilver.com/wordpress/2009/02/15/making-simulation-useful/" id="pz50">Bruce Silver points out that business process tools do not do simulation</a> well or usefully and lists some features that should be present in the BPM toolset to facilitate simulation.<br>This would be great but a simpler approach is to use the much more mature pure simulation tools (like <a title="Simul8" target="_blank" href="http://www.simul8.com/" id="l2ny">Simul8</a> ). In that scenario, you can design your process using your favourite BPM modelling tool; transfer the model to the simulation tool adding the simulation properties and data; devise the optimal process under simulation and transfer the new model back to your process design tool.<img id="u40i" style="margin: 1em 1em 0pt 0pt; width: 380px; height: 235px; float: left;" src="http://docs.google.com/File?id=dffpw2t7_247dvkftrfz_b"><br>The overall approach is summarised by this diagram <a title="from Simul8" target="_blank" href="http://www.simul8.com/visio/" id="tea:">from Simul8</a> but any product that exposes its data structure could be used in the same way.<br>Having a <i>standard</i> BPMN schema would help the simulation product people assist. <br><br><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-714170394148629381?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-13980465346897606922009-02-11T10:21:00.005+13:002009-02-11T10:26:41.115+13:00Project management vs. process manage...Ayalew Kassahun raised an interesting question on the <a title="LinkedIn BP Group" target="_blank" href="http://www.linkedin.com/groups?gid=1062077&trk=anetsrch_name&goback=%2Egdr_1234298841929_1" id="bpkd">LinkedIn BP Group</a><br /><blockquote>For many it may be weird to imagine a world in which no distinction is<br />made between projects and processes. However, I think that every<br />process instance is a mini project. ... Just for sake of discussion I would suggest that it is more appropriate<br />to make no distinction between project and process management. In such<br />a world what will then be the consequences on management,<br />specifications and tools?<br /></blockquote><br />Firstly, I think that distinctions between process and project are hard to make outside the toolsets that attempt to specialise.<br /><br />My interest is in business process management toolsets and I have been following much of the discussion about BPMN, BPEL and how the process model should end up being 'executed'. I am convinced that there is a need for a specification of the process that endures from the business idea through to technical execution of an instance of the process.<br /><br />If we merge the concepts of process and project, I can see some real benefits in the process design world. For example, some analysis and modelling of the process can be done at the instance level rather than engineering a highly complex general model which attempts to deal with every possible eventuality. This alone has the benefits of redeucing impact of process design bottleneck and allows for a common way of dealing with business activities leading to common reporting, management. We would no longer have to treat activities differently if they were being handled through a PMO or through BAU.<br /><br />However, in the BPM world, the toolsets are not very mature and some radical rethinking would have to take place.<br /><br />Because the instance of a process/project could change during its life, then tools that do not have a tight relationship between model definition and execution will really struggle to deliver. The executing process will need to be changed through the business expression and not through some programmer intervention. So I would expect the run time BPM system to be executing a development of BPMN rather than a transformation in BPEL,JAVA or whatever.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-1398046534689760692?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-68992246699372755232009-02-11T10:21:00.001+13:002009-02-11T10:21:12.692+13:00Project management vs. process manage...<h1 class="q">Project management vs. process management</h1><br /> <br />Ayalew Kassahun raised an interesting question on the <a title="LinkedIn BP Group" target="_blank" href="http://www.linkedin.com/groups?gid=1062077&trk=anetsrch_name&goback=%2Egdr_1234298841929_1" id="bpkd">LinkedIn BP Group</a> <br><blockquote>For many it may be weird to imagine a world in which no distinction is<br />made between projects and processes. However, I think that every<br />process instance is a mini project. ... Just for sake of discussion I would suggest that it is more appropriate<br />to make no distinction between project and process management. In such<br />a world what will then be the consequences on management,<br />specifications and tools?<br></blockquote><br>Firstly, I think that distinctions between process and project are hard to make outside the toolsets that attempt to specialise.<br><br>My interest is in business process management toolsets and I have been following much of the discussion about BPMN, BPEL and how the process model should end up being 'executed'. I am convinced that there is a need for a specification of the process that endures from the business idea through to technical execution of an instance of the process.<br><br>If we merge the concepts of process and project, I can see some real benefits in the process design world. For example, some analysis and modelling of the process can be done at the instance level rather than engineering a highly complex general model which attempts to deal with every possible eventuality. This alone has the benefits of redeucing impact of process design bottleneck and allows for a common way of dealing with business activities leading to common reporting, management. We would no longer have to treat activities differently if they were being handled through a PMO or through BAU.<br><br>However, in the BPM world, the toolsets are not very mature and some radical rethinking would have to take place.<br><br>Because the instance of a process/project could change during its life, then tools that do not have a tight relationship between model definition and execution will really struggle to deliver. The executing process will need to be changed through the business expression and not through some programmer intervention. So I would expect the run time BPM system to be executing a development of BPMN rather than a transformation in BPEL,JAVA or whatever.<br><br><br><br><br><br><br><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-6899224669937275523?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-22786606744294023732009-02-09T14:10:00.001+13:002009-02-10T10:16:04.731+13:00BPMN - Hard to Code???<br><a title="http://www.brsilver.com/wordpress/2009/02/08/bpmn-semantics-vague-or-just-hard-to-code/" target="_blank" href="http://www.brsilver.com/wordpress/2009/02/08/bpmn-semantics-vague-or-just-hard-to-code/" id="pjd3">Bruce Silver continues the valuable discussion on BPMN semantics and challenges a perception that BPMN has vague semantics.</a> <br>In the example chosen,<img id="kr1c" style="margin: 1em 0pt 0pt 1em; width: 320px; height: 84.6222px; float: right;" src="http://docs.google.com/File?id=dffpw2t7_243c7fzfnfn_b"> I agree with Bruce that <br><ul><li>having flows from downstream activities BPMN is not best practice (in that it can lead to misunderstanding by the casual reader who may more be familiar with basic flowcharts)</li><li>there is only one reasonable interpretation of the <i>required</i> execution of the BPMN and therefore it is not an example of "vagueness".</li></ul><br>Looking at the definition of the Inclusive Gateway in <a title="http://www.omg.org/docs/formal/09-01-03.pdf" target="_blank" href="http://www.omg.org/docs/formal/09-01-03.pdf" id="eks7">BPMN 1.2</a> , I might accept a criticism that it is hard to read in English and may benefit from formalising. <br><br><span style="background-color: rgb(255, 217, 102);">9.5.3.2 Sequence Flow Connections<br>This section extends the basic Gateway Sequence Flow connection rules as defined in “Common Gateway Sequence Flow Connections” on page 72. See Section 8.4.1, “Sequence Flow Rules,” on page 30 for the entire set of objects and how they may be source or targets of Sequence Flow.<br></span><ul style="background-color: rgb(255, 217, 102);"><li>To define the inclusive nature of this Gateway’s behavior for converging Sequence Flow:</li></ul><span style="background-color: rgb(255, 217, 102);">If there are multiple incoming Sequence Flow, one or more of them will be used to continue the flow of the Process. That is, <br></span><ul style="margin-left: 40px; background-color: rgb(255, 217, 102);"><li>Process flow SHALL continue when the signals (Tokens) arrive from all of the incoming Sequence Flow that are expecting a signal based on the upstream structure of the Process (e.g., an upstream Inclusive Decision).</li></ul><ul style="background-color: rgb(255, 217, 102);"><ul><ul><li>Some of the incoming Sequence Flow will not have signals and the pattern of which Sequence Flow will have signals may change for different instantiations of the Process.</li></ul></ul></ul><span style="background-color: rgb(255, 217, 102);"><b>Note</b> – Incoming Sequence Flow that have a source that is a downstream activity (that is, is part of a loop) will be <i>treated differently than those that have an upstream source. They will be considered as part of a different set of Sequence Flow from those Sequence Flow that have a source that is an upstream activity</i> (my emphasis).</span><br><br>However it is clear from the phrase "... expecting a signal based on the upstream..." and the note in the section above that the inclusive gateway in the example has no (merge) function in the event that a sequence flow from the downstream exclusive gateway is processed. The token from the loop back is the only one that can be 'expected' at the inclusive gateway.<br><br>It will only be hard to code, if the developers have started from a point of view that each node (activity or gateway) can be transformed into an executable form (or executed directly) in isolation. The developer must consider the source of the signals (Tokens) and the structure of the process as a whole.<br><br><br><br><br><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-2278660674429402373?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com2tag:blogger.com,1999:blog-7023484431672164937.post-5372865981059647322009-01-29T16:16:00.002+13:002009-01-29T16:19:18.290+13:00BPM high-wire act<a title="Project Dogfood" target="_blank" href="http://itredux.com/2009/01/25/a-first-taste-of-dogfood/" id="rcsi">Intalio appears to be eating its own dogfood very publicly, and on a highwire.</a><br />I wish Ismael and his team well with this venture as it will demonstrate that armies of strange developer types are not the key to success in getting value from a business process-centric view of solution delivery.<br /><br />They are working with real business processes and have very quickly demonstrated two completely different approaches to BPM solutions with the same product.<br /><ul><li>A <a title="Diagram" target="_blank" href="http://www.intalio.com/wp-content/uploads/supportprocess.png" id="vw6b">Customer Support Process</a> is presented in the early stages of BPMN expression (Level 2??) and is full of clearly recognisable business steps (like 'assign to support team..'). </li><li>The <a title="Diagram" target="_blank" href="http://www.intalio.com/wp-content/uploads/marketingprocess.png" id="o3bu">Marketting Process</a> allows the process instance to be configured from a basic template at runtime rather than design time and the BPMN diagram is far more abstract. Perhaps there are some real developers around after all! </li></ul><br /><br />The template approach allows the business process to be finalised for each instance in a configuration table and should lead to a stable technical implementation without analysing the business process to death. In doing this, some of the benefits of BPM may be lost. If you look at an instance of the Marketting process through a reporting tool you will see that you are at Step N within a loop of Steps but with no real sense of flow. In contrast, looking at a customer support process instance will show where you are, and how you got there. Without wishing to fan the flames of the <i>executable BPMN v BPEL </i>debate, tailoring the pattern at the BPMN level and executing the result, retains the business-level communication of process requirement throughout the lifecycle.<br /><br />I look forward to seeing the final implementation.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-537286598105964732?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com3tag:blogger.com,1999:blog-7023484431672164937.post-57588854893382295672008-11-26T18:13:00.002+13:002008-11-27T09:52:36.391+13:00BPM is not Software EngineeringI agree with Keith Swenson that <a title="http://kswenson.wordpress.com/2008/11/25/bpm-is-not-software-engineering/" target="_blank" href="http://kswenson.wordpress.com/2008/11/25/bpm-is-not-software-engineering/" id="lmd7">BPM is not Software Engineering </a><br />However, I think that some of the arguments are a little broad. Ultimately we need to have software construction and business process design working toward the same set of goals in an organisation.<br /><br /><blockquote>Because business people do not have time to learn how to be a Software Engineer, a BPM system need to provide a representation of the process which is meaningful to a business person. It will have the aspects of the system that are important to them, and consequently it may not have some things that a Software Engineer would like. The diagram must not be cluttered by aspects which are “implementation oriented” as opposed to business oriented.<br /></blockquote><br />That is reasonable and familiar to anyone who has gone through the tortuous process of delivering software to meet a business need that is crystal clear in the head of the business person at the sharp end but leaves a whole lot of stuff for the developer to make up. Too often, the business requirements whether in a BPMN diagram or good old fashioned English paragraphs are missing simple things like what happens when the process does not work (business-wise rather than software crash).<br /><br /><blockquote>Once a business person draws a diagram, that is the diagram that is executed. It must not be transformed to a different form for the convenience of the Software Engineer.<br /></blockquote><br />This sounds good as well and is often used to rubbish the use of an established form of software solution as a means of delivery for the new method of expressing the business problem ... "Can't use BPEL because it does not look like BPMN" . This misses one good reason for using transformations or compilations of one logical specification into another, progressively until we end up with instructions for the hardware ... at each level of transformation considerable work has been done to ensure that the forms of expressions are formally correct.<br />In practice, I think it is sufficient for the business person to draw the diagram defining the process and for all the elements of the diagram to be visible in the execution regardless of transform. So if you freeze the action of an execution, the business person would be able to see that there are instances of processes in play; the current state of any instance can be related to the processing state of activities etc.<br /><br /><blockquote>The history and analytic reports need to match the original diagram to support the business user in evaluating the performance of the organization, not for the programmer to tell how well the program is running.<br /></blockquote>Exactly!<br /><br /><blockquote>By attempting to include all the Software Engineering features in with the BPM (business person) features, the result can be something that is not useful for either. You have people today still believing that BPEL is the ultimate way to implement business processes. BPEL only provides a way to send, receive, and transform — these are Software Engineering requirements, not business requirements. A Software Engineer will tell you that with these primitives you can implement anything, probably even a spreadsheet, but that misses the whole point about why we have spreadsheets and BPM in the first place: because they are not Software Engineering.<br /></blockquote><br />While BPEL is not the most capable of languages it does have the merit of having a clear specification of how it should execute. In the same way as a spreadsheet program can be seen as a presentation or interaction layer for a particular class of user connected to a backend computational engine which is tried and tested, a business process diagramming tool with a BPMN or similar presentation form can be implemented through connection to a tried and tested executable engine. If that can be BPEL, who cares?<br /><br />The problem really arises when the software engineer escapes from the cubical and starts expressing the business process requirements in BPEL and then translating that into a subset of BPMN (for example, with no backward flows) because it can be done.<br /><br />It really is not helpful to end up with the business process definitions being done in the closed world of "IT" because only <i>they</i> could possibly understand the limitations and technicalities of the "system".<br /><br />Business process designers (who should not be a specialist breed) need to be able to express the activities, flows, events and decisions of a business process in a way that makes sense to them and the <a title="http://en.wikipedia.org/wiki/The_man_on_the_Clapham_omnibus" target="_blank" href="http://en.wikipedia.org/wiki/The_man_on_the_Clapham_omnibus" id="sj9j">proverbial man on the Clapham omnibus</a> . This means that backward flows, arbitrary cycles, synchronising activities across the process all need to be allowed.<br /><br />If a software specialist following extensive training and principles in the dark arts of software engineering can create executable code from this business process diagram, then it will be a small step to create software that replaces the software engineer in the development process. At present, in the BPMN/BPEL debate the proponents of BPEL as an intermediate step between BPMN and execution seem short of the patterns that demonstrate that everything that can be expressed in BPMN can be executed in BPEL. Similarly, the proponents of directly executable BPMN are short of the formal definition of the execution rules associated with BPMN patterns.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-5758885489338229567?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com2tag:blogger.com,1999:blog-7023484431672164937.post-74178368282924611682008-11-19T16:59:00.005+13:002008-11-20T20:54:28.195+13:00Executable BPMN via BPELIn a short burst of discussion about whether BPEL was a viable execution mechanism for BPMN, <a title="http://www.infoq.com/articles/bpelbpm" target="_blank" href="http://www.infoq.com/articles/bpelbpm" id="dpiw">Keith Swenson provided an excellent example</a> of a valid BPMN expression that could not be expressed directly in BPEL with a follow up in his blog showing that the BPMN could be directly executed using his product.<br /><br /><div id="kos4" style="padding: 1em; text-align: center;"><a href="http://docs.google.com/File?id=dffpw2t7_205dv5bbsdt_b" target="_blank"><img style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_205dv5bbsdt_b" /></a></div>This was followed up by a spirited exchange between factions with assertions that BPEL could indeed express the business process but no definitive BPEL as far as I can tell. Alex Boisvert acknowledged a bug in the BPEL produced by Intalio Designer v5.2 but unfortunately did not describe the code that should have been produced. [[Update:<update: href="http://www.activevos.com/cec/primers/content/e_ActiveVOS%20Modeling%20and%20Documenting/6%20-%20Advanced%20Level%20-%20BPMN%20BPEL%20Mapping%20and%20Roundtrip%20Engineering.pps">ActiveVOS <a href="http://www.activevos.com/cec/primers/content/e_ActiveVOS%20Modeling%20and%20Documenting/6%20-%20Advanced%20Level%20-%20BPMN%20BPEL%20Mapping%20and%20Roundtrip%20Engineering.pps">provides an answer</a> in its tutorial material ]]<br /><br />However, the BPMN 1.1 specification provides a couple of items for thinking around this problem.<br /><p>The use of a new signal element to provide synchronisation behaviour across processes covers exactly the intent of Keith's example.</p><blockquote><span style="font-size:78%;">There may be situations within a Process where the flow is affected by or dependent on the activity that occurs in another<br />Process. These events or conditions can be referred to as milestones. The process model must be able to identify and react<br />to the milestone.That is, the continuation of a Process may be triggered by Signal Events, which pass the flow between<br />processes (see Figure 10.48 reproduced below). The type of Workflow Pattern called a Milestone.</span><br /></blockquote><div id="xo1_" style="padding: 1em; text-align: center;"><img style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_207hfxpczcg_b" /><br /><br /><br /></div><div style="text-align: left;">In para 10.2.1.11 <i>Avoiding Illegal Models and Unexpected Behavior</i> of the BPMN specification, the authors touch on the root cause of the issue.<br /><blockquote><span style="font-size:78%;">The situation where alternative paths cross the implicit boundary of a group of parallel paths can cause an invalid model.</span><br /><br /></blockquote>If there is to be a future for BPMN to BPEL, we need an indication of what transformation needs to be done to otherwise valid BPMN to produce the intended executable.<br /><br />The use of BPMN signal elements suggests that the bright people at Intalio could replace the doubtful synchronisation with whatever mechanism they are going to employ to implement signal intermediate events (not implemented in v5.2!). That is, implement it as though the BPMN looks like this ...<br /><br /><div id="wqq1" style="padding: 1em; text-align: center;"><img style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_208gvdkr68c_b" /><br /><div style="text-align: left;">This then gives us a manual work around until the transformation rules can be codified into the product.<br /></div></div>Which raises the question ... does the catch event need to be reached before the throw can be effective? Should I draw the BPMN like this? ...<br /><br /><div id="u:xm" style="padding: 1em; text-align: center;"><img style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_209d7j45zgt_b" /></div><br /><br /><br /></div><br /><br /><br /><img src="http://www.blogger.com/post-edit.g?blogID=7023484431672164937&postID=7417836828292461168" alt="" /></update:><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-7417836828292461168?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-77372499326411274022008-10-28T10:27:00.002+13:002008-10-28T10:29:08.689+13:00Executable BPMN call for action<div>In <a title="http://itredux.com/2008/10/26/bpmiorg-redux/" target="_blank" href="http://itredux.com/2008/10/26/bpmiorg-redux/" id="edz1">BPMI.org Redux</a> Ismael Ghalimi of <a title="http://www.intalio.com/" target="_blank" href="http://www.intalio.com/" id="jb2h">Intalio</a> calls for participation in a group to sort out a true executable BPMN. The tentatively titled <a title="http://www.bpmlab.org/" target="_blank" href="http://www.bpmlab.org/" id="q8ty">BPMNLab</a> looks to be a good practical approach to the issues.<br /><ul><li>What consitututes executable BPMN?</li><li>Are there <i>useful</i> BPMN flow patterns that cannot be translated into WS-BPEL? If so, how are they best dealt with to produce an executable?</li></ul>After what has been a bit of sniping from the sidelines on my part, I would be happy to be involved in this effort.<br /></div> <div>The transformation to BPEL approach seems to me pretty sound. Here is a working language definition appropriate for the BPM domain that is capable of withstanding rigorous assurance testing. Why attempt to define another?<br /><br />A few BPMN constructs may produce really ugly BPEL code, but who cares except for a few developers in Intalio and the like who have to develop the transformation code. The last thing that anyone in the real world should be doing is fiddling with the generated code. I am reminded of a very successful Unisys product LINC which developed totally unreadable and arguably inefficient COBOL code. In years of use, we had no more reason to look at the generated intermediate COBOL than the final machine level code.<br /><br /><br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-7737249932641127402?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-73875859674798042722008-10-26T09:22:00.003+13:002008-10-28T10:31:03.724+13:00Comply with the specification for BPMNBruce Silver in <a href="http://www.brsilver.com/wordpress/2008/10/25/bpmn-bpel-in-perspective/" id="nuz9" target="_blank" title="http://www.brsilver.com/wordpress/2008/10/25/bpmn-bpel-in-perspective/">BPMN-BPEL in Perspective</a> responds to the same article as I did <a title="http://davethinkingaloud.blogspot.com/2008/10/to-bpel-or-not-to-bpel.html" target="_blank" href="http://davethinkingaloud.blogspot.com/2008/10/to-bpel-or-not-to-bpel.html" id="hfqi">here</a> and raises the issue of compliance.<br /><br /><blockquote>OMG could define a compliance spec for BPMN 2.0 - the elements,<br />attributes, and flow patterns that MUST be supported to claim BPMN<br />support. They have made some murky noises about it, but I haven’t seen<br />anything concrete yet. Since IBM and Oracle are driving the bus there,<br />it would make sense that that subset would have a defined mapping to<br />BPEL, but it would allow non-BPEL engines to be compliant as well. <p>That would be a healthy thing for the industry. But I’m not holding my breath.</p></blockquote><br /><br />I may be more used to specifications for computer languages (like FORTRAN, COBOL) than business process but I suggest that the specification for BPMN 2.0 itself should be what vendors comply with and not a separate compliance statement. Compliance statements from vendors will then effectively state what they have not achieved (yet). Purchasers and consultants can then judge whether the level of compliance of a particular product is sufficient for there purpose.<br /><br />As BPMN is unlikely to stop at 2.0, a really supportive vendor should not only be compliant with the currently approved specification but also support proposals for future versions, so that practitioners can work with the new ideas while they work through the acceptance process of a standard.<br /><br />Execution is a different issue. A vendor could opt for a BPEL execution engine (as Intalio uses at present) and reflect that decision by flagging bits of the model as not-executable. An organisation working from the compliant BPMN model could than decide on a method for implementation ...<br /><ul><li>use a tool that will generate an executable directly from the model, or<br /></li><li>hand the model to an IT developer as a requirement specification</li></ul>I will be looking for solutions in the first category but we must not lose sight of the fact that a vast number of organisations like to keep a developer shop and consultants busy re-inventing processes in Java or whatever language is the flavour of the month.<br /><br />Even for Intalio, the execution engine could be replaced by something easier to map to BPMN without changing the user view.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-7387585967479804272?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-36627826957961861182008-10-25T17:30:00.002+13:002008-10-25T17:34:19.642+13:00To BPEL or not to BPELIn <a title="http://www.infoq.com/articles/bpelbpm" target="_blank" href="http://www.infoq.com/articles/bpelbpm" id="yfuc">Why BPEL is not the holy grail for BPM,</a> Pierre Vigneras thoroughly covers the issues of using BPEL as the implementation layer of a business process solution. From the article conclusions ...<br /><div><blockquote><ul><li>Therefore, we consider BPMN notation as the only currently viable solution for Business Analysts</li><li>Transformation from BPMN to (readable) BPEL is quite hard to implement, and produces --- when correct --- hardly readable code.</li><li>Therefore, we may wonder why BPMN is transformed to BPEL since there<br />exist a graph-based standard that maps directly BPMN constructs ---<br />namely XPDL v2.0</li><li>Of course, one may claim that XPDL 2.0 lacks some execution specifications that makes him <i>(sic)</i> unsuitable for direct execution.</li></ul></blockquote><br />Although I am generally a fan of Intalio, Pierre provides a good example of the problems they get when BPMN is used as though it is a convenient graphical expression for BPEL. In particular, a <i>real business analyst</i> can express the process in valid BPMN which is then transformed by Intalio into BPEL which bears little relation to the designer's intention. Worse, the Intalio developers have removed valid BPMN constructs<gdoc:callout calloutshowfull="true" calloutclosed="false" calloutmarkerid="lvw8" callouttype="footnote" class="writely-callout writely-callout-data google_footnote" id="p0:b" name="gdoccallout"> </gdoc:callout> from the business analyst, probably because they do not readily fit with the BPEL implementation. To add insult to injury, there is a general impression that if your valid BPMN does not work, you must have designed your process against some mystic best practice rather than expressed real business events and activities.<br /><br />I am less concerned about the round-trip issue. If the BPMN is transformed by a product into an execution language which then remains untouched by human developer hand why we should care about the readability of that executable code? The answer is that the maturity of product development in BPM does not give users much faith that the generated code will do what we expect.<br /><br />If we concentrate on developing BPMN into <i>the</i> way of real business analysts express the business processes and assume an automatic transform into a executable, the choice of implementation paths is only of concern to product developers. Out in the real world we can judge their products by the ease with which we can describe the processes that we find (as-is) and design (to-be).<br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-3662782695796186118?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com5tag:blogger.com,1999:blog-7023484431672164937.post-69222651856116151262008-09-20T10:12:00.002+12:002008-10-14T15:01:34.346+13:00BPMN Modeler Eclipse Sub-project<a title="http://www.eclipse.org/proposals/bpmn-modeler/" target="_blank" href="http://www.eclipse.org/proposals/bpmn-modeler/" id="k.gu">Intalio has announced a move to raise the status of the BPMN Modeler component</a> to<br />a sub-project under the top level project <a href="http://www.eclipse.org/stp/">Eclipse SOA Tools<br />Platform (STP)</a>.<br /><br /><blockquote>The BPMN sub-project will focus on building an usable and extensible<br />graphical modeler by leveraging the tools provided by the Graphical<br />Modeling Framework and the EMF Validation Framework.<br /><ul><li> Provide a first class user experience when it comes to designing processes, using graphical assistants.</li><li> Provide a graphical notation according to the BPMN standard.</li><li> Provide ways to extend the modeler to integrate it within commercial products.</li></ul></blockquote>Great stuff.<br />Let us avoid the situation where people describing <i>their view</i> of the real world are constrained by a developer's pain of how the real world <i>may</i> have to be transformed into code.<br />I would really like to see a mandate to allow modelling in line with major proposals in BPMN rather than limited to published specifications. This seems to be a real benefit of extensibility. Perhaps it is a bit late for BPMN 2.0 but it would be good to be able to explore major changes within the normal modelling toolset.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-6922265185611615126?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com2tag:blogger.com,1999:blog-7023484431672164937.post-63172711691718316602008-09-17T12:34:00.001+12:002008-09-17T12:36:20.962+12:00Adventures in BPMN?<div> <br /><br /><br /><a title="http://www.ebizq.net/blogs/it_directions/archives/2008/09/keiths_adventur.php" target="_blank" href="http://www.ebizq.net/blogs/it_directions/archives/2008/09/keiths_adventur.php" id="xazy">Keith Harrison-Broninski is undertaking an adventure in BPMN</a> to demonstrate its shortcomings and to promote an alternative approach to descibing business processes.<br /><br /></div><blockquote>... I will take simple scenarios drawn from everyday knowledge work and<br />show how BPMN cannot express these situations. I will also show how<br />easy they are to express in the Human Interaction Management notation ...<br /></blockquote>Unfortunately, he chooses to ignore the rules and semantics of BPMN (it is not just a set of Visio shapes) and so detracts from his argument. There are plenty of issues with using BPMN but a good starting point is to use what is there at BPMN 1.1 correctly. For clarity, I have reproduced the offending diagram below:<br /><br /><div id="mvst" style="padding: 1em 0pt; text-align: left;"><img style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_182dzdpbwdt_b" /></div>This diagram shows the following incorrect BPMN expressions<br /><ul><li>Messages (dashed arrows) originating at gateways</li><li>Messages between activities in a POOL (the saleperson, technical consultant amd account manager are LANES)</li><li>Use of message as a sequence flow</li><li>Loops</li></ul><br />I think that the BPMN that expresses the ideas behind Keith's drawing is:<br /><br /><div id="wbqi" style="padding: 1em 0pt; text-align: left;"><img style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_183hnsj7mdh_b" /></div>Note that the loops continue (perhaps indefinitely) while the proposal is not OK.<br /><br />Keith asks a number of questions that purport to show that BPMN is inadequate for his purpose<br /><blockquote>What are the goals responsibilities of each player?<br /><br />How can the salesperson know what the others are looking for?<br /><br />etc<br /></blockquote><br />None of these questions are relevant to the business process and the purpose of BPMN. Overloading an expression of sequence, orchestration and choreography with specification of the activities, policies and human interactions will confuse rather than communicate. There are plenty of other modelling artifacts that can be employed in an enterprise architecture to complete the picture.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-6317271169171831660?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-44160820114213068842008-09-12T11:06:00.003+12:002008-09-12T16:48:34.021+12:00Modelling Timer Interrupt in BPMN Modelling Timer Interrupt in BPMN<br><br>Real-life processes are often limited by time and exception paths are taken when "Time's Up". The rich notation of BPMN provides for this. The <a title="http://www.omg.org/spec/BPMN/1.1" target="_blank" href="http://www.omg.org/spec/BPMN/1.1" id="gv8i">BPMN 1.1 specification</a> provides an example from Voting operations.<br><br><div id="gwa7" style="padding: 1em; text-align: center;"><img style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_1777r2qkvcn_b"></div>The normal sequence flow and error flow from "Moderate E-mail Discussion" in this case are merged into the subsequent activities but it is easy to imagine circumstances where the subsequent activities were not identical.<br><br>Modelling this in BPMN using <a title="www.intalio.org" target="_blank" href="http://www.intalio.org/" id="nx63">Intalio</a> immediately presents a problem because error flows are not permitted to go anywhere beyond the error handler activity which may be a Sub-Process. (This is a compliance issue in Intalio v <a title="http://www.omg.org/spec/BPMN/1.1" target="_blank" href="http://www.omg.org/spec/BPMN/1.1" id="thm6">BPMN 1.1 specification</a> ). <br><br>A further issue is that, in Intalio, the timer itself does not interrupt the activity within the sub-process. That is when the timer event is triggered, the error flow is executed and the activities within the subprocess continue.<br>This is counter-intuitive and inconsistent with the implementation of the intermediate error event so is probably a bug. The BPMN 1.1 specification (10.2.2) only requires the error flow to be started, there is no clear direction as to the operation of the normal sequence flow. As a workaround in Intalio, to interrupt the flow within a subprocess by a timer, a fault has to be raised in the error-flow. To avoid that fault stopping the whole process, it has to be trapped and handled within the process (at an outer scope or subprocess boundary). <span style="color: rgb(194, 123, 160);">How do other BPMN products treat the timer?</span><br><br>An explicit example of this is shown below. If the timer expires for the sub-process <i>timed exec</i> then execution is halted by the error end event in the error flow handler. This error end event is processed by the error handler activity fault in the outer subprocess.<br><div id="q.j6" style="padding: 1em; text-align: center;"><div id="fyox" style="padding: 1em; text-align: center;"><div id="jdim" style="padding: 1em; text-align: center;"><img style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_180hqjsq6cr_b"></div><div style="text-align: left;"><a title="http://bpms.intalio.com/forums/general-questions/re-bpmn-spec.-implemantation/view-54.html" target="_blank" href="http://bpms.intalio.com/forums/general-questions/re-bpmn-spec.-implemantation/view-54.html" id="mgsl">This example is available as a complete Intalio project on the community forum</a> <br></div></div><br></div><br><br><br><br><br><br><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-4416082011421306884?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com5tag:blogger.com,1999:blog-7023484431672164937.post-26173130417288932142008-08-22T15:21:00.001+12:002008-08-22T15:26:33.805+12:00Business Process Management (BPM) delivered by Software As A Service (SAAS)In <a title="http://www.bpminstitute.org/articles/article/article/bpm-saas-is-here-is-it-a-storm-cloud-for-it.html" target="_blank" href="http://www.bpminstitute.org/articles/article/article/bpm-saas-is-here-is-it-a-storm-cloud-for-it.html" id="eouy">BPM SAAS Is Here - Is It a Storm Cloud For IT?</a> , Wolf Rivkin suggests that the traditional Enterprise IT faces a challenge from a BPM-centric architecture of clouds. As with all future-state architectural views the model <a title="http://www.bpminstitute.org/images/contributors/rivkin_0808_fig3.jpg" target="_blank" href="http://www.bpminstitute.org/images/contributors/rivkin_0808_fig3.jpg" id="umh3">(link included here because it is difficult to find in original article)</a> is tantalisingly simple and well ordered especially when compared with the rats-nest of current state architecture that we are all familiar with. A picture is painted of business-oriented services (CRM and the like); Data-centric services (Master Data, Warehouse etc) and BPM being utilised from cloud-space rather than neatly locked in the realm of corporate IT. Agility in business operations is supported by expression of Business Process and Business Rules. There are a few impediments to selling this idea. <ul id="x9jp2"><li id="x9jp3">The rats-nest <i id="azpw">current state</i> is the start point and cannot be removed with a wave of the wand. Multiple <i id="azpw0">future states</i> will have to interact with variants of the current state architecture. So the future state is in fact more complicated than the current for the foreseeable future.</li><li id="b6n4">Although all the pieces of the future cloud architecture can be seen today, the interconnection of them is not a mature concept. How for instance is the customer data supporting CRM utilised from an unrelated cloud datastore?</li><li id="oqb4">Systems that enable the business process should be highly resilient. If a back office accounting system fails or is unavailable the impact on business is minimal but if a BPMS is controlling your business activities, <b id="xt_l">no BPMS = no business</b>. Simple events like Google's GMAIL failure illustrate the potential for stuffing up your business life.</li><li id="gv4u">Some business services may already exist and be valued in the current enterprise IT. Making an ERP installation operate peer to peer with an external cloud may be seen as a lot of unproductive work by an in-house IT shop.</li></ul> That said, I would really like to work on solving the issues.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-2617313041728893214?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-4658759665192108062008-08-07T11:07:00.003+12:002008-08-07T11:22:31.615+12:00Snapper Privacy<a href="http://halfpie.net/article/818/snapper-what-about-privacy-again">A thoughtful post</a> from <span class="vcard author"><span class="fn">Alan Macdougall </span></span>on the privacy implications associated with the 'low value' Snapper used for transport and other payments in Wellington.<br />Aside from trusting the bus company (and whoever they want to share it with) with your personal data. You may also end up sharing information with people with really bad reputations as in the recent <a href="http://www.stuff.co.nz/4641791a28.html">TradeMe case</a> where transaction data was provided to a prisoner as a result of police action.<br />Creating a false identity to avoid linking a trail of your movements directly to you is actually against the terms of use of the device<br /><blockquote>...When you order a Card, you must: provide all required information (and <span style="font-weight: bold;">you must ensure that such information is complete and correct</span>)....</blockquote><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-465875966519210806?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-87505837875843017032008-08-07T09:18:00.002+12:002008-08-07T09:23:46.576+12:00Intalio 5.2 Available<a href="http://bpms.intalio.com/files/resources/demos/ServicesAndPeopleOrchestration/">Check out the tutoria</a>l and get the <a href="http://www.intalio.com/products/intaliobpms-52-whats-new/">lastest version</a> of Intalio which irons out some of the kinks.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-8750583787584301703?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-32607619471002502012008-08-06T09:26:00.003+12:002008-08-06T10:23:21.953+12:00Business Process Failures (2)In <a title="http://davethinkingaloud.blogspot.com/2008/07/business-process-failures-examples-of.html" target="_blank" href="http://davethinkingaloud.blogspot.com/2008/07/business-process-failures-examples-of.html" id="jq0m">Business Process Failures</a>, I described my learning experience with failure and compensation in BPMN. The smart people at Intalio are nearly there with BPMN and transformation into BPEL and <a href="http://bpms.intalio.com/forums/intalio-bpms-5.2-beta/compensation-error-handling/view-4.html">provided a solution</a> to my problems with Bruce Silver's original example. I started with this view of the business process: <div id="w:g:" style="padding: 1em; text-align: center;"><a id="ybdl" href="http://docs.google.com/File?id=dffpw2t7_161cstpf9fn_b" target="_blank"><img id="ybdl0" style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_161cstpf9fn_b" /></a></div> Note the use of a compensation end event and compensation activity associated with Book Hotel.<br />The <i id="m4no">compensation end event</i> can be read as "a business failure has occurred within the scope of the enclosing sub-process, go and do any necessary compensating activities for work that has been completed.<br />The <i id="lkwv1">compensation activity</i> associated with book hotel does all that is necessary to undo the booking in the business sense. It is <i id="zx22">not</i> a roll-back in the IT or database sense.<br />To get this to work in Intalio (5.2 Beta) we have to make some allowances for the incomplete implementation of compensation but the original is still recognisable. <div id="fmd9" style="padding: 1em; text-align: center;"><img id="yz_." style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_160c6dm4sdv_b" /></div> In this representation (which generates executable BPEL), the failure of the Book Air subprocess is represented by a simple failure end event to be trapped by an intermediate failure event on a containing subprocess. In this case, the error handler for failure is in the outermost subprocess.<br /><br />The exception flow is directed into a compensation end event and this forces any eligible compensation activities to be executed. If there are other actions that should be done by the error handler, the compensation end event can be placed inside a subprocess. There is currently a restriction that prevents the exception flow from having more than one symbol (task, subprocess, end event).<br />BPMN allows for the compensation end event to specify a target activity or to apply compensation to all eligible sub-processes. Intalio implements these alternatives.<br />It is definitely worth thinking about patterns of business process and workflow before letting the business analysts loose with BPMN tools. Using implementable patterns will save time resolving syntax problems in every business process definition.<br />Intalio is well on the way to a practical implementation of BPMN compensation. It would be an advance if all valid BPMN could be drawn (regardless of the capability of translation into BPEL) and those bits that will not be executable flagged at design stage. At present, there is an unhappy combination of illogical BPEL and correct BPMN not being permitted.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-3260761947100250201?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-9620868256240798132008-07-29T09:28:00.004+12:002008-07-29T09:44:47.344+12:00Dates and Calendars<a href="http://work.miramarmike.co.nz/2008/07/make-your-public-event-calendar-usable.html">Mike makes a plea for publishing calendars</a> in i-cal format or specifically in Google Calendar. I agree and suggest that owners of calendar information (governments, local authorities, boards) take some care when getting their information 'out there'.<br /><a href="http://davethinkingaloud.blogspot.com/2008/04/parsing-calendar-entries-john-udell.html">I followed up Jon Udell on this subject</a> and noted that Google's Calendar API makes a good effort at parsing all but the most obscure presentations of event information. If you do publish event details on the web, make it easy for your audience to capture the information into their calendar. You can be really helpful by adding a <a href="http://www.google.com/googlecalendar/event_publisher_guide.html">specific Google Calendar button for the event. </a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-962086825624079813?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0tag:blogger.com,1999:blog-7023484431672164937.post-2714759048195684322008-07-27T17:40:00.002+12:002008-07-30T11:03:45.785+12:00Business Process FailuresBusiness Process Failures Examples of business processes that cover the 'normal path' abound and I often come across organisations that will present completed requirement specifications that pay scant regard for exception conditions leaving it to some IT practitioner to make it all up. This may not matter when the computer systems are recording what has happened in business processes after the event, but when there is a BPMS facilitating the end to end process, leaving the exception flows to the end is a risky approach. You are likely to end up with the business operation grinding to a halt. <div id="o7i8" style="padding: 1em 0pt; text-align: left;"><a id="w:w4" target="_blank" href="http://docs.google.com/File?id=dffpw2t7_144dz24fcw8_b"><img style="width: 510px; height: 161px;" id="s6gp" src="http://docs.google.com/File?id=dffpw2t7_144dz24fcw8_b" /></a></div><a title="http://www.brsilver.com/wordpress/2006/09/08/can-business-analysts-model-exception-handling/" target="_blank" href="http://www.brsilver.com/wordpress/2006/09/08/can-business-analysts-model-exception-handling/" id="ny6f">Bruce Silver provided this useful example</a> of the ease with which the business semantics involved in exceptions can be expressed formally in BPMN. This shows a requirement to undo a hotel booking if the corresponding flight cannot be booked. I loaded this into a BPMN tool (Intalio) to confirm that this fitted with BPMN1.1 and had an executable solution in BPEL. Intalio generates BPEL from the BPMN diagram. To allow it to be executed, I added the Initiator pool which causes a simple UI to be generated for the start of the process. <div id="ygo8" style="padding: 1em; text-align: center;"><img id="ye4x" style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_145d2n93pdw_b" /></div> Unfortunately, at Intalio 5.2 Beta, the "end no flight" compensation end event is flagged as an error "The compensation activity can only be used in an exception flow". I modified the original further, putting the test for success in booking the flight into the subprocess Book Air. This seems a reasonable view of the real life business situation as well. <div id="pvb4" style="padding: 1em; text-align: center;"><img id="e-id" style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_150hcttr2c7_b" /></div> <div id="tuhr" style="padding: 1em; text-align: center;"> </div>That did not work either. Perhaps I have misunderstood the meaning of the compensation end event. Looking at some <a title="http://bpms.intalio.com/reference-guides/intalio-bpms-designer-users-guide-working-with-failure-and-exceptions.html#wp1002123" target="_blank" href="http://bpms.intalio.com/reference-guides/intalio-bpms-designer-users-guide-working-with-failure-and-exceptions.html#wp1002123" id="r7eo">Intalio Reference information</a> the compensation end event is not mentioned, so how about simply failing the subprocess and not trapping the failure. <div id="ut_-" style="padding: 1em 0pt; text-align: left;"><div id="w8er" style="padding: 1em; text-align: center;"><img id="mela" style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_148ckcc7dck_b" /></div> </div> That does the compensation cancel Hotel on failure of sub-process Book Air, <b id="vlej">BUT</b> the process fails and the Confirmation task is not executed! Fair enough, there is no handling specified for failure ( I was limiting the changes made to locate the thing that was stopping the compensation). Now add a failure handler on the outer sub-process. I was glad I had one of those, because Intalio does not allow you to put a subprocess around existing elements and I would have had to start again! <div id="d..9" style="padding: 1em 0pt; text-align: left;"><div id="sz_i" style="padding: 1em; text-align: center;"><img id="w8lc" style="width: 100%;" src="http://docs.google.com/File?id=dffpw2t7_151dcrxnhd5_b" /></div> </div><div id="phyy" style="padding: 1em; text-align: center;"> </div> Surprisingly that stopped both the failure and the compensation action! HELP!<br />[Update: This relates to a <a href="http://bpms.intalio.com/forums/bpmn-and-designer/compensation-how-to-signal-business-need-for/view.html#15218">post on the Intalio forum</a>]<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-271475904819568432?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com1tag:blogger.com,1999:blog-7023484431672164937.post-89444571124864438352008-07-21T17:02:00.001+12:002008-07-21T17:05:46.346+12:00Where do we get our reusable services from?<div id="vjur">With an emphasis on process design first, we do have an opportunity to realise the much vaunted <i id="m0vl">reuse</i> of IT components but not if the expectation is that IT will engage with a process diagram and infer all sorts of things about the future of the business. Definition of services belongs out in the business world (this is what we need the service to deliver) not in the builders yard of the IT engineer. In <a title="http://www.rickgeneva.com/wp/?p=10" target="_blank" href="http://www.rickgeneva.com/wp/?p=10" id="v_7o">What does SOA mean for the process modeling world? Rick Geneva wrote</a> <div id="qz:2" style="margin-left: 40px;">In a SOA system, certain parts and pieces are offered as a service to the entire organization. The role of the IT engineer shifts slightly to where their primary responsibility is to create services, and reuse existing assets before purchasing or building new ones. If a service is needed that doesn’t already exist, the first step is to determine if the organization already has a system that performs a similar function. If so, then there are ways to expose an operation (activity) as a service with minimal impact to the surrounding IT environment. </div>This is all true but it is going a bit far to suggest that when presented with this abstract of a process diagram (from Rick's post) </div> <div id="vjur0"><div id="i3v8" style="padding: 1em 0pt; text-align: left;"><a id="vm5f" target="_blank" href="http://docs.google.com/File?id=dffpw2t7_138gz4pxnf6_b"><img id="rzex" style="width: 399px; height: 180px;" src="http://docs.google.com/File?id=dffpw2t7_138gz4pxnf6_b" /></a></div> the IT team should immediately think of providing as Rick suggests ... <div id="n:xo0" style="margin-left: 40px;">1) The request router. 2) the lookup manager service. The lookup manager service would probably be not be directly used by the process. Instead, we would use the lookup manager service as part of the request router. The request router would most likely be created as a generic service that could also handle the manager response. </div><div id="vjur2">Implicit in the use of this type of model as a specification of requirements is an understanding of message handling. Routing messages should certainly be part of a generic implementation (in a BPMS solution perhaps) but hardly considered in a single business process. The process analyst is, at best, defining a requirement for a service that will satisfy the Lookup Manager activity in terms of the data available in <i id="v3kd">Receive Request</i> and required in <i id="v3kd0">Route to Manager</i>. <div id="qs1s" style="padding: 1em 0pt; text-align: left;">A better approach may be for the process analyst to signal the requirement for a more abstract and generally applicable service by renaming <i id="b0vc">Lookup Manager</i> to <i id="b0vc0">Apply Business Rules for Routing Message</i>. </div> <div id="lvzq" style="padding: 1em 0pt; text-align: left;"> </div> </div> </div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7023484431672164937-8944457112486443835?l=davethinkingaloud.blogspot.com'/></div>David Frenchhttp://www.blogger.com/profile/09850658569729205096noreply@blogger.com0