Encyclopedie
Begrippenlijst

Samengestelde diensten en procesdiensten

Uit Triple A Encyclopedie
Ga naar: navigatie, zoeken

Een gelaagd netwerk van diensten

Basisservices bieden een dienst aan. Samengestelde services en processervices bieden niet alleen een dienst aan, maar nemen ook diensten af. Zo ontstaat een gelaagd netwerk van diensten (zie onderstaande illustratie.)

11 - samengestelde diensten.png

Samengestelde diensten

Samengestelde diensten bouwen voort op de diensten die geleverd worden door andere diensten. De dienst waarop een samengestelde dienst voortbouwt is vaak een basisdienst, maar het kan ook een andere samengestelde dienst zijn. Het voortbouwen op een bestaande dienst kan door iets aan een bestaande dienst toe te voegen of door meerdere diensten te combineren tot één samengestelde dienst.

Functionele en technische toevoegingen 
Een voorbeeld van een dienst die alleen iets toevoegt, is een dienst die bijvoorbeeld een afwijkende manier van het registreren van beoordelingen ondersteunt. In dat geval kan er een samengesteld service worden gerealiseerd die gebruik maakt van de standaard service en daar nog wat extra functionaliteit aan toevoegt.
Orkestratie van diensten, vaak uit verschillende domeinen 
Een tweede functie van samengestelde diensten is het combineren van diensten. Dat wordt orkestratie genoemd. De samengestelde dienst orkestreert de volgorde waarin andere diensten uitgevoerd worden en bepaalt welke functie ze in het geheel vervullen.
Zo’n samengestelde dienst kan bijvoorbeeld een dienst zijn die een beoordeling registreert inclusief het bijbehorende materiaal. De samengestelde dienst maakt gebruik van twee bestaande diensten om de beoordeling te registreren en de documenten op te slaan. Een samengestelde dienst zorgt ervoor dat beide services in de juiste volgorde en rekening houdend met hun onderlinge afhankelijkheden gebruikt worden. Dit maakt het gebruik van diensten eenvoudiger door de complexiteit te verbergen die komt kijken bij het coördineren van twee services door er een overkoepelende service voor te realiseren.

Een samengestelde dienst kan ook basisdiensten uit verschillende domeinen gebruiken. De beoordeling wordt bijvoorbeeld geregistreerd onder verantwoordelijkheid van de deelnemeradministratieOrganisatorische entiteit binnen de instelling waarbinnen het geheel van administratieve activiteiten rond de registratie van deelnemers is belegd.. Het beoordelingsmateriaal belandt in het documentensysteem dat beheerd wordt door het examenbureauOrganisatorische entiteit binnen de instelling die zich bezig houdt met het verwerken van summatieve resultaten en het aanmaken van kwalificerende documenten. Binnen een instelling kunnen andere benamingen worden gegeven aan de organisatie examenbureau. of archivering.

Procesdiensten bewaren hun status

Procesdiensten zijn de derde categorie diensten. Samengestelde services en basisservices worden normaal gesproken in een korte tijd uitgevoerd. Ze ontvangen een verzoek, voeren hun taak direct uit en geven eventueel een antwoord terug. Dat is anders bij procesdiensten.

Een procesdienst ondersteunt een heel bedrijfsproces, waarbinnen ook menselijke acties een plek hebben. Kenmerkend voor een procesdienst is dat deze wordt gestart, maar niet direct helemaal kan worden uitgevoerd en eindigt met een resultaat. In plaats daarvan worden onderdelen van de dienst achtereenvolgens aangeroepen om de verschillende stappen van het proces te doorlopen. De opvolgende aanroepen kunnen bijvoorbeeld dienen voor het verstrekken van aanvullende informatie door verschillende gebruikers (rollen) in het proces. Tussen de aanroepen door moet de service de gegevens onthouden. Een procesdienst is dan ook ‘statefull’, ze onthoud haar status. Een voorbeeld is de service ‘intakeOnderdeel van het proces van inschrijven met als doel te bepalen of de instelling passend onderwijs kan bieden. Dit kan inhouden dat het nodig is de leervraag van de potentiële deelnemer nader te specificeren of een assessment te doen. Dit proces gaat vooraf aan het daadwerkelijk sluiten van de verbintenis.’ die gebruikt wordt bij de intakeOnderdeel van het proces van inschrijven met als doel te bepalen of de instelling passend onderwijs kan bieden. Dit kan inhouden dat het nodig is de leervraag van de potentiële deelnemer nader te specificeren of een assessment te doen. Dit proces gaat vooraf aan het daadwerkelijk sluiten van de verbintenis. van een potentiële deelnemerMogelijk (nieuwe) deelnemer van de instelling in de fase intake nog voor het afsluiten van een verbintenis voor het afnemen van onderwijsproducten..

De procesdienst bestaat in dat voorbeeld uit een aantal stappen die met een bepaalde onderlinge samenhang door verschillende gebruikers (rollen) worden uitgevoerd. Aan het begin van de intakeOnderdeel van het proces van inschrijven met als doel te bepalen of de instelling passend onderwijs kan bieden. Dit kan inhouden dat het nodig is de leervraag van de potentiële deelnemer nader te specificeren of een assessment te doen. Dit proces gaat vooraf aan het daadwerkelijk sluiten van de verbintenis. voert de deelnemerIemand die onderwijs volgt binnen een instelling. Een deelnemer is in bezit van een verbintenis met een instelling voor het afnemen van onderwijsproducten. Een ander woord voor deelnemer is lerende leerling of student. via het internet gegevens over zichzelf en zijn wensen in. Een paar dagen later heeft hij een intakegesprek met een medewerker. Een gesprekverslag en de keuzes die in het gesprek gemaakt worden, worden via de intakeservice vastgelegd. Nadere gesprekken en keuzes volgen waarna het intakeproces uiteindelijk wordt afgerond.

Procesdiensten maken het mogelijk om een heel organisatieproces in een service op te nemen. Een proces dat uren tot weken kan duren. Waarin vaak gewacht wordt op stappen die handmatig uitgevoerd moeten worden, waarna het proces weer verder gaat. Door procesdiensten te gebruiken wordt een duidelijk scheiding aangebracht tussen het (relatief veranderlijke) organisatieproces en de (minder veranderlijke) achterliggende diensten en de gebruikersinterface.

Lagenprincipe voor beheerste softwareontwikkeling

Zoals in de figuren te zien is gebruiken de afnemers procesdiensten of lager gelegen diensten, maar nooit andersom. Datzelfde geldt voor de lagen daaronder; diensten roepen alleen diensten uit dezelfde laag of lagere lagen aan. Dit ‘lagen principe’ maakt complexe software beter begrijpbaar en onderhoudbaar.

Lagere diensten ontwerpen voor hergebruik

Een belangrijke doelstelling bij serviceoriëntatie is hergebruik van diensten. Het is de bedoeling dat diensten in de lagere lagen ontworpen worden zodat ze bruikbaar zijn voor meerdere dienstenafnemers. Het gaat om de basisdiensten en deels om de samengestelde diensten. Door die herbruikbaar te ontwerpen hoeft er minder software ontwikkeld en onderhouden te worden. Procesdiensten zijn over het algemeen minder herbruikbaar. Ze ondersteunen een uniek organisatieproces.

De implementatie van handmatige activiteiten

Diensten en processtappen in diensten kunnen door een mens (handmatig) of door software uitgevoerd worden (geautomatiseerd). Voor handmatige activiteiten zijn aanvullende voorzieningen nodig om dat goed te ondersteunen in een service-georiënteerde architectuur. Een gebruiker bepaalt tenslotte zelf wanneer en in welke volgorde taken worden uitgevoerd.

Er zijn twee manieren om de afhandeling van menselijke taken in een servicegeoriënteerde architectuur vorm te geven

met behulp van takenlijsten 
Een processervice kan een handmatige taak op een takenlijst van een bepaalde gebruiker, of beter nog van een bepaalde rol zetten. In dat geval kunnen gebruikers met deze rol deze takenlijst raadplegen, en de taak uitvoeren. Het uitvoeren van zo’n taak betekent dat de bijbehorende stap in de processervice wordt uitgevoerd; praktisch gezien gewoon het aanroepen van een service binnen die processervice. De processervice kan dan weer verder.
door de status van services te monitoren 
De service in een wachtstand terecht komt wanneer er een menselijke handeling moet worden uitgevoerd. Via een monitoring voorziening kan een gebruiker met de juiste rol zien wat de status van een bepaalde service is. Hij voert de betreffende taak uit die bij de betreffende status hoort; ook dit is praktisch gezien gewoon het aanroepen van een service binnen die processervice. Op dat moment kan de processervice weer verder.