Difference between revisions of "3.3.4 Service Enterprise Bus"

From Geonovum Wiki
Jump to: navigation, search
(Overheidsservice bus (OSB))
 
m (1 revision)
(No difference)

Revision as of 09:56, 26 September 2009


Hoewel de ESB voor de praktijk een cruciale rol speelt wordt er voor het gebruik van SOA in het Geo domein 
weinig aandacht aan besteed. Neemt niet weg dat in de IT-omgeving van de organisatie die SOA mplementeert, 
de ESB aanwezig is (meestal in de vorm van de daarvoor beschikbare softwareproducten). 
Voor de duidelijkheid wordt er in deze module daarom aandacht aan besteedt; het vormt een wezenlijk onderdeel 
van de architectuur.

Wat doet een ESB?

In het kort de taken van een Enterprise Service Bus (ESB) op een rij:

  • Een ESB “bemiddelt” tussen service aanvragers en service aanbieders
  • Een ESB zorgt voor standaardisatie van de communicatie met service aanvragers
  • Een ESB handelt de transformatie van gegevens tussen aanvrager en aanbieder af
  • Een ESB orkestreert de afhandeling van aanvragen en het doorsturen naar aanbieders
  • Een ESB monitoort de service aanvragen en rapporteert over het gebruik van aanvragen

De verschillende taken worden hieronder uiteengezet.


ESB bemiddelt

EnterpriseServiceBus schema.png

Een Enterprise Service Bus (ESB) is een architecturele Softwareconstructie (pattern) waarmee de communicatie tussen de afnemers van diensten (“service”) 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 en tal van andere mogelijkheden. Aan de kant van de aanbieder zal de ESB via de interface die met de aanbieder is afgesproken communiceren. Zo kan het zijn dat een aanvrager van een dienst op een compleet andere wijze met de ESB communiceert dan de ESB met de aanbieder. De figuur hiernaast geeft dit schematisch weer.


ESB standaardiseert communicatie

Door de toevoeging van het ESB component binnen een software architectuur kan de wijze waarop service aanvragers communiceren met service aanbieders gestandaardiseerd worden. Er is immers alleen een afspraak tussen de ESB en de aanvrager of aanvragers die van dezelfde service gebruik maken.


ESB transformeert

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 service aanbieder verwacht wordt.


ESB orkestreert

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 prioriseren van de aanvragen. Met andere woorden, welke aanvraag dient eerst te worden afgehandeld. Dit geheel van aanvraag afhandelen en de controles die hierbij komen kijken wordt aangeduid als orkestratie van service aanvragen.
Een volgend aspect van een ESB component is de beveiliging van aanvragen en de gegevens die hiermee gemoeid zijn. Hierbij gaat het naast het beveiligen van het communicatie kanaal (bv. een beveiligde webservice via HTTPS) ook om wie (welke gebruiker of rol) mag een service aanvragen.


ESB monitoort

Een laatste veel voorkomende taak van een ESB component is het monitoren van de aanvragen die gedaan worden en hiervan statistische gegevens bijhouden.
Bijvoorbeeld:

  • hoe vaak wordt een service aangeroepen,
  • hoe vaak gaat dit fout of juist goed,
  • hoe lang duurt een aanvraag


Op basis hiervan kan later gerapporteerd worden, maar 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.


Waarom een ESB?

Hier volgt een beknopte opsomming van de redenen waarom een ESB gebruikt zou kunnen worden en de voordelen die het oplevert.


  1. Compleet loskoppelen of gedeeltelijk ontkoppelen (loosely coupled) van service aanbieders en service aanvragers. Aanvragers communiceren hierdoor met de ESB en niet direct met de aanbieder.
  2. vereenvoudigen en standaardiseren van interfaces tussen aanbieders en aanvragers. Hierdoor ontstaat één generieke manier van communiceren met de ESB, de ESB zorgt voor communicatie met de onderliggende systemen.
  3. Het stimuleren van hergebruik. Doordat services beschikbaar zijn op een centraal niveau (binnen de ESB) en gemakkelijk toegankelijk, kunnen ze sneller worden toegepast in andere systemen.
  4. Centrale en generieke manier van service monitoring. Binnen de ESB kunnen services gemonitored worden en gecontroleerd op afgesproken SLA’s op een generieke manier. De monitoring hoeft niet meer bij iedere service aanbieder te worden ingericht, maar gebeurt centraal in de ESB.
  5. Reduceren van “time-to-market” door hergebruik en minder implementatie tijd. Hierdoor kan de organisatie (business) sneller inspringen op veranderingen in de organisatie of omgeving.


Zonder gebruik te maken van een ESB hebben aanvragers en aanbieders zogenaamde “Point-to-Point” verbindingen en lopen deze kris-kras 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 (SOA) 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.


Aanbieders-ESB-Services-Afnemers.PNG


► Bron en meer hierover in de wikipedia

Overheidsservice bus (OSB)

De Nederlandse overheid heeft een OverheidsServiceBus (OSB) ingericht. Dit is een nationale implementatie van een ESB. De OSB is een verzameling (technische) standaarden om elektronische gegevensuitwisseling tussen overheidspartijen mogelijk te maken. De OSB-standaarden maken dat de uitwisseling tussen partijen veilig, betrouwbaar en efficiënt kan verlopen. Daarnaast levert OSB enkele (technische) voorzieningen, die het voor partijen makkelijker maken om aan de OSB standaarden te kunnen voldoen.

Het programma realiseert vier zaken:

  • OSB koppelvlakstandaarden
  • OSB Service Register
  • OSB Gateway
  • OSB Compliancevoorzieningen


Het doel van de OverheidsServiceBus is de onderlinge gegevensuitwisseling tussen overheidsorganisaties sterk te standaardiseren en vereenvoudigen. De OverheidsServiceBus is de 'postbode' waarmee het berichtenverkeer van basisregistraties tussen service aanbieders en service afnemers heen en weer gaat. Het is een innovatieve infrastructurele standaard met bijbehorende voorziening die gegevens tussen registraties en afnemers onderling verstuurt, bewaakt, beveiligt.



previous Services Oriented Architecture (SOA) next