Voor het ontwikkelen van service oriented archictures (soa’s) bestaan al vele producten. De primaire bouwsteen van elke soa is uiteraard de service. Dit is simpelweg een brok software met een duidelijk gedefinieerde interface die via een busarchitectuur aan te roepen is en waarvan de implementatiewijze volledig afgeschermd is.
De meeste organisaties die een soa gebouwd hebben, hebben nog maar een klein aantal services operationeel. Met de jaren zal dit aantal ongetwijfeld toenemen, waardoor direct de behoefte zal ontstaan om die services te managen. Hiermee doelen we nu niet op technisch management, zoals: is de performance van de service acceptabel en worden de berichten correct verwerkt, maar meer versiebeheer, goedkeuringen en de registratie van service level agreements.
Om hierbij te helpen zijn er reeds zogenaamde soa-governanceproducten geïntroduceerd. Voorbeelden hiervan zijn Infravio’s X-Registry, LogicLibrary’s Logidex en Systinets Registry. Let wel, de term soa governance is door de leveranciers zelf bedacht. Of dit een passende term is, laat ik verder buiten beschouwing.
Wat doet deze nieuwe categorie producten eigenlijk? Het hart van al deze producten wordt gevormd door een registry waarin allerlei specificaties over services opgeslagen kunnen worden. De UDDI-standaard is daarbij als startpunt genomen. Echter, UDDI is voornamelijk voor het kaal registreren en opzoeken van services. Voor governance is meer nodig. Dus je zou kunnen zeggen dat de genoemde soa-governanceproducten UDDI++ zijn.
Met een soa-governanceproduct kunnen uiteraard alle mogelijke details van de services en bijbehorende interfaces geregistreerd worden. Daarnaast kunnen ook de afhankelijkheden tussen de services vastgelegd worden, ofwel wie roept wie aan. Heeft een organisatie slechts tien services operationeel, dan is dat niet zo spannend. Gaat dat aantal echter toenemen, dan is deze informatie wel degelijk nuttig. Dit maakt ook een impactanalyse mogelijk: als een interface van een service aangepast wordt, welke andere services worden hierdoor beïnvloed?
Gegevens over toegekende bevoegdheden worden opgeslagen: wie heeft de service gecreëerd, door wie is de service goedgekeurd, welke tests zijn correct uitgevoerd? Van bestaande services worden nieuwe versies ontwikkeld. Versiebeheer zal uitgevoerd moeten worden en er zal bijgehouden moeten worden welke applicatie met welke versie dient te werken. Ook beveiligingsaspecten zullen geregistreerd moeten worden: wie mag welke service wanneer aanroepen. Kortom, een soa-governanceproduct is gericht op het volledig documenteren en beheren van de specificaties van een service, inclusief die specificaties die niet met de interface te maken hebben.
Karakteristiek aan een soa is dat de onderliggende systemen een heterogene omgeving vormen. De ene service is bijvoorbeeld geïmplementeerd met Java, een ander met Cobol en de derde met SAP. Al deze systemen zullen ongetwijfeld specificaties over deze services registeren, maar uiteindelijk is het noodzakelijk dat al deze specificaties op één plek opgeslagen worden.
Het nadeel van de huidige soa-governanceproducten is wel dat ze matig geïntegreerd zijn met een operationele omgeving. Dit was ooit ook het probleem van de klassieke case-tools. Dit waren krachtige producten voor het documenteren van specificaties, maar er was geen koppeling met de operationele omgeving. Wijzigingen in het operationele systeem werden niet altijd doorgevoerd in het case-tools, waardoor de specificaties langzaamaan onbetrouwbaar werden. Laten we hopen dat de leveranciers van de soa-governanceproducten leren van deze fout en snel die noodzakelijke integratie realiseren.
Het is ook niet onwaarschijnlijk dat leveranciers van Enterprise Service Bussen (ESB) of Web Service Management tools, die zich wel in de operationele omgeving bevinden, soa governance als taak er bij gaan pakken. Zij moeten in staat zijn om wel makkelijk de koppeling met de operationele wereld te realiseren. Dus is het niet onwaarschijnlijk dat we de komende jaren meer aankondigingen van soa-governanceproducten zullen zien en dan van voor ons reeds bekende leveranciers. < BR>
Rick F. van der Lans is onafhankelijk adviseur, een internationaal bekend spreker en auteur van diverse boeken, tevens gespecialiseerd in softwareontwikkeling, datawarehousing en internet.