ESB

Pagina

Dovetail is gebaseerd op een zogenoemde Enterprise Service Bus (ESB) oplossing. Een ESB zorgt voor de juiste infrastructuur, het is het centrale punt tussen je bedrijfsapplicaties en de verbinding tussen klanten en leveranciers.

Enterprise Service Bus
Een ESB is een architecturale softwareconstructie (pattern) waarmee de communicatie tussen de afnemers van diensten en aanbieders hiervan vereenvoudigd wordt. De ESB biedt hiertoe aan de kant van de aanvrager een met de aanvrager afgesproken interface aan, dit kan een webservice zijn, maar bijvoorbeeld ook een SMTP (e-mail) interface. Aan de kant van de aanbieder zal de ESB via de interface die met de aanbieder is afgesproken communiceren. Zo kan het dus gebeuren dat een aanvrager van een dienst op een compleet andere wijze met de ESB communiceert dan de ESB met de aanbieder. De ESB vertaalt het bericht naar het juiste berichttype en stuurt het door naar de juiste ontvanger. 

Door de toevoeging van de ESB-component binnen een software-architectuur kan de wijze waarop service-aanvragers communiceren met service-aanbieders gestandaardiseerd worden, immers is er alleen een afspraak tussen de ESB en de aanvrager of aanvragers die van dezelfde service gebruikmaken. Het is de taak van de ESB om de informatie die binnenkomt bij een aanvraag en daarbij behorende informatie op de juiste wijze te vertalen (transformeren) naar het formaat dat door de serviceaanbieder verwacht wordt.

De ESB-component is verantwoordelijk voor het op de juiste plaats afleveren van een aanvraag, dus bij de juiste aanbieder of wellicht aanbieders van services. Binnen de afhandeling van deze aanvragen zorgt de ESB verder voor de afhandeling van fouten en het eventueel prioriteren van de aanvragen, met andere woorden, bepaalt welke aanvraag het eerst dient te worden afgehandeld, etc. Dit geheel van aanvraag afhandelen en de controles die hierbij komen kijken wordt aangeduid als orkestratie van serviceaanvragen.

Een volgend aspect van een ESB-component is de beveiliging van aanvragen en de gegevens die hiermee gemoeid zijn. Hierbij gaat het dus naast het beveiligen van het communicatiekanaal ook om wie (welke gebruiker of rol) een service mag aanvragen.

Een laatste veel voorkomende taak van een ESB-component is het monitoren van de aanvragen die gedaan worden en hiervan statistische gegevens bijhouden, zoals hoe vaak een service wordt aangeroepen, hoe vaak dit fout of juist goed gaat en hoelang een aanvraag duurt. Op basis hiervan kan later gerapporteerd worden, maar er kan ook direct gereageerd worden indien bijvoorbeeld binnen de orkestratie van een aanvraag een service aangeroepen wordt die een foutafhandeling uitvoert. Binnen monitoring valt ook het controleren op vooraf gestelde SLA’s voor een service, die in de ESB gedefinieerd zijn, met acties indien een SLA niet gehaald wordt.


Zonder gebruik te maken van een ESB hebben aanvragers en aanbieders zogenaamde “point-to-point” verbindingen en lopen deze kriskras door de organisatie. Door de toepassing van een ESB hebben aanvragers één gestandaardiseerde interface met de ESB en zullen aanvragen via de ESB afgehandeld worden.

Concluderend kan worden gezegd dat een ESB onmisbaar is als “enabler” in een organisatie waar een Service Oriented Architecture ontwikkeld wordt. De ESB zorgt voor de juiste infrastructuur waarop op hoger niveau, vanuit de functionele gedachte (business) naar processen wordt gekeken en hoe deze te verbeteren zijn binnen een organisatie.