Follow Us on Twitter

Oracle BPM Suite: overbrug de kloof tussen business en IT

April 2011 – De laatste jaren is een duidelijke verschuiving naar procesgericht denken en ontwikkelen in gang gezet. De focus ligt niet enkel meer losstaande applicaties, maar vooral hoe die applicaties onderling verbonden kunnen zijn als onderdeel van een overkoepelend proces. In dit Whitebook onderzoeken we de mogelijkheden van Oracle’s oplossing voor procesgericht modelleren en hoe daarbij de kloof tussen business en IT overbrugd wordt.

Als onderdeel van de Fusion Middleware strategie voorziet Oracle met de Business Process Management (BPM) Suite in de behoefte om processen te kunnen modelleren en optimaliseren, waarbij de doelgroep duidelijk business- en procesanalisten zijn. Hierbij wordt via de Business Process Modelling Notation-standaard (BPMN) een proces uitgewerkt als onderdeel van de lifecycle die bestaat uit het analyseren, uitvoeren en monitoren en verbeteren van een bedrijfsproces. 

SOA, BPA en BPM

Men kan terecht de vraag stellen of er niet een overlap is tussen Oracle SOA Suite en de BPM Suite. Beiden gaan immers over procesmodellering, maar het grote verschil is dat de SOA Suite de nadruk legt op de technische aspecten van het proces. Denk hierbij aan BPEL processen, berichttransformaties en Service Busses. De BPM Suite is wel op dezelfde SOA architectuur gestoeld, maar bied de mogelijkheid om op een hoger niveau het proces uit te werken, gebruik makend van dynamische business regels, menselijke interactie en simulaties. Hierbij is in theorie weinig tot geen kennis van de technische details vereist:  de implementatie wordt indien nodig overgelaten aan de IT afdeling.
Nog een belangrijk verschil is dat met de BPM een horizontale blik op het proces beschikbaar wordt. Indien een organisatie processen enkel verticaal bekijkt (welke stappen in een specifieke taak moeten worden uitgevoed) loopt men het risico dat deze taken geïsoleerd raken, waarbij aanpassingen aan het proces beduidend moeilijker worden en zelfs duplicaten kunnen bestaan. De Horizontale view die BPM hanteert overspant meerdere afdelingen in een organisatie en legt de nadruk meer op menselijk handelen, zodat duidelijk wordt wie wat doet in het proces.

Horizontale view op het proces

Het verschil met Business Process Automation (BPA) is wat moeilijker aan te duiden. BPA is bedoeld om bedrijfsbreed organisaties, strategieën, risico’s, processen en relaties daartussen te modelleren. Denk hierbij aan as-is en to-be situaties, gapanalyses, KPI’s of de impact die aanpassing van de bedrijfsstrategie heeft op gerelateerde systemen,  mensen en processen. Ondanks dat er overlap is tussen de modelnotaties (bijvoorbeeld BPMN) is het duidelijk dat de BPM Suite zich meer focust op de tactische implementatie en executie van het proces waar het gaat om systemen, menselijke interactie en documenten.

Oracle BPM Studio

Het kerncomponent van de Oracle BPM suite is de BPM Studio. Hier kunnen processen met de BPM-notatie gemodelleerd en gesimuleerd worden. Op basis van dit model kunnen ontwikkelaars hier een daadwerkelijk uitvoerbaar proces implementeren, waarbij de ontwikkelaar data-adapters, Human tasks en de business rule engine tot zijn beschikking heeft. Deze implementatie resulteert in een uitvoerbaar proces in de vorm van een SOA composite applicatie, die uitgevoerd wordt in de BPM runtime engine.
De BPM Studio is volledig geïntegreerd in Oracle’s JDeveloper, zodat alle tools voor de implementatie en deployment van het process voorhanden zijn zoals we gewend zijn in de SOA Suite. Door het toekennen van verschillende rollen in JDeveloper kunnen features die niet van belang zijn voor bijvoorbeeld een proces- of businessanalist uitgeschakeld worden.

Organisatie

Alvorens het proces uit te tekenen moeten alle onderdelen van een organisatie die betrokken zijn geïdentificeerd worden. Dit gebeurt in de vorm van rollen, die vastgelegd kunnen worden in de BPM Studio. Deze rollen kunnen later bij de implementatie gekoppeld worden aan echte gebruikers- of gebruikersgroepen die bijvoorbeeld bekend zijn in LDAP directory om ook een daadwerkelijk uitvoerbaar proces te maken.
De verschillende rollen kunnen toegevoegd worden als zogenaamde “swimlanes” in de procesview, zo ontstaat de horizontale view. Nu is het dus mogelijk om de verschillende activiteiten in het proces zo te modelleren dat in een opslag duidelijk wordt wie er betrokken is bij het proces en wie welke activiteiten uitvoeren.

Business Catalog

In de BPM Studio wordt gebruik gemaakt van een Business Catalog. register wat gedeeld kan worden waarin en verschillende objecten bevat die hergebruikt worden in het proces, zoals berichtdefinities, events, foutsituaties en referenties naar services om bijvoorbeeld een klantorder weg te schrijven. Berichtdefinities kunnen gebaseerd zijn op XML schema’s. Hiermee wordt een
eenduidige beschrijving van bijvoorbeeld een klant vastgelegd. Op basis van deze definities worden vervolgens variabelen gecreëerd, die als input en output van de verschillende activiteiten in het proces gebruikt worden.

Simulatie

Als het proces is uitgetekend kan gebruik gemaakt worden van een mooie feature van de BPM Suite: simulatiemodellen. Dit gebeurt op basis van een scenario’s die gebaseerd zijn op ondermeer kosten, de tijdsduur per activiteit evenals de beschikbare resources, rekening houdend met werktijden en vakantiedagen. Daarnaast kan bekeken worden wat het verschil gaat zijn wanneer er bijvoorbeeld een piek in verwerking optreedt of de uitkomsten van een processtap anders verdeeld zijn. Het is niet zo dat het proces daadwerkelijk uitgevoerd wordt, maar door het wijzigen van parameters kan het gedrag goed nagebootst worden vooraleer de implementatie gedaan is.


Simulatieparameters in BPM Studio

Wanneer alle stappen voorzien zijn van simulatieparameters moet het model opgenomen worden in een simulatiedefinitie, waar ondermeer de capaciteit en kosten van gebruikers in een rol gedefinieerd worden. De simulatie kan daarna worden uitgevoerd, waarbij de mogelijkheid bestaat om het proces real-time visueel te volgen of in één keer direct uit te voeren, zonder te wachten.
Op basis van de vergaarde data kunnen grafieken getoond worden. De grafieken zijn vaak niet helemaal duidelijk en inzoomen is niet echt mogelijk, maar er is een mogelijkheid om alle data als CSV-bestand te exporteren zodat zelf de grafieken gemaakt kunnen worden. Het is ook jammer dat er nog geen mogelijkheid is om twee simulaties met elkaar te vergelijken, zodat in één oogopslag  de verschillen zichtbaar worden.
Door het integreren van Oracle Business Activity Monitoring (BAM), onderdeel van de BPM Suite, wordt het wel mogelijk om het proces te monitoren tijdens executie. Op basis van de vergaarde gegevens kunnen rapportages gemaakt worden voor bijvoorbeeld voor KPI’s en de relatie daartussen met andere processen.


 

Kosten van de verschillende processtappen volgens simulatie

Process Composer

Door een BPM-project te publiceren als template in het register (MDS) kunnen objecten in de catalog gedeeld worden voor een snelle start van een nieuw proces. Daarnaast kunnen deze objecten dan uitgewisseld worden met de Process Composer, een webbased tool waarmee op hoog niveau een blauwdruk van een proces getekend kan worden, zonder jDeveloper en de BPM Studio. Dit is uitermate interessant voor business analisten omdat vrijwel overal het proces bekeken en gewijzigd kan worden met enkel een browser. Deze blauwdruk kan vervolgens weer terug in het register gezet worden, waarna ontwikkelaars de implementatie kunnen doen in de BPM Studio.

 
Process Composer

Implementatie

Wanneer het high-level proces is uitgewerkt moet het geïmplementeerd worden alvorens het daadwerkelijk uitgevoerd kan worden. Hiervoor moeten variabelen aangemaakt worden die in het proces gebruikt worden. Een voorbeeld is de uitkomst van een goedkeuring met uitkomst “Ja” of “Nee”. Die uitkomst wordt in een variabele “GoedkeuringsUitkomst” geplaatst waarna regels op basis van expressies gebruikt kunnen worden om de routering in het proces te sturen. De scope van zo’n variabele kan voor het hele project of proces gelden, maar ook een beperking op activiteitniveau is mogelijk als soort lokale variabele. Voor in- en uitgaande berichten kan de variabele op dataobjecten in de Business Catalog gebaseerd zijn. Wanneer webservicecalls moeten gebeuren kan de interfacedefinitie hiervan gebruikt worden om de implementatie rond te krijgen. Indien noodzakelijk kunnen ook transformaties van berichten plaatsvinden om koppeling met externe services of processen mogelijk te maken.

Interactieve activiteiten zoals het invoeren van een vakantieaanvraag of het goedkeuren van een order kunnen vrij gemakkelijk geïmplementeerd worden. In de BPM Studio worden vanuit de deze activiteiten formulieren gegenereerd die gebruik maken van dezelfde Human Task engine zoals in de SOA Suite. Echte gebruikers en rollen uit bijvoorbeeld een LDAP directory moeten gekoppeld worden zodat bekend wordt wie een bepaalde taak mag uitvoeren of delegeren.
Op basis van de berichtdefinitie in de Business Catalog worden ADF applicaties gegenereerd die als apart project verschijnen in de applicatie. Doormiddel van wizards kunnen templates toegepast worden om de schermen van een uniforme look & feel conform de bedrijfsstandaard te voorzien. Deze schermen zullen waarschijnlijk wel voldoen voor een proof of concept, maar gedegen ADF kennis is vereist wanneer rigoureuze aanpassingen zijn gewenst. Het voordeel is wel dat het proces inclusief invoerschermen voor menselijke taken in één keer wordt geïnstalleerd waarna het door de BPM runtime uitgevoerd kan worden.

BPM Workspace

De BPM Workspace is een webapplicatie waar de formulieren zichtbaar zijn waarvoor een gebruiker geautoriseerd is. Hier kunnen taken geïnitieerd worden en is een overzicht te zien van alle activiteiten die de aandacht nodig hebben, bijvoorbeeld voor de goedkeuring van een vakantieaanvraag. Deze taken kunnen ingedeeld worden volgens prioriteit en eventueel doorgeschoven worden naar een andere medewerker binnen de groep.

 
Takenlijst in de BPM Workspace

In de Workspace is het ook mogelijk om lopende processen te volgen, mits geautoriseerd. Hierbij wordt de actuele status van het proces getoond en zijn een aantal dashboards beschikbaar zodat bijvoorbeeld de workload per proces bekeken kan worden.
Daarnaast is het mogelijk als beheerder nieuwe gebruikers te koppelen aan de rollen zoals vastgelegd in het proces. Hiervoor hoeft geen gebruik gemaakt te worden van de BPM Studio. Kalenders en groepen kunnen binnen dezelfde omgeving gewijzigd worden, wat de flexibiliteit zeker ten goede komt.

Conclusie

De BPM Suite is een product wat gepositioneerd wordt om de kloof tussen de businessanalisten en ontwikkelaars te  versmallen. Daarnaast ligt de focus op het proces, waar tools als de BPA Suite zich meer lenen voor bedrijfsbreed modelleren. Processen die volgens de BPMN-standaard uitgewerkt zijn, zijn een stuk leesbaarder en meer begrijpbaar voor de business in tegenstelling tot standaarden als BPEL die op een lager niveau een processtap beschrijven. Implementatiedetails kunnen worden overgelaten aan ontwikkelaars, maar de vraag is in hoeverre deze nog zo flexibel zijn wanneer het proces aan verandering onderhevig is, wat immers het doel is van procesgeoriënteerde systemen. Bijvoorbeeld schermen voor Human Tasks zullen bij verandering in datastructuren opnieuw gegenereerd of aangepast moeten worden, waarbij gedegen ADF kennis wellicht noodzakelijk is.

Ook moet opgemerkt worden dat mogelijkheden die in de SOA Suite voorkomen zoals compensatie indien een fout optreedt hier niet direct aanwezig zijn. Dit betekent dus dat dit opgelost moet worden door ontwikkelaars in de vorm van BPEL-processen in de SOA Suite. Het grote voordeel van de BPM Suite is dat het een one-stop-shop is voor het modelleren, simuleren en uitvoeren van processen, waarbij integratie met de SOA Suite en Business Activity Monitoring tot de mogelijkheden behoort.

Referenties

Waardering:
 

Reacties

Nieuwe reactie inzenden

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.

Meer informatie over formaatmogelijkheden

CAPTCHA
Deze vraag is om te testen of u een persoon bent en om spam te voorkomen
Image CAPTCHA
Enter the characters shown in the image.