De overlay tussen GIS en SOA De Service Oriented Architecture (SOA) is een concept uit de IT-wereld. Vanwege de vraag naar organisatiebrede informatievoorziening heeft het concept SOA tevens de GIS-afdelingen bereikt. De vraag die nu rijst is hoe het concept SOA kan worden toegepast binnen de GIS-afdelingen. SOA wordt gebracht als de oplossing voor veel problemen. De vraag die vervolgens moet worden gesteld is welke problemen worden opgelost en wat deze SOA zou moeten kunnen. Tevens zal goed moeten worden bekeken wat het opzetten van een SOA betekent voor de organisatie en wat de consequenties zijn. Is dit een activiteit van de IT-afdeling of komt er meer bij kijken? Dit artikel zal nader ingaan op een aantal karakteristieken van een SOA, inclusief een aantal gevolgen voor de GIS-afdeling. Vervolgens zal worden gekeken naar een voorbeeld waar een SOA-benadering met GIS is gehanteerd. Raakvlakken van INSPIRE met SOA
H 438
et definiëren van een SOA blijkt in de praktijk erg lastig en is in de loop van de tijd veranderd door allerlei invloeden. De term ‘Service Oriented Architectures’ werd in 1996 geïntroduceerd door Gartner [Schulte en Natis, 1996] en luidde als volgt: A service-oriented architecture is a style of multitier computing that helps organizations share logic and data among multiple applications and usage modes. Deze definitie richt zich met name op de (inhoudelijke) processen die zich binnen de organisatie afspelen en duidelijk minder op de techniek. Binnen dit artikel wordt tevens meer ingegaan op de interfaces en ook op de logica die achter de verschillende applicaties schuilt. Een aantal jaren terug is de term SOA meer gaan leven vanwege een andere nieuwe industriële technologie trend: webservices. Webservices kunnen beschouwd worden als middel om een SOA te realiseren. Eén van de meest toonaangevende organisaties in de ontwikkeling van webservices is de OASIS (the Organization for the Advancement of Structured Information Standards). Uiteraard heeft de OASIS tevens haar eigen definitie van een SOA, namelijk: A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations. Wanneer op het web gezocht wordt naar definities van SOA zal men nog veel meer definities vinden. Aangezien er nog geen algemeen geaccepteerde definitie van bestaat, weet men in ieder geval zeker dat iedereen een ander beeld heeft van een SOA. In dit artikel wordt uitgegaan van de definitie die Gartner heeft uitgebracht en zal hierbij tevens gedetailleerder worden ingegaan op de doelstellingen van een SOA.
GEO-INFO 2007-11
Ir. M.A. de Rink, business consultant ESRI Nederland
Het EU-project INSPIRE faciliteert de ontwikkeling van een informatie-infrastructuur die in staat is data uit te wisselen via services. Een SOA daarentegen is een concept waarbij de business-processen centraal staan en logica dient te worden ondersteund. Vanwege het generieke niveau van INSPIRE kan het concept daarvan SOA niet meenemen. Hieruit blijkt ook dat het doel van INSPIRE niet gericht is op de toepassing van SOA. Indirect heeft INSPIRE echter wel degelijk invloed op SOA-ontwikkeling. De richtlijnen, benoemd in de Implementing Rules, dienen de basistechnologieën voor invoering van een SOA toe te staan. Gartners definitie over SOA beschrijft de volgende basisfunctionaliteiten: ... in share logic and data among multiple applications and usage modes. Raakvlakken tussen INSPIRE en Gartner’s definitie over SOA kunnen uitgesplitst worden naar de volgende basisfunctionaliteiten: • Afstemming van inhoud (inhoudelijke logica tijdens gebruik): semantisch moet de data afgestemd worden. Het Drafting Team Data Harmonisatie heeft de taak deze semantiek aan te kunnen brengen en hier efficiënte mechanismen en methodieken voor te bedenken en
2006). IMRO is een implementatie-specificatie van abstractere standaarden (ISO/NEN3610). Deze basistechnieken zijn complementair en kunnen prima naast elkaar worden gebruikt. Vanuit een aantal ISO-standaarden is GML gecreëerd, waarna vervolgens door gebruikers extra afspraken worden gemaakt en een profiel (van GML) ontstaat. Vervolgens kunnen deze GML-bestanden worden uitgewisseld met SOAP services (indien INSPIRE services volgens Serrano worden ingezet). Hieruit volgt dat INSPIRE niet voorziet in de ontwikkeling van SOA. INSPIRE is gericht op data-uitwisseling binnen het (geo-)domein van milieu-informatie en niet op de dynamiek van processen. De keuze van de basistechnieken in INSPIRE kan wel toegepast worden om door te groeien in de richting van een SOA. te ontwikkelen. Deze methodieken kunnen ingezet worden binnen een SOA. Een voorbeeld is gebruik van GML. Door middel van GML kan betekenis aan data worden gegeven. De gebruikers dienen van te voren wel hun ‘wereld’ (Universe of Discourse) te definiëren. • Uitwisseling van data tussen verscheidene applicaties: voor de (meervoudige) uitwisseling van databerichten tussen de verschillende applicaties dienen duidelijke afspraken gemaakt te worden. Binnen het Drafting Team Netwerk Services worden hier richtlijnen voor gemaakt. In juli, tijdens de dertiende EC-GIS Meeting, heeft de voorzitter van dit Drafting Team, Jean-Jaques Serrano, aangegeven dat de INSPIRE service, W3C services dienen te zijn en volgens WSDL beschreven dienen te zijn [Serrano, 2007]. Beide basisfunctionaliteiten vanuit INSPIRE ondersteunen het opzetten van een SOA. Betreffende de infrastructuur dienen de de facto-standaarden gehanteerd te worden in de industrie (fig. 1). Groot voordeel is dat de grote partijen deze de facto-standaarden ondersteunen en verder ontwikkelen. Kenmerkend voor deze technologieën is dat deze generiek zijn en niet aan een domein gerelateerd zijn. Een voorbeeld hiervan zijn de W3C Services (o.a. SOAP services). Afstemming van de inhoud dient wel domein-specifiek geregeld te worden. Afspraken tussen gebruikers en leveranciers moeten zorg dragen dat data op een zinnige manier kan worden uitgewisseld. Bijvoorbeeld binnen de Ruimtelijke Ordening heeft dit geresulteerd in het Informatie Model voor de Ruimtelijk Ordening (IMRO
Fig. 1. Positionering standaarden.
De visie vanuit de business Na de behandeling van de techniek dient tevens het nut van een SOA in de business aangetoond te kunnen worden. SOA dient geen speeltje van de IT-ers te zijn maar een instrument voor de business om de werkprocessen beter en sneller te kunnen uitvoeren. Om dit te kunnen doen dient een fundamentelere vraag te worden beantwoord. Ten eerste zal worden toegelicht wanneer het handig is om een SOA op te zetten. Uitgangspunt is het bedrijfsplan. Ten tweede moet worden ingegaan op voordelen als het verbeteren van de kwaliteit en het procesgericht maken van de informatievoorziening.
439
De strategiepiramide
Fig. 2. De strategiepiramide [Kaplan en Norton, 2004].
Robert Kaplan en David Norton [2004] hebben een breed geaccepteerd model ontwikkeld, genaamd de strategiepiramide (fig. 2). Deze piramide beschrijft de samenstelling van een bedrijfsplan. Deze aanpak wordt momenteel door vele multinationals gebruikt. Kaplan en Norton beschrijven dat elke organisatie een ‘missie’ heeft. Een missie geeft een organisatie bestaansrecht. Daarnaast wordt ingegaan op de primaire functies en de permanente opdracht die de organisatie zichzelf ziet vervullen. De invulling van deze missie wordt beschreven in de visie. De visie geeft nadere toelichting op wat de organisatie wil zijn en betekenen. Hierbinnen worden onder andere de ambities voor de toekomst aangegeven. Bij het uitvoeren van de visie wordt tevens vermeld welke kernwaarden centraal staan. In feite wordt hier de ethiek van de organisatie beschreven: waar geloven we in. Uiteindelijk zullen deze missie, visie en kernwaarden resulteren in een strategie. Deze strategie beschrijft de aanpak van de organisatie. Hierin wordt onder andere ingegaan op de processen van de organisatie. Een goed voorbeeld hiervan is te vinden op de website van Philips. Wanneer de visie op het bedrijfsplan van Kaplan en Norton wordt beschouwd, dan heeft voornamelijk de strategie een belangrijke relatie met een SOA. Indien de strategie redelijk snel (in twee jaar) verandert, is het snel en efficiënt reorganiseren van de informatievoorziening essentieel. De GEO-INFO 2007-11
Fig. 3. Van Data naar Wijsheid.
informatievoorziening van de organisatie moet dus flexibel van karakter zijn. Een SOA is het concept dat een dergelijke dynamische strategie goed kan ondersteunen.
440
Indien de interactie tussen diverse organisaties dynamisch blijkt te zijn (in veel situaties is dat het geval), dan is de SOA tevens een efficiënte oplossing. Opvallend aspect is tevens de procesgerichtheid van deze visie. Het ontwikkelen en sturen op processen binnen de informatievoorziening is een essentieel onderdeel dat volgt uit de relatie naar het bedrijfsplan. Binnen een SOA staat deze procesmatige aanpak centraal op het hogere niveau in de architectuur waar de data en services (uit de onderste lagen) kunnen worden georkestreerd. Het gebruik van deze data in services in processen kan een meerwaarde opleveren. Er kunnen patronen worden herkend en verschijnselen kunnen verklaarbaar worden. Volgende paragraaf zal ingaan op toegevoegde waarde van inzet van diverse services in een SOA voor de informatievoorziening.
SOA en informatievoorziening Ackoff [1996] heeft een theorie ontwikkeld over het gebruik van data en de invloed van het principe dat ontstaat als de gebruiker samenhang ziet tussen de data en er meer begrip ontstaat. Figuur 3 geeft daarvan een korte toelichting en een voorbeeld. Data wordt in principe ingewonnen en opgeslagen in een informatiesysteem. Het inlezen en opslaan van deze data is een feit en er kan vervolgens nog niets mee uitgevoerd worden. Een voorbeeld is dat het regent: het is een feit dat het regent maar we kunnen hier nog niets extra’s mee. Indien relaties ontdekt kunnen worden wordt de stap naar informatie gemaakt. Hierbij neemt de samenhang en het begrip van de data toe. Een voorbeeld hiervan is de constatering dat het regent en de temperatuur vijftien graden is gedaald. Er is een relatie gevonden dat, wanneer de temperatuur daalt, het gaat regenen. We spreken hier van informatie. De stap naar informatie is goed, maar het uiteindelijke doel is nog niet gehaald. We willen kennis verkrijgen. Kennis houdt in dat niet enkel geconstateerd wordt dat de temperatuur daalt en het vervolgens regent, maar tevens wat de oorzaak is. Binnen dit voorbeeld kan vervolgens het aspect ‘luchtvochtigheid’ worden toegevoegd. Nu blijkt ineens de luchtvochtigheid toe te nemen als de temperatuur daalt en het vervolgens gaat regenen. Hier is niet meer sprake van een relatie maar van een patroon. Er wordt antwoord gegeven op de ‘hoe-vraag’. Dit patroon kan worden gevonden door de data in een statistisch programma te analyseren. Er GEO-INFO 2007-11
Fig. 4. Model van Seshadri.
is een relatie gevonden en vervolgens is verder gezocht naar patronen. Er heeft hier duidelijk een toename aan samenhang tussen de data plaats gevonden. Een mogelijke volgende stap is wijsheid. Bij wijsheid wordt een stap verder gegaan betreffende de samenhang en begrip. In het voorbeeld waarin we het regenen beschouwen, zou gekeken moeten worden naar luchtstromen, temperatuursgebieden, luchtvochtigheid en temperatuur, die een geheel aan factoren vormen dat resulteert in regen. Vanuit metingen kan exact worden voorspeld wanneer het gaat regenen omdat de principes hierachter duidelijk zijn. Om deze principes te kunnen achterhalen dienen er diverse business services ingezet te worden die effectief en slim met de data omgaan. Dit is enkel mogelijk volgens een architectuur die hier rekening mee houdt. Seshadri [2007] heeft een grondplaat ontwikkeld die ingaat op deze principes (fig. 4). Op het laagste niveau bevindt zich de Enterprise Data-Laag. Dit is een conceptuele laag waarin de data staat. Vanuit deze Data-Laag worden services benoemd en wordt de data ontsloten via Infrastructuur Services (meer generiek) en Business Services (specifiek). De Business services richten zich op een specifiek business proces. In de praktijk zullen deze services herbruikt worden binnen de Service Compositie-Laag en worden de services gecombineerd. Deze laag stelt services beschikbaar met een grovere granulariteit. Deze granulariteit hoeft nu geen kleine operatie te zijn (bijvoorbeeld buffer of overlay), maar kan hier tevens een complete taak zijn. Op een gegeven moment zijn we geen services meer aan het aanbieden, maar complete processen. Deze proces-
sen zullen altijd gebruik maken van de juiste informatie, indien ze binnen de Orkestratie-Laag juist aan elkaar geschakeld zijn. De gebruiker zal, in een ver ontwikkelde SOA, in de Enterprise Front End deze processen aangeboden krijgen. De fasering van data, informatie via kennis naar wijsheid, is een ontwikkeling die bewust gekozen moet worden. Het is goed mogelijk dat er organisaties zijn die niet deze flexibiliteit van hun informatievoorziening nodig hebben. In dat geval dient duidelijk de taak van de informatie-automatisering kenbaar te worden gemaakt. Deze informatie kunnen we als het goed is vinden in het bedrijfsplan. De conclusie kan worden getrokken dat de inzet van een SOA voor 100% duidelijk moet voortvloeien uit de bedrijfsdoelstellingen. De strategie dient een indicatie te geven dat de onderneming flexibel moet kunnen optreden. Daarna dienen de bedrijfsprocessen in kaart te worden gebracht en vervolgens wordt de techniek gebruikt om de processen in een IT-omgeving te realiseren. Het model van Seshadri bevat bijvoorbeeld de W3C services (Infrastructuur Service-Laag / Business Service-Laag / Service Compositie-Laag), genoemd in het eerste gedeelte van dit artikel. De data (Enterprise Data Laag) dient tevens inhoudelijk afgestemd te zijn om het proces te kunnen ondersteunen.
Voorbeelden uit de praktijk Anno 2007 zijn nog weinig organisaties in de fase dat een SOA met een geocomponent daadwerkelijk is gerealiseerd. Het blijkt in de praktijk toch aanzienlijk lastig te zijn om een SOA op te bouwen en alle problemen te adresseren. Toch zijn er huidige toepassingen die werken volgens het concept SOA.
SAP – GIS integratie Met de komst van webservices is het mogelijk geworden om systemen van verschillende afdelingen te koppelen. Een koppeling die in praktijk interessant blijkt is de SAP – GIS koppeling. Vanaf 1996 zijn ESRI en SAP begonnen aan een programma om data tussen beide systemen te kunnen uitwisselen. In de afgelopen jaren zijn diverse certificeringen verstrekt waarbij niet enkel data wordt uitgewisseld maar tevens de functionele logica wordt ingezet
Fig. 5. Koppeling SAP en ArcGIS.
om beide systemen consistent te houden. Voorbeeld is het deleten van features in GIS. Binnen SAP is het niet mogelijk om assets te verwijderen maar dienen deze assets te worden gearchiveerd. Indien dergelijke functionaliteiten tussen de systemen niet worden afgestemd, ontstaan inconsistenties in de data. Daarnaast is het een voorwaarde dat de assets in GIS en SAP al zijn afgestemd. Zoals eerder beschreven, dient bij de koppeling met name naar de business-processen te worden gekeken. Softwarepakketten die de koppeling tussen ArcGIS en SAP realiseren, zijn gebaseerd op specifieke processen. Om de juiste data te kunnen krijgen en verwerken (met edit functie bijvoorbeeld) dient het proces als basis te worden gekozen. Pakketten als Impress en Maps 4 Sap leveren momenteel een aantal standaard functionaliteiten vanuit het proces en regelen de verdere technische en procesmatige afhandeling tussen SAP en ArcGIS. Hierbij staat het proces centraal en worden de data-uitwisseling en logica door het achterliggende systeem toegepast. Precies volgens de definitie van een SOA volgens Gartner. Hierdoor wordt het mogelijk om een eigen interface te kiezen en zowel het SAP als GIS business-processen te laten uitvoeren (fig. 5).
Conclusie Indien een SOA ingevoerd gaat worden dient deze SOA als middel te worden gezien en niet als doel. Het bedrijfsplan dient duidelijk aan te geven wat de visie is. Indien blijkt dat een organisatie bestand moet zijn tegen strategiewisselingen en dus veranderende werkprocessen, dan kan een SOA een goede oplossing zijn. Het grote voordeel van SOA is de mogelijkheid om snel en efficiënt om te gaan met procesverandering en -integratie en niet meer met data-integratie. Wanneer gekeken wordt hoe Geo binnen een SOA past, dan vallen de volgende aspecten op: • De services moeten beter aansluiten op de werkprocessen. De data die wordt uitgewisseld dient afgestemd te worden, zodat informatie en kennis kan worden verkregen. GEO-INFO 2007-11
441
• Binnen het geodomein wordt substantieel meer data uitgewisseld dan binnen gangbare IT-omgevingen. Wanneer een SOA ingezet wordt, dient zeker rekening gehouden te worden met de performance bij uitwisseling van veel data. • Visualisatie is een aspect dat totaal niet wordt meegenomen binnen een SOA. De toepassing van de gebruiker dient voldoende mogelijkheden te hebben om de informatie te kunnen visualiseren. SOA-ontwikkeling binnen het geodomein is ingewikkeld en bij de architectuur dienen de keuzes zo simpel mogelijk te zijn. Een quote van Einstein: ‘Make things as simple as possible, but not simpler’ is binnen SOA erg toepasselijk. SOA is lastig maar versimpel niet te veel door bijvoorbeeld de servicebus als veredeld netwerk te gebruiken om databronnen ■ op te zetten. Maak de stap naar het proces!
Misvattingen over voordelen van een SOA [Natis, 1996] Er bestaan veel mythes over SOA en de bijbehorende voordelen. Hieronder staat een overzicht van voordelen die echt verwacht mogen worden en een aantal misvattingen over een SOA. “echte” voordelen
Misvattingen
Toenemende ontwikkeling en Eenvoudige software-ontwikkeling inzet van business software Herbruikbare business componenten in meerdere business cases
Gratis integratie en interoperabiliteit
Goedkopere ontwikkeling van Onafhankelijk van technologie nieuwe business processen Helderheid van applicatie topologie / semantiek
Onafhankelijk van leverancier Ultieme architectuur voor de moderne organisatie
Literatuur:
442
• Ackoff, R., On Learning and Systems That Facilitate it, in: Center for Quality of Management Journal, 1996 Vol. 5, No.2. • Kaplan, R., D. Norton, Strategie in kaart gebracht, 2004 • Natis, Y.V., Service-Oriented Architecture Scenario, 1996, www.gartner.com/DisplayDocument?doc_cd=114358 • Schulte, R.W., Y.V. Natis, Service Oriented Architectures, Part 1, 12 april 1996, www.gartner.com/ DisplayDocument?doc_cd=29201&ref=g_fromdoc • Serrano, J., The INSPIRE Network Services Drafting Team, juli 2007, www.ec gis.org/inspire/reports/13ecgigis/4_ inspire_progress_serrano_3.pdf • Seshadri, S., Logically SOA: A logical architecture for SOA, in: JavaWorld.com, januari 2007
Samenvatting De overlay tussen GIS en SOA De Service Oriented Architecture (SOA) is een concept vanuit de ITwereld. Vanwege de vraag naar organisatiebrede informatievoorziening heeft het concept SOA tevens de GIS-afdelingen bereikt. Dit artikel gaat nader in op SOA-definities en raakvlakken van INSPIRE met SOA. Een aantal karakteristieken van een SOA wordt benoemd inclusief een aantal gevolgen voor de GIS-afdeling. Vervolgens wordt gekeken naar een voorbeeld waar een SOA-benadering met GIS is gehanteerd. Het grote voordeel van SOA is de mogelijkheid om snel en efficiënt om te gaan met procesverandering en -integratie en niet meer op data-integratie.
Résumé Le recouvrement entre SIG et SOA L’architecture orientée services (Service Oriented Architecture - SOA) est un concept du monde de l’IT. Vue la demande de fourniture d’information dans l’ensemble d’une organisation le concept SOA a atteint les départements SIG. Cet article considère les définitions concernant SOA, inclus les liens avec INSPIRE. Un certain nombre de caractéristiques sont traitées ainsi que les applications pour le département SIG. Un exemple d’application SOA dans un environnement SIG est exposé. Lors de l’introduction d’un SOA on doit le percevoir comme un moyen et non comme un objectif. La nécessité d’un SOA doit apparaître dans le plan de gestion. Si une organisation doit prévoir des changements de stratégie, et donc des changements de processus de production, un SOA peut être une bonne approche. Le grand avantage d’un SOA est la possibilité d’implémenter les changements et d’intégrer les processus d’une manière rapide et efficace et non par une intégration de données.
N A A R H E T K A DA ST E R Summary The overlay between GIS and SOA The Service Oriented Architecture (SOA) is a concept from the realm of IT. Due to the demand for information provision across the organisation, the SOA concept has reached the GIS departments. This article goes into the definitions of SOA and the boundaries between INSPIRE and SOA. It describes a few characteristics of SOA and the consequences for the GIS department. Furthermore, it focuses on an example that applies a SOA-based approach to a GIS. The main benefit of a SOA is the possibility to quickly and efficiently handle process change and integration rather than data integration. GEO-INFO 2007-11
“… Op een keer ben ik, met een heel dik stuk, gewoon het gebouw uitgelopen, naar huis. Ik speelde zó meesterlijk dat niemand iets zei toen ik terugkeerde. Zelfs Warnsveld had gedacht: die is naar het Kadaster. Het was ook echt een stuk voor het Kadaster…” Uit Licht kantoorwerk in de bundel “Allemaal onzin” van Simon Carmiggelt.