<?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>Alles Over EIM &#187; Business Process Management</title>
	<atom:link href="http://www.allesovereim.nl/tag/business-process-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.allesovereim.nl</link>
	<description>Enterprise Information Management</description>
	<lastBuildDate>Mon, 16 Jan 2012 14:40:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Activiti, the enterprise grade open source BPM promise</title>
		<link>http://www.allesovereim.nl/2010/11/activiti-the-enterprise-grade-open-source-bpm-promise/</link>
		<comments>http://www.allesovereim.nl/2010/11/activiti-the-enterprise-grade-open-source-bpm-promise/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 21:56:49 +0000</pubDate>
		<dc:creator>tjarda.peelen</dc:creator>
				<category><![CDATA[Techniek]]></category>
		<category><![CDATA[alfresco]]></category>
		<category><![CDATA[Business Process Management]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.allesovereim.nl/?p=330</guid>
		<description><![CDATA[(Find the Dutch version in this article) (Find the Spanish version in this article) Some time ago, Alfresco, Signavio and Camunda started Activiti, an open source alternative for enterprise BPM. The first question that crossed my mind was &#8220;why a new BPM engine”? Basically, there are some reservations about the jBPM Alfresco implementation in the [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>(Find the Dutch version in <a href="http://www.allesovereim.nl/2010/11/activiti-de-enterprisewaardige-open-source-bpm-belofte/" target="_self">this article</a>)<br />
(Find the Spanish version in <a href="http://blyx.com/2010/11/03/activiti-bpm-la-promesa-del-software-libre-empresarial/" target="_blank">this article</a>)</p>
<p><span id="more-330"></span></p>
<p>Some time ago, <a href="http://www.alfresco.com/" target="_blank">Alfresco</a>, <a href="http://signavio.com/" target="_blank">Signavio</a> and <a href="http://www.camunda.com/" target="_blank">Camunda</a> started <a href="http://activiti.org" target="_blank">Activiti</a>, an open source alternative for enterprise BPM. The</p>
<p>first question that crossed my mind was &#8220;why a new BPM engine”? Basically, there are some reservations about the jBPM Alfresco implementation in the areas of developing and controlling processes. Alfresco had more reasons to reconsider an (embedded) BPM engine. There are customer considerations against limitations to the <a href="http://www.gnu.org/copyleft/lesser.txt" target="_blank">LGPL</a> license (or the perception thereof) which is why the Activiti project is developed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache 2</a> license.</p>
<p><strong>Vision</strong></p>
<p><strong> </strong>JBPM is a ‘technically oriented&#8217; BPM engine. The Activiti project’s vision is that it should be a lightweight engine, easy to use (for Java developers) and that ‘workflow’ <em>could </em>also <em>be </em>social. Remind the <em>could be</em>. The Activiti project does not prescribe how an organization should use BPM, but  it wants to facilitate collaborating around the business process.<br />
Traditionally, the development of (business) processes is the &#8216;analysts&#8217; domain. This role develops process diagrams, defines the flow of jobs, defines to what role a job is assigned, and what automated steps take place. Next in line, the ‘developers’ create &#8220;executable code&#8221; of it. Activiti has a number of elements in it which can facilitate collaboration among the roles involved like analysts, managers and developers.</p>
<p>First, Activi utilizes BPNM2.0, the now widely accepted open standard for process modeling. The beauty of this 2.0 version of the standard is that next to the schema language, the underlying defining XML standardized as well. Activiti can directly execute this XML. This has the advantage that the analyst and the developer work on the same process scheme and therefore underlying XML. They can read each other&#8217;s work, and actually work on the same schema’s. That will do a lot for the effectiveness of communication. Activiti also provides an additional module where all roles involved are facilitated to collaborate in a ‘2.0’ style, and improve the process of developing business processes, and improve existing ‘running’ process definitions. I will elaborate on this later in this article.</p>
<p>For Alfresco the Activiti path is a well thought out decision. Two of the founding fathers of jBPM actually joined</p>
<p>Alfresco in order to achieve this open source BPM engine. Alfresco already had the experience of running an open source project because it is open source itself. Next to that they have run the Apache Foundation-route before when they created the OpenCMIS project, now included in the Apache Chemistry project. (Did I mention SpringSurf Alfresco developed and donated to SpringSource? Quite some open source activity here…)</p>
<p><strong>The concept</strong></p>
<p><strong> </strong>For ease of explaining, let’s assume that in the development and operation of BPM processes the following four roles are involved:</p>
<ul>
<li>The analyst has understanding of the business domain and defines processes and tasks.</li>
<li>The developer creates the executable code, to fill in the automated tasks and lookups as resulted from the analysts work.</li>
<li>The process participant is any person in the organization that gets a task assigned in running business processes.</li>
<li>The administrator is the role that ensures that the BPM system will operate. Tasks that ‘get stuck’ or processes that fail can be restarted, removed or reassigned. This role is understanding why processes function as they do in terms of errors, performance etc.</li>
</ul>
<p>I will explain the modules of Activiti using the chart below.</p>
<p><a href="http://www.allesovereim.nl/wp-content/uploads/2010/11/activitycontext-en2.png"><img class="aligncenter size-full wp-image-365" title="Activity Context" src="http://www.allesovereim.nl/wp-content/uploads/2010/11/activitycontext-en2.png" alt="" width="616" height="266" /></a></p>
<p><strong>Activiti Engine</strong></p>
<p>The heart of the system is the Activiti Engine. This is the work horse where BPNM2.0 XML format is &#8216;imported&#8217; and depending on the logic the described process steps are created and dispatched. This advanced engine has an extremely low overhead in terms of memory usage and database storage/manipulation. The engine generates jobs that can get assigned to individuals / groups / roles. There may also be &#8220;system tasks&#8221; defined that can do all kind of automated tasks. Think of document manipulations in a DMS (using CMIS?), communication with other systems using web services for example, changes in (external) databases, etc. Processes that are no longer active are moved to an archive, to improve on execution speed.</p>
<p>Activiti comes with many types of activities / tasks. Next to that a simple Java API exists that enables organizations to define their own tasks. If a basic set of functionality is implemented these tasks can be graphically modeled and the engine can execute. This way, the custom activity can be reused and configured by the analyst using the graphical user interface.</p>
<p>The Activiti Engine is as open as possible. Besides extensive access through the Java API, you can access a <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">REST</a> interface to query and control the application. This means that the applications which make use of the Activiti Engine not necessarily have to be programmed in Java. This allows presentation of the task list in applications build in languages like PHP or .NET. The Activiti Engine can be queried in many ways to generate work lists, metrics,  ongoing processes etc. etc. Think of searching running processes, using the numerical value of an attribute is greater than x, sorted by start date.</p>
<p>Activiti is designed as an enterprise grade BPM engine, thus is also scalable. It is prepared to function in the cloud, instances of the engine can run in parallel if desired, and it integrates seamlessly into an existing application for example using the Spring framework.</p>
<p>The last feature I want to be mentioned is the ability to automate the testing process. There are facilities built to test using JUnit (version 3 and 4) to test the process. This is great news because it saves a lot of clicking to the many paths of a process to go through. This is a process facilitated by the engine deploy, run and undeploy the process definition. All steps can be executed, where automated tasks like sending email can be (temporarily) switched off. Using the JUnit results it can be determined whether the business logic in the process is working as intended.</p>
<p><strong>Activiti Explorer</strong></p>
<p>The Activiti Explorer is the user interface for the process participants. Here the personal and group task lists can be found. Group tasks can be claimed, and tasks can be completed. This means that data in a form can be completed or process choices can be made. Tasks can be reassigned to other users, and ad-hoc tasks can be created and assigned to anyone on the spot. Similarly, a user can ad-hoc create sub-tasks to divide a task into a number of smaller assignments.</p>
<p><a href="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti-explorer-mytasks.png"><img class="aligncenter size-full wp-image-337" title="Activiti Explorer Mytasks" src="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti-explorer-mytasks.png" alt="" width="575" height="335" /></a></p>
<p><strong>Activiti Modeler</strong></p>
<p>Activiti Modeler was developed by Signavio. The Modeler is a web application in which processes can be modeled using the BPMN2.0 schema. The process definitions are stored in BPMN2.0 XML format stored on the server. Like the SpringSurf framework the modeler communicates to the server via JSON. In the default configuration, the Activiti process definitions will be stored on the servers file system.</p>
<p><a href="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti-modeler.png"><img class="aligncenter size-full wp-image-370" title="activiti-modeler" src="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti-modeler.png" alt="" width="575" height="335" /></a></p>
<p><strong>Activiti Designer</strong></p>
<p>Activiti Designer is an Eclipse plugin. In this way, the developer can work on both the process XML and the graphical schema and the code in the same developer environment and easily switch between the related pieces of logic. Basically it does just exactly what you&#8217;d expect.</p>
<p><strong>Activiti Probe</strong></p>
<p>Activiti Probe provides an overview of running processes. This application is typically for administrator-like roles. Here you can monitor if the BPM engine is still functioning, how the resource usage is doing, and check up on the log files. Process instances can be deployed into the engine. If the process unexpectedly fails, running tasks can be restarted, reassigned, or the process be stopped or restarted.</p>
<p>At present Activiti Probe is &#8220;limited&#8221; to display system settings and relevant database tables. This is in my opinion already much better than the ‘web based command line tool’ that is currently shipped with Alfresco version of JBoss. However, it is not yet what one would expect of an Enterprise tool. A graphical tool with more management possibilities and more ways of finding running (or failed) processes, is in the pipeline.</p>
<p><a href="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti-probe.png"><img class="aligncenter size-full wp-image-338" title="activiti-probe" src="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti-probe.png" alt="" width="575" height="335" /></a></p>
<p><strong>Activiti Cycle</strong></p>
<p>Activiti Cycle is the module where the social, collaboration aspect is located. BPM traditionally is the domain of business analysts. On the other hand, the developers combine the flow with the (custom) logic, make it communicate with repositories and ‘make the process work’. Activiti Cycle is an environment focused on collaboration with the process in its center. Processes can have relations with &#8220;artifacts&#8221; such as (for example Visio, Office, CAD) files, Maven repositories, Jira issues, a source code repository (like SVN). All roles involved in the creation,  and execution of a process can collaborate and discuss about the related processes and artifacts in context. There are many features that <em>could</em> be used, but the tool does not force off &#8216;how to do it. &#8220; Depending on how an organization intends to deal with the process of mastering BPM, the tool can be used accordingly. Various benefits can be gained, like people are more involved, solutions become more realistic (i.e. successful), and the design / development process is documented properly and subsequently decisions can be traced back to how, when and why.</p>
<p><a href="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti_cycle.png"><img class="aligncenter size-full wp-image-339" title="Activiti Cycle" src="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti_cycle.png" alt="" width="613" height="731" /></a></p>
<p><strong>Integration into Alfresco</strong></p>
<p>Integration of Activiti into other systems is the responsibility of the embedding system. Activiti is intended as a &#8216;generic&#8217; BPM engine. Luckily Activiti and Alfresco share the same standards (including SpringSurf), making integration with Alfresco &#8220;relatively easy&#8221;. The integration team at Alfresco is mainly engaged in creating &#8220;activity types&#8221; (to automate manipulations of the repository), mapping Alfresco users to Activiti (and the effects on authorization in Alfresco), and integrating task-related user interface elements to the Alfresco (Share) frameworks ( think of the service forms to generate the task screens).</p>
<p><strong>Current Status</strong></p>
<p>At the moment Aactiviti is a project heavily in development. The first release candidate is out just this afternoon (we count Version 5 RC1 at time of writing). According the roadmap, seven point-releases are scheduled from the start of 2010 up till July (5.1 &#8211; 5.7) , one each month. Although it is an <em>indication</em> in terms of planning, it is a tight schedule, but also a serious indication of the rapid pace of product development. At this point in time Activiti is not the enterprise grade, production ready competition to ‘commercial’ mature BPM solutions. As the pace of development continues, it could soon be suitable for &#8220;simple processes&#8221;, provided the required basic blocks are there. Personally I&#8217;m really excited for what the integration with Alfresco will bring&#8230; Take a look at the <a href="http://activiti.org/" target="_blank">activiti.org</a> web site for the Today’s current status, and keep an eye on the roadmap!</p>
<p><small><br />
Screenshots are reused from the activiti.org web site<br />
<a href="http://wiki.alfresco.com/wiki/CMIS" target="_blank">CMIS</a> is the Content Management Interoperability Standard managed by OASIS.<br />
</small><span style="font-size: 11px;"><a href="http://incubator.apache.org/chemistry/opencmis.html" target="_blank">OpenCMIS</a> (is part of the Apache Chemistry project) is a Java implementation of the CMIS standard.<br />
</span><span style="font-size: 11px;"><a href="http://en.wikipedia.org/wiki/Business_Process_Modeling_Notation" target="_blank">BPNM2.0</a> is a standard managed by the <a href="http://www.omg.org/" target="_blank">OMG</a> (Object Management Group).<br />
</span><span style="font-size: 11px;"><a href="http://www.jboss.org/jbpm" target="_blank">JBPM</a> is the open source workflow engine of <a href="http://jboss.org/" target="_blank">JBoss</a>, so owned by <a href="http://www.redhat.com/jboss" target="_blank">RedHat</a>.</span></p>
<div class="shr-publisher-330"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.allesovereim.nl/2010/11/activiti-the-enterprise-grade-open-source-bpm-promise/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Activiti, de enterprisewaardige open source BPM belofte</title>
		<link>http://www.allesovereim.nl/2010/11/activiti-de-enterprisewaardige-open-source-bpm-belofte/</link>
		<comments>http://www.allesovereim.nl/2010/11/activiti-de-enterprisewaardige-open-source-bpm-belofte/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 05:28:59 +0000</pubDate>
		<dc:creator>tjarda.peelen</dc:creator>
				<category><![CDATA[Techniek]]></category>
		<category><![CDATA[alfresco]]></category>
		<category><![CDATA[Business Process Management]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.allesovereim.nl/?p=331</guid>
		<description><![CDATA[Tijdens de Alfresco Developers Conference oktober 2010 was ook het Activiti team aanwezig om in een tweetal presentaties de visie en werking van deze enterprise-class (to-be) Open Source BMP engine. Activiti is een Open Source project met als doel een stand-alone, enterprise waardige BPM engine te leveren waar processen in kunnen worden gedefinieerd, beheerd en waar omheen kan worden samengewerkt door de betrokkenen. 
De prestaties en mogelijkheden van de BPM engine zijn al indrukwekkend, hoewel de tools nog niet 'af' of productierijp zijn in een ECM setting. Activiti is een mooie BPM engine, een enterprise waardige belofte.]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>(There is also an <a href="http://www.allesovereim.nl/2010/11/activiti-the-enterprise-grade-open-source-bpm-promise/" target="_self">English version</a> of this posting)<br />
(Find the Spanish version in <a href="http://blyx.com/2010/11/03/activiti-bpm-la-promesa-del-software-libre-empresarial/" target="_blank">this article</a>)</p>
<p>Enige tijd geleden is <a href="http://www.alfresco.com/" target="_blank">Alfresco</a> samen met <a href="http://signavio.com/" target="_blank">Signavio</a> en <a href="http://www.camunda.com/" target="_blank">Camunda</a> gestart met <a href="http://activiti.com/" target="_blank">Activiti</a>, een open source alternatief voor enterprise waardige BPM. De eerste vraag die bij mij opkwam was &#8216;waarom een nieuwe BPM engine&#8217;? Op zich zijn er wel wat kanttekeningen bij de JBPM implementatie in Alfresco op het terrein van ontwikkelen en beheersen van processen. Maar daarnaast had Alfresco meer redenen om eens goed opnieuw over een BPM engine na te denken. Enerzijds zitten er beperkingen aan de <a href="http://www.gnu.org/copyleft/lesser.txt" target="_blank">LGPL</a> licentie (danwel de perceptie daarvan) waardoor Activiti project wordt ontwikkeld onder de <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache 2</a> licentie.</p>
<p><strong>Visie</strong></p>
<p>Daarnaast is JBPM een &#8216;technisch georiënteerde&#8217; BPM engine. In het Activiti project heeft men de visie dat populair gezegd workflow ook &#8216;sociaal&#8217; zou moeten kunnen zijn. Let wel, moet <em>kunnen</em> zijn. Het Activiti project schrijft niet voor <em>hoe</em> een oganisatie het gebruik van BPM organisatorisch moet inrichten, het wil gezamenlijk samenwerken kunnen faciliteren.</p>
<p><span id="more-331"></span></p>
<p>Traditioneel is het ontwikkelen van (bedrijfs)processen het domein van &#8216;analisten&#8217;. Deze ontwikkelen processchema&#8217;s, bepalen dat taken bij rollen terecht moeten komen, en welke stappen er geautomatiseerd plaats moeten vinden. Vervolgens gaan ontwikkelaars met deze plannen aan de slag om er &#8216;uitvoerbare code&#8217; van te maken. Activiti heeft een aantal elementen in zich waardoor meer samenwerking gefaciliteerd kan worden tussen de analisten, beheerders en de ontwikkelaars. Enerzijds wordt gebruik gemaakt van BPNM2.0. Dit is een inmiddels breed geaccepteerde open standaard om processen te modelleren. Het mooie van deze 2.0 versie van de standaard is dat naast de schema taal, ook de achterliggende, definiërende XML gestandaardiseerd is. Activiti kan deze XML rechtstreeks uitvoeren. Dit heeft tot voordeel dat de analist en de ontwikkelaar van hetzelfde schema en dezelfde onderliggende XML uitgaan. Ze kunnen elkaars werk lezen, sterker nog, ze zouden op dezelfde schema&#8217;s kunnen werken. En dat communiceert erg effectief.  Anderzijds heeft Activiti een module in ontwikkeling waar de analist en de ontwikkelaar gezamenlijk kunnen werken aan processen, en ook bestaande processen kunnen gaan verbeteren. Ik kom hier later in dit artikel op terug.</p>
<p>Voor Alfresco is het pad van Activiti een doordachte actie. Zo zijn twee &#8216;founding fathers&#8217; van JBPM bij Alfresco in dienst getreden om deze open source BPM engine te realiseren. Daarnaast is de kennis en ervaring in huis hoe een open source project te draaien. Alfresco is natuurlijk zelf open source, maar met OpenCMIS, ook door Alfresco gestart en inmiddels gedoneerd aan de Apache foundation, heeft Alfresco inmiddels de nodige ervaring met het opstarten van Apache projecten. Activiti moet daar uiteindelijk ook terecht gaan komen.</p>
<p><strong>Het concept</strong></p>
<p>Laten we voor het gemak even uitgaan dat er bij het ontwikkelen en in bedrijf houden van BPM processen de volgende vier rollen betrokken zijn:</p>
<ul>
<li>De analist overziet het      bedrijfsdomein en bepaalt hoe processen lopen.</li>
<li>De ontwikelaar neemt het      resultaat van de analist over, en ontwikkelt een technische workflow die      uitvoerbaar is, die allerhande geautomatiseerde en door mensen uitvoerbare      taken kan bevatten.</li>
<li>De procesdeelnemer is de      persoon in de organisatie die een taak uit een proces krijgt toegewezen om      iets bij te dragen aan het proces,</li>
<li>De beheerder is de rol die er      voor zorgt dat het BPM systeem blijft werken. &#8216;vastzittende&#8217; taken of      processen kunnen worden herstart, verwijderd, en deze rol heeft inzicht in      waarom processen functioneren zoals ze doen in termen van foutmeldingen,      performance etc.</li>
</ul>
<p>Aan de hand van het schema hieronder zal ik uitleggen hoe een en ander bij elkaar hoort in Activiti.</p>
<p><a href="http://www.allesovereim.nl/wp-content/uploads/2010/10/activiticontext-nl.png"><img class="aligncenter size-full wp-image-336" title="activiticontext-nl" src="http://www.allesovereim.nl/wp-content/uploads/2010/10/activiticontext-nl.png" alt="" width="613" height="265" /></a></p>
<p><strong>Activiti Engine</strong></p>
<p>Het kloppend hart van het systeem is de Activiti Engine. Dit is het werkpaard waar de BPNM2.0-formaat XML wordt &#8216;ingevoerd&#8217; en afhankelijk van de beschreven logica processtappen worden aangemaakt en uitgestuurd. Deze geavanceerde engine heeft een extreem lage overhead in termen van geheugengebruik en database opslag. De engine genereert taken die naar personen/groepen/rollen gestuurd kunnen worden. Daarnaast kunnen er &#8216;systeemtaken&#8217; worden gegenereerd om allerhande geautomatiseerd werk uit te voeren. Denk aan document manipulaties in een DMS (via CMIS?), communicatie met andere systemen middels bijvoorbeeld webservices, mutaties in (externe) databases, etc.  Processen die niet meer actief zijn worden verplaatst naar een archief.</p>
<p>Activiti wordt geleverd met veel typen activiteiten/taken. Daarnaast is er een eenvoudige API waarmee organisaties hun eigen taken kunnen definieren, die vervolgens kunnen worden gemodelleerd en door de engine kunnen worden uitgevoerd. Op deze wijze kan de maatwerk activiteit eenduidig worden hergebruikt, via een nette user interface worden geconfigureerd, en daarmee ook door de analisten worden gebruikt.</p>
<p>De Activiti Engine is zo open mogelijk. Naast uitgebreide toegang middels een Java API, kan via een <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">REST</a> interface een applicatie van alles aan de engine &#8216;vragen&#8217;. Dit betekent dat de applicaties die van de Activiti Engine gebruik maken niet noodzakelijkerwijs ook in Java geprogrammeerd hoeven te zijn. De programmeertaal van de omliggende applicaties is dus middels het REST protocol ontkoppeld. Hierdoor kan de takenlijst bijvoorbeeld in een PHP of een .NET applicatie worden gepresenteerd. De Activiti Engine kan worden bevraagd op allerlei manieren, om werklijsten te genereren, statistieken te vergaren, om lopende processen op meerdere manieren terug te kunnen vinden. Denk bijvoorbeeld aan zoeken naar lopende processen waarbij de numerieke waarde van een attribuut groter is dan x, geordend op startdatum.</p>
<p>Activiti is ontworpen als enterprise BPM engine, dus ook om schaalbaar te zijn. Het is voorbereid om te functioneren in de cloud, instances van de engine kunnen parallel draaien, en het integreert desgewenst naadloos in een bestaande applicatie in het Spring framework.</p>
<p>De laatste feature die ik niet onvermeld wil laten is de mogelijkheid om processen automatisch te kunnen testen. Er zijn faciliteiten ingebouwd om middels JUnit testen (versie 3 en 4) het proces te kunnen testen. Dit is fantastisch nieuws omdat dit heel veel klikken scheelt om de vele paden van een proces te doorlopen. Dit wordt door de engine gefaciliteerd door een proces tijdelijk te deployen, uit te voeren (maar evt. versturen van email etc. achterwege te laten), en weer te &#8216;undeployen&#8217;. Aan de hand van de JUnit resultaten kan worden bepaald of de businesslogica in het proces functioneert zoals het bedoeld is.</p>
<p><strong>Activiti Explorer</strong></p>
<p>De Activiti Explorer is de ingang voor de procesdeelnemers. Hier zijn de persoonlijke- en de groepstaaklijsten te vinden. Groepstaken kunnen worden geclaimd, en taken kunnen worden uitgevoerd. Dit betekent dat gegevens kunnen worden ingevuld in een formulier, of proceskeuzes kunnen worden gemaakt. Taken kunnen aan andere gebruikers worden toegekend, en er kunnen zelfs ter plekke ad-hoc taken worden gemaakt om iemand iets onder de aandacht te brengen. Ook zouden sub-taken kunnen worden aangemaakt om de taak ad-hok op te delen in een aantal deeltaken.</p>
<p><a href="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti-explorer-mytasks.png"><img class="aligncenter size-full wp-image-337" title="Activiti Explorer Mytasks" src="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti-explorer-mytasks.png" alt="" width="575" height="335" /></a></p>
<p><strong>Activiti Modeler</strong></p>
<p>De Activiti Modeler is ontwikkeld door Signavio. De Modeler is een web-applicatie waarin processen volgends de BPMN2.0 standaard kunnen worden gemodelleerd. De procesdefinities worden in het BPMN2.0 formaat op de server opgeslagen. Net zoals het SpringSurf framework communiceert de modeler ook middels JSON met de server. In de standaard Activiti configuratie worden de processen op de server op het filesysteem opgeslagen.</p>
<p><a href="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti-modeler.png"><img class="aligncenter size-full wp-image-370" title="activiti-modeler" src="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti-modeler.png" alt="" width="575" height="335" /></a></p>
<p><strong>Activiti Designer</strong></p>
<p>Activiti Designer is een Eclipse plugin. Op deze wijze kan de ontwikkelaar zowel het grafisch proces als de xml en de code naast elkaar zien en hier eenvoudig tussen switchen. Eigenlijk gewoon precies wat je ervan zou verwachten.</p>
<p><strong>Activiti Probe</strong></p>
<p>Activiti Probe geeft overzicht over lopende processen. Deze applicatie is typisch voor beheerder-achtige rollen. Hier kan men ondermeer bekijken of de BPM engine nog  functioneert, resource gebruik, hoe staat het met de logfiles. Ook kunnen proces instances naar de engine worden gedeployed. Als het proces onverhoopt niet goed loopt kunnen taken opnieuw worden &#8216;gestart&#8217;, of het proces worden gestopt of herstart.</p>
<p>Op dit moment is Activiti Probe &#8216;beperkt&#8217; tot het tonen van systeeminstellingen en relevante database tabellen. Dit is in mijn beleving beter dan de &#8216;commandline tool&#8217; die op dit moment met Alfresco wordt geleverd. Het is echter nog niet wat van een Enterprise tool mag worden verwacht. Een meer grafische tool met mogelijkheden tot zoeken van processen op allerlei kenmerken zit in de planning.</p>
<p><a href="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti-probe.png"><img class="aligncenter size-full wp-image-338" title="activiti-probe" src="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti-probe.png" alt="" width="575" height="335" /></a></p>
<p><strong>Activiti Cycle</strong></p>
<p>Activiti Cycle is een module waar het sociale, samenwerkingaspect wordt uitgewerkt. Traditioneel is BPM het domein van business analisten, terwijl aan de andere kant juist de ontwikkelaars met het samenstel van code, repositories en het BPM proces het geheel laten &#8216;werken&#8217;. Met Aciviti Cycle wordt een omgeving gecreëerd waar samengewerkt kan worden rond processen. Processen kunnen relaties hebben met &#8216;artifacts&#8217;, zoals (bv. visio) bestanden, maven repositories, Jira issues, een source code repository (zoals SVN). Er zijn mensen die bij een proces betrokken zijn, en over allerhande zaken in context kunnen discussiëren. Er zijn veel features die kunnen worden gebruikt, maar de tool dwingt niet af &#8216;hoe het moet&#8217;. Afhankelijk van hoe een organisatie met BPM om wil gaan kan de tool worden ingezet. Voordelen die gerealiseerd kunnen worden zijn dat de mensen meer betrokken zijn, oplossingen realistischer (dus succesvoller) worden, en het ontwerp/ontwikkelproces wordt gedocumenteerd en achteraf het gevolgde pad is te reconstrueren (waarom en op basis waarvan zijn besluiten genomen).</p>
<p><a href="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti_cycle.png"><img class="aligncenter size-full wp-image-339" title="Activiti Cycle" src="http://www.allesovereim.nl/wp-content/uploads/2010/11/activiti_cycle.png" alt="" width="613" height="731" /></a></p>
<p><strong>Integratie met Alfresco</strong></p>
<p>Integratie met systemen is de verantwoordelijkheid van de systemen zelf. Activiti is bedoeld als &#8216;generieke&#8217; BPM engine. Gelukkig delen Activiti en Alfresco dezelfde standaarden (waaronder SpringSurf) , waardoor integratie met Alfresco als &#8216;relatief eenvoudig&#8217; omschreven mag worden. Het integratie team aan Alfresco zijde is vooral bezig op het gebied van &#8216;activiteit-typen&#8217; (automatische mutaties op de repository), koppeling van Activiti gebruikers naar Alfresco gebruikers, en het inpassen van taakgerelateerde user interface elementen aan de Alfresco (Share) frameworks (denk aan de forms-service om taakschermen te genereren).</p>
<p><strong>Huidige status</strong></p>
<p>Op dit moment is het Activiti project zwaar in ontwikkeling. Er wordt hard gewerkt aan een release candidate (we tellen versie 5 op moment van schrijven). Volgens de roadmap zijn de eerste 7 punt-releases (5.1 &#8211; 5.7) gepland, en wel maandelijks vanaf januari. Dat is een straf schema, een indicatie qua planning, maar ook een indicatie van het hoge tempo van ontwikkeling van het product. Activiti is nog niet productiewaardig als concurrent van de &#8216;commerciële&#8217; BPM oplossingen. Als het tempo van ontwikkeling doorgaat, is het binnenkort wellicht geschikt voor &#8216;eenvoudige processen&#8217; waarvoor dan al wel voldoende functionaliteit aanwezig is. Persoonlijk zit ik heel erg te wachten wat de integratie met Alfresco gaat opleveren&#8230; Let vooral op de <a href="http://activiti.org" target="_blank">activiti.org</a> website voor de exacte huidige status, en houd een oog op de roadmap!</p>
<hr /><small><br />
De screenshots zijn hergebruikt van de activiti.org site<br />
<a href="http://wiki.alfresco.com/wiki/CMIS" target="_blank">CMIS</a> is de Content Management Interoperability Standard in beheer bij OASIS. <a href="http://incubator.apache.org/chemistry/opencmis.html" target="_blank">OpenCMIS</a> (een onderdeel van het Apache Chemistry project) is er een Java implementatie van.<br />
<a href="http://en.wikipedia.org/wiki/Business_Process_Modeling_Notation" target="_blank">BPNM2.0</a> is een standaard in beheer bij de <a href="http://www.omg.org/" target="_blank">OMG</a> (Object Management Group)<br />
<a href="http://www.jboss.org/jbpm" target="_blank">JBPM</a> is de open source workflow engine van <a href="http://jboss.org/" target="_blank">JBoss</a>, dus van <a href="http://www.redhat.com/jboss" target="_blank">RedHat</a><br />
</small></p>
<div class="shr-publisher-331"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.allesovereim.nl/2010/11/activiti-de-enterprisewaardige-open-source-bpm-belofte/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Case management, de derde ECM sales golf?</title>
		<link>http://www.allesovereim.nl/2010/09/case-management-de-derde-ecm-sales-golf/</link>
		<comments>http://www.allesovereim.nl/2010/09/case-management-de-derde-ecm-sales-golf/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 12:22:58 +0000</pubDate>
		<dc:creator>Paul Baan</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Bpm]]></category>
		<category><![CDATA[Business Process Management]]></category>
		<category><![CDATA[Case management]]></category>
		<category><![CDATA[document management]]></category>
		<category><![CDATA[Enterprise Content Management]]></category>

		<guid isPermaLink="false">http://www.allesovereim.nl/?p=243</guid>
		<description><![CDATA[Ik snap het wel en ik snap het niet. Case management. Wat ik snap is dat er altijd een behoefte is om bestaande oplossingen te koppelen aan nieuwe of nieuw bedachte business problemen. Wat ik niet snap is dat diezelfde bestaande oplossingen dan ineens heel anders gepresenteerd moeten worden. Komt daar die IT terminologie overkill [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Ik snap het wel en ik snap het niet. Case management. Wat ik snap is dat er altijd een behoefte is om bestaande oplossingen te koppelen aan nieuwe of nieuw bedachte business problemen. Wat ik niet snap is dat diezelfde bestaande oplossingen dan ineens heel anders gepresenteerd moeten worden. Komt daar die IT terminologie overkill vandaan?<br />
<span id="more-243"></span><br />
Eerst was er document management. Dat was simpel. Documenten moesten netjes worden opgeslagen en makkelijk terugvindbaar worden gemaakt. Logisch. Duidelijk werd dat documenten een levenscyclus hebben. Van eerste grove aanzet tot door alle instanties goedgekeurd. Workflow bood ondersteuning bij het doorlopen van dat proces. Prima, snap ik allemaal.</p>
<p>Toen kwam de tweede golf. Business Process Management deed zijn intrede. Tot op de dag van vandaag heeft niemand me helder kunnen uitleggen wat dat is, en vooral niet wat daar anders aan is dan wat we al deden. Maar het bracht de spanning wel weer even terug, dat is waar.</p>
<p>Kennelijk is de BPM hype een beetje overgewaaid, en was er behoefte aan een nieuwe trend. Voila case management. Forrester rapporteert braaf dat hiermee een oud idee wordt afgestoft en dat de tijd er nu kennelijk rijp voor is. Maar ook Forrester loopt vast in een goede definitie. Het lijkt nu een soort van ophoping van concepten uit ECM en BPM (uiteraard bouwen we wel voort op de verwarring die al gezaaid is).</p>
<p>Schiet mij maar lek. Als ik er met een dosis gezond boerenverstand en de nodige ECM achtergrondkennis naar kijk, zie ik leveranciers Case Management uitleggen als een preconfiguratie van hun softwareoplossing, die daardoor sneller implementeer is op veel voorkomende business uitdagingen. Handig!</p>
<p>Eigenlijk is de industrie dus bezig haar eerst zo generiek mogelijk ontwikkelde platformen nu pre-fab aan te bieden voor bepaalde doelstellingen. Dus waar je vroeger een aannemer kreeg op je vraag om een nieuw huis, krijg je nu een brochure met pre-fab mogelijkheden die hopelijk passen bij het soort huis dat je zoekt. En anders kun je altijd nog de aannemer inhuren.</p>
<p>Enfin, ik denk het hiermee begrepen te hebben, en vind de hele hype weer een hoop ingewikkeld gedoe voor iets wat eigenlijk heel simpel (en daarmee heel krachtig) is. Maar mocht ik er finaal naast zitten, dan hoor ik het graag!</p>
<div class="shr-publisher-243"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.allesovereim.nl/2010/09/case-management-de-derde-ecm-sales-golf/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Outsmartende spits versus achievende verdediger</title>
		<link>http://www.allesovereim.nl/2009/10/outsmartende-spits-versus-achievende-verdediger/</link>
		<comments>http://www.allesovereim.nl/2009/10/outsmartende-spits-versus-achievende-verdediger/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 19:57:38 +0000</pubDate>
		<dc:creator>Paul Baan</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Ap Dijksterhuis]]></category>
		<category><![CDATA[Business Process Management]]></category>
		<category><![CDATA[enterprise information management]]></category>
		<category><![CDATA[Malcolm Gladwell]]></category>
		<category><![CDATA[maturity model]]></category>
		<category><![CDATA[Operational Business Intelligence]]></category>

		<guid isPermaLink="false">http://www.allesovereim.nl/2009/10/outsmartende-spits-versus-achievende-verdediger/</guid>
		<description><![CDATA[Inmiddels heb ik het EIM Maturity Model al op de nodige plekken besproken en gepresenteerd, en iedere keer valt me op hoe makkelijk dit model het onderwerp informatie management inzichtelijk maakt. Het model biedt handvatten om de discussie te concentreren op die gebieden waar het rendement van informatie daadwerkelijk winst kan opleveren. Winst in de [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p style="text-align: left;">Inmiddels heb ik het EIM Maturity Model al op de nodige plekken besproken en gepresenteerd, en iedere keer valt me op hoe makkelijk dit model het onderwerp informatie management inzichtelijk maakt. Het model biedt handvatten om de discussie te concentreren op die gebieden waar het rendement van informatie daadwerkelijk winst kan opleveren. Winst in de vorm van een verbeterde concurrentiepositie, winst in efficiënter werken, etc. Bij de besprekingen komt ook het fundamentele belang van het juist inschatten van het ambitieniveau aan de orde.</p>
<div id="attachment_35" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-35" src="http://www.allesovereim.nl/wp-content/uploads/2009/10/EIM-model1-300x220.png" alt="EIM Maturity Model" width="300" height="220" /><p class="wp-caption-text">EIM Maturity Model</p></div>
<p><span id="more-36"></span></p>
<p>Ik vergelijk dit graag met voetballers in een team. Met name verdedigers kunnen vooraf geïnstrueerd worden hoe te anticiperen op acties van de aanvallers van de tegenpartij. Er kan getraind worden op patronen, op te hanteren regels als bepaalde situaties zich voordoen. Voor aanvallers geldt een ander principe. Er zijn absoluut aanvalspatronen te leren, maar uiteindelijk is het vaak die spontane geniale ingeving van de aanvaller die de verdediging het nakijken geeft.</p>
<p>Precies dit verschil is het verschil tussen de niveaus achieve (verdedigers, focussend op foutminimalisatie en snel doorzien) en outsmart (het boven vaste patronen durven uitstijgen op basis van opgedane kennis gecombineerd met creativiteit).</p>
<p>Juist in het outsmart level komen de invalshoeken van sociaal psychologen als Malcolm Gladwell en onze eigen Ap Dijksterhuis om de hoek kijken. In de achieve fase kunnen we veel meer vertrouwen op vanuit IT-perspectief veilige (want herkenbare) aanpakken op basis van Business Process Management en Operational Business Intelligence.<br />
Daarmee is meteen duidelijk dat het verkeerd zetten van de ambitieniveaus killing is voor een organisatie. Prop de creatieve geesten in een uitgekauwd proces, en ze zullen afsterven. Laat de operationele uitvoerders verantwoordelijk zijn voor innovatie en strategie, en de organisatie zal spoedig achterlopen op de concurrentie.</p>
<p>Op deze blog zal meer aandacht besteed gaan worden aan het EIM Maturity Model. Specifieke vragen? Shoot!</p>
<div class="shr-publisher-36"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.allesovereim.nl/2009/10/outsmartende-spits-versus-achievende-verdediger/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

