del.icio.us |
Digg |
Furl |
Netscape |
Yahoo! My Web |
Technorati |
Google Bookmarks |
Newsvine |
BlinkList |
reddit |
Blogmarks |
ma.gnolia |
Tailrank |
Windows Live |
Linkedin |
Geplaatst op 20 February 2009, 22:21 door Guus Löhlefink in soa, bpm, architectuur, it consultancy, xml, algemeen
Processen zijn niet van die ingewikkelde dingen. Het is allemaal een beetje als een als een machine: je stopt er wat in en er komt wat uit. Een compleet bedrijfsproces lijkt op een hele productielijn: de output van de ene machine is steeds de input van de andere.
Bij processen kan er van alles worden omgezet, maar als we over "informatieprocessen" praten, dan gaat het doorgaans om data. Die data kunnen elektronisch zijn, maar bv. ook op papier staan. En beoordelingen kunnen worden gedaan door slimme geautomatiseerde algoritmen of op basis van een menselijk oordeel. Geen probleem, want in Business Process Management werken mensen en machines immers gezellig samen?

Nu concentreer ik me al jaren op processen. Ik ben dol op data, maar tegenwoordig lijken gegevens niet meer te bestaan. Sinds de uitvinding van de Service-oriented Architecture (SOA) was ik de kluts een beetje kwijt. Daarom hield ik me alleen nog met processen bezig. Alleen zijn informatieprocessen zonder data net zo zinnig als machines zonder grondstof. Dus besloot ik vanmorgen toch maar eens wat dieper in de "webservices" te duiken en ik moet zeggen dat het me best beviel. Processen kun je lekker tekenen in BPMN en vervolgens kun je er zelfs BPEL van maken. 
Maar in BPEL kun je ook gegevens bestellen bij een service, met behulp van partner links. De gegevens die een partner link wil hebben komen gewoon uit het stopcontact! Of nee, je moet er wel om vragen...
Die stukjes WSDL waren best grappig en dat je er vanuit je proces via Internet tegen kunt praten vond ik helemaal grappig. Zo slecht zijn die webservices dus helemaal niet!
Toch had ik blijkbaar nog niet genoeg geleerd, want 's middags deed mijn collega Han, voor de tweede keer een poging mij te laten zien hoe nuttig Business Rules zijn. Die zorgen er namelijk voor dat de data die door een service worden geleverd voldoen aan allerlei afspraken (bedrijfsregels) die in het bedrijf van toepassing zijn. Bijvoorbeeld dat je alleen een klant bent als je een rekening hebt gehad (hmmm, dit komt te laat voor die miljoenen klanten van World Online die gratis inbelden...).
In de vorige sessie was ik nog niet overtuigd, want toen mocht ik volgens Han "niet meer aan de database komen", omdat alles via "services" werd geleverd. De rules zorgden er dan namelijk voor dat die services consistente data leverden.
Aangezien het enige dat ik van IT begrijp nou net databases zijn, wilde ik helemaal niet dat er services tussen zaten. Mijn laatste strohalm weg! Gewoon met de database zelf praten, want de constraints bewaakten de integriteit immers wel?
Maar deze keer kon ik er - als gevolg van mijn ochtendsessie - wèl mee uit de voeten. Wèg met het doe-het-zelven op datagebied! We hebben er met z'n allen namelijk een zootje van gemaakt. Soms staan er in een bedrijf tientallen databases, allemaal met hun eigen (inconsistente) constraints en eigen (onderling strijdige) definities.
Als je bedrijfsprocessen van begin tot eind wilt ondersteunen, móet je een keer afstand nemen van je "eigen" systemen en gewoon gebruik gaan maken van "bedrijfsservices". En om die over de gehele organisatie consistent te houden, is het wel zo slim om één bedrijfsbrede set met regels te hanteren - en dus niet iedere afdeling een eigen kijk op de wereld te laten houden. En die regels heten "Business Rules".
Arneid, machines (kapitaal), grondstoffen èn informatie... De Rules zijn inderdáád een zelfstandige productiefactor. Integrale bedrijfsprocessen, die gebruik maken van services, die weer worden bewaakt door Business Rules. Een prima drieëenheid eigenlijk. Als instrument voor het personeel wel te verstaan!




