Difference between revisions of "3.4.1 Introductie SOA voor Organisaties"

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

Revision as of 09:56, 26 September 2009


Relatie tussen business en techniek

SOA biedt de business nieuwe mogelijkheden om een sterkere sturing te geven aan ontwikkelingen en op een andere, meer effectieve manier te voorzien in haar behoeften op het gebied van functionaliteit. Het toepassen van een SOA werpt pas echt haar vruchten af als het zowel vanuit de business als de techniek wordt ondersteund en toegepast.


Een SOA is geen korte termijn investering of inspanning, maar is een aanpak die gericht is op de langere termijn. Deze kenmerken van een SOA vragen om een duidelijke borging binnen de organisatie op het snijpunt van business en techniek. Deze rol valt daardoor automatisch op het bord van de Enterprise Architecten die als taak hebben de strategische business visie van de organisatie te vertalen in een stabiele lange termijn aanpak die de realisatie van deze strategische visie vanuit de techniek mogelijk maakt. De Enterprise architectuur schept niet alleen kaders via principes en richtlijnen, maar zorgt ook voor de bewaking van deze kaders.


Onderdeel van de Enterprise architectuur is het helder hebben van minimaal de primaire processen van de organisatie. De processen worden door proces architecten in kaart gebracht. Binnen een SOA context is de rol van deze procesarchitecten cruciaal. Services zijn namelijk het meest eenvoudig te destilleren uit de processen. De procesovergangen of individuele processtappen zijn dé kandidaten om de gewenste functionaliteit en/of informatie via een service beschikbaar te maken. Indien meerdere primaire processen gebruik maken van dezelfde informatie en/of functionaliteit, neemt het nut van het als service beschikbaar stellen steeds meer toe.


De proces architecten kunnen vanuit hun expertise een lijst opleveren van potentiële services. De business architecten vormen bij uitstek het aanspreekpunt om het nut van de services voor de business aan te geven en waarderen. Concluderend kan gesteld worden dat de combinatie van expertises binnen de Enterprise Architectuur, die zorgdragen voor borging op de lange termijn, het bepalen van potentiële services en het nut per service van essentieel belang zijn voor een SOA.


Binnen een keten geldt dat grofweg dezelfde aanpak en expertisegebieden ingevuld moeten worden voor een succesvolle SOA. Verschil met een organisatie is dat deze autonoom beslissingen kan nemen over wat een service is en een eigen definitie heeft van nut en noodzaak. Binnen een keten is het noodzakelijk om zorg te dragen voor een consistente en coherente set van services die voor de keten nuttig zijn. Dit betekent dat vanuit een ‘keten architectuur’ de ketenprocessen helder gemaakt moeten zijn en op basis van criteria als nut voor de keten services gedestilleerd kunnen worden vanuit de procesovergangen en processtappen. De keten architectuur zal daarnaast invulling moeten geven aan standaardisatie van o.a. naamgeving van services, berichtdefinities, metadata en stimuleren van het toepassen van services.


Eigenaarschap

Aangeboden services kennen in principe een eenduidige eigenaar. De functionaliteit en informatie die door een service geboden wordt, worden door deze eigenaar op tal van manieren gegarandeerd. Hieronder vallen onder andere:

  • de verschillende manieren van beschikbaarheid
  • de kwaliteit en het gebruiksrecht.

Bovenstaande zijn zaken die in een Service Level Agreement (SLA) vastgelegd moeten worden. Binnen de ebXML familie zijn mogelijkheden om deze zaken vast te leggen, maar deze zijn onvoldoende uitgekristalliseerd en toegepast. Gezien het principe dat een service afnemer een ‘menselijke’ validatie slag uitvoert op het nut van een service, kan dezelfde validatie ook plaatsvinden op de SLA van de service. Dit betekent dat de SLA in een goed leesbare en duidelijke vorm beschikbaar moet zijn als onderdeel of bijlage van een service definitie.


Service oriëntatie maakt het mogelijk, of nodigt uit om meer functioneel ingerichte en business gerelateerde services te leveren. Hiervoor kan gebruik gemaakt worden van het orkestreren (assemblage) van services. Een voorbeeld is het op provincieniveau aanbieden van een kadastrale kaart die diverse gemeentelijke systemen combineert tot een gebied. Het is zaak om ook voor deze gecombineerde services een eenduidige eigenaar te hebben.
Binnen een organisatie is dit (relatief) eenvoudig te regelen, maar binnen een keten waar services van meerdere partijen tot één service omgesmeed worden, moeten hiervoor voorzieningen getroffen worden. Dit kan door onderlinge afspraken te maken en één van de aanbieders van de onderliggende services eigenaar te maken. Het kan ook door een derde partij in te schakelen en zo via gedelegeerd eigenaarschap de service aanbieden. Het streven moet zijn om een aanspreekpunt te hebben voor een service. Deze derde partij kan de ketencoördinator zijn, die als een soort uitgever van services acteert.


Beveiliging

Services leveren informatie en functionaliteit die niet door of voor iedereen bruikbaar mag zijn. Een adequate beveiliging is een vereiste van een SOA. Binnen een keten zal de ketencoördinator of de gezamenlijke partijen een minimale set van beveiligingseisen neerleggen waaraan de partners moeten voldoen.
Belangrijk onderdeel van deze eisen is het vertrouwen van de andere partijen. Dit is een eis die ervoor zorgt dat de kosten gemoeid met beveiliging op een acceptabel niveau gehouden kunnen worden. Als er geen vertrouwen is zal de beveiliging extreme vormen aannemen met gelijkwaardige kosten.
Beveiliging kent een aantal aspecten, waarbij een tweedeling de meest voor de hand liggende optie is:

  1. Het verlenen van toegang tot de service,
  2. Het mogen uitvoeren van de service.


Het verlenen van toegang is een functionaliteit die door de infrastructuur opgelost moet worden. Onderdeel hiervan is authenticatie van de service afnemer en validatie of de service aangeroepen mag worden. Een puur technische aangelegenheid die ingevuld kan worden met WS-Security die binnen en SOA standaarden voorschrijft op dit terrein. De beveiliging van het uitvoeren van services is geen verantwoordelijkheid van de infrastructuur, maar van de service (leverancier) zelf. Uiteraard wordt hierbij gebruik gemaakt van de authenticatie gegevens, maar het mogen uitvoeren of inzien van informatie die door een service wordt geleverd is een business functionaliteit. Het kan immers zo zijn dat het resultaat van een informatie leverende service verschillend is tussen de gebruikers. Zo kan bijvoorbeeld de ene service gebruiker wel prijsinformatie zien, terwijl dat voor de andere service gebruiker eruit wordt gefilterd.



previous Services Oriented Architecture (SOA) next