Encyclopedie
Begrippenlijst

Servicebus

Uit Triple A Encyclopedie
Ga naar: navigatie, zoeken

Een belangrijk onderdeel van de technische architectuur is de servicebus. Er zijn verschillende interpretaties van wat een servicebus allemaal omvat, deels ook ingegeven door commerciële belangen. Wij interpreteren het als de volledige service infrastructuur. Die vervult diverse functies, waarvan we er hier een aantal zullen toelichten.

11 - servicebus.png

Een flexibel en onderhoudbaar domeinoverstijgend systeem

Eerder is al het uitgangspunt besproken dat de architectuur in principe per organisatiedomein is ingericht. De uitdaging is dan ook wanneer diensten buiten het eigen domeinHet (opleidings)domein is de eerste laag van de kwalificatiestructuur. beschikbaar worden gesteld. Er ontstaat dan een gedistribueerde omgeving waarin software domeinoverstijgend gekoppeld wordt. Dit vereist aanvullende maatregelen om dit flexibel en onderhoudbaar te houden.

Losjes koppelen 
Ten eerste worden domeinoverstijgende diensten ‘losjes’ aan elkaar gekoppeld in een service georiënteerde architectuur, wat betekent dat er zo min mogelijk afhankelijkheden ontstaan. Dit kan op verschillende manieren worden bereikt. Een veel gebruikt aspect van los koppelen is dat de dienstafnemer en de dienstenaanbieder gegevens niet in hetzelfde formaat hoeven te communiceren. Ze gebruiken een intermediair om het gegevensformaat te vertalen. Dit vertalen is een functie van de servicebus. Het grote voordeel is dat niet alle informatie die binnen de organisatie uitgewisseld wordt overal in precies hetzelfde formaat hoeft te worden opgeslagen. Pogingen om deze homogeniteit wel te realiseren mislukken bijna altijd. Los koppelen is belangrijk voor de flexibiliteit en onderhoudbaarheid van software die over organisatiedomeinen heen gekoppeld is.
Publicatie van diensten 
Een tweede maatregel is dat diensten geregistreerd worden in een register en beschreven in een ‘repository’. Een register is een onderdeel van de servicebus. In een register staan alle technische details van een dienst, zodat deze technisch aanroepbaar is. In een repository wordt van elke dienst beschreven wat de dienst is, onder welke voorwaarden ze afgenomen kan worden, enz. Ook dit draagt bij aan de onderhoudbaarheid en flexibiliteit van het gedistribueerde systeem. Daarnaast maakt zo’n repository het hergebruiken van services gemakkelijker.

Situationeel gebruik servicebus

Het is niet altijd nodig om alle services op deze manier, dus via een servicebus, losjes te koppelen en te beschrijven en te publiceren in een repository. Deze maatregelen zijn complexer te realiseren en te implementeren; als het niet nodig is moet je het niet doen. Diensten die samen één applicatie vormen kunnen ook binnen de applicatie van elkaars services gebruik maken zonder een servicebus. Alleen voor het aanroepen van diensten uit een ander domeinHet (opleidings)domein is de eerste laag van de kwalificatiestructuur. wordt de servicebus gebruikt.

Ook het gebruik van een servicebus voor gegevensvertaling is niet altijd nodig. Het is mogelijk en wenselijk om belangrijke gegevens voor de hele organisatie te standaardiseren. Het beheer van deze gegevensdefinities moet dan wel op een goede manier organisatorisch belegd worden. Op deze manier kunnen ingewikkelde vertalingen van gegevens worden voorkomen. Het gaat hier wel uitdrukkelijk om de belangrijkste gegevens binnen een organisatie die in verschillende organisatiedomeinen van belang zijn.

De voor- en nadelen van het gebruik van diverse servicebusfunctionaliteiten moet dus per situatie worden afgewogen.

Organisatieoverstijgende samenwerking servicebussen

De servicebus van een organisatie kan samenwerken met de servicebus van een andere organisatie. Zo kan losjes gekoppeld worden met diensten die een andere organisatie levert. Het ligt voor de hand om binnen een instellingen te kiezen voor één servicebus, maar dat is in principe niet nodig. De service-infrastructuur binnen een organisatie kan worden gezien als één (logische) servicebus die kan bestaan uit meerdere, onderling gekoppelde servicebussen.