‘Service-oriented architecture’ (soa) is niet nieuw, maar algemeen gebruik ervan wel. In 1996 had onderzoeksbureau Gartner het voor het eerst over soa’s, maar de technologie kreeg de afgelopen maanden vooral een duw in de rug door de industrietrend ‘webdiensten’.
Een soa is een collectie diensten (zoals applicaties) op een netwerk die met elkaar communiceren. Hoewel webdiensten niet automatisch vertaald worden in soa’s en niet alle soa’s gebaseerd zijn op webdiensten, is de relatie tussen beide technologieën belangrijk en zijn ze onderling afhankelijk. Door webdiensten zullen soa’s bij de gewone gebruiker komen en de architectuur van soa’s zal webdiensten succesvol maken.
Volgens Gartner zullen dienstgerichte architecturen langzaam de monolitische architecturen vervangen als te verkiezen ontwerpstructuur voor nieuwe bedrijfsapplicaties. Tegen 2008 zal de veertigjarige heerschappij van monolitische architecturen ten einde komen en zullen soa’s en webdiensten in meer van 75 procent van de gevallen bij bedrijven worden geïmplementeerd, aldus de marktonderzoeker.
Elegante oplossing
Vorige maand presenteerden verschillende grote bedrijven hun soa-strategie. IBM lanceerde de nieuwe Websphere Business Integration Server Foundation software, waarmee klanten stap voor stap kunnen beginnen met het maken van een ‘service-oriented architecture’. Bob Sutor, directeur van IBM’s Websphere infrastructuursoftware-divisie denkt dat het niet gaat om de vraag óf bedrijven een soa willen, maar dat het gaat om de vraag wanneer en hoe. “We worden in een soa gedwongen, of we nu willen of niet. Dat is goed, want het lost een aantal problemen op en vanuit het perspectief van de architectuur is het een elegante oplossing.”
Ook Oracle en Compuware hebben hun software geschikt gemaakt voor het werken met soa’s. Microsoft heeft in april wel zijn strategie op tafel gelegd, maar nog geen producten op de markt gebracht waarmee klanten een soa kunnen inrichten. Volgens Pat Helland, platform architect bij de softwarereus, bestaat de strategie uit twee belangrijke punten. “Allereerst willen we helpen om standaarden te definiëren waardoor samenwerking makkelijker wordt. Daarnaast bouwen we ondersteuning zodat .Net de voornaamste omgeving wordt voor het ontwikkelen en inzetten van soa’s.” Een van de eerste delen van Microsofts soa-platform is Whitehorse, dat onderdeel is van Visual Studio 2005 (codenaam Whidbey).
BEA Systems claimde voorafgaand aan de bekendmaking van IBM’s strategie het enige bedrijf te zijn dat nu al de mogelijkheden voor soa’s kan bieden. Zijn strategie is gebaseerd op het Weblogic Enterprise Platform 8.1.
Volgens Jason Bloomberg van onderzoeksbureau Zapthink zijn grote partners zoals BEA Systems en Tibco Software wel de bedrijven die het meest zullen profiteren van de overgang naar soa’s. Hij denkt dat de markt voor dienstgeoriënteerde architecturen tegen 2005 zo’n 4,4 miljard dollar waard is. Tegen 2010 zal dat zo’n 43 miljard zijn. Deze nieuwe markt zal volgens Bloomberg de naam SOA Implementation Framework krijgen, waarin de verschillen tussen soa’s en standaard webdiensten duidelijk worden. Hij voorspelt dat zodra de soa-markt aantrekt, de markten voor webdiensten en op XML-gebaseerde applicaties zoals we die vandaag kennen, zullen verdwijnen.
Op service gerichte architecturen
In de begintijd van applicatieontwikkeling werd het bouwen van software steeds complexer. Onderzoekers introduceerden daarvoor het concept modulair ontwerp, waarmee programmeurs subroutines en functies konden schrijven en hun code zo konden hergebruiken. Dat bleek later een onderhoudsnachtmerrie te worden, er was een hoger abstractieniveau nodig en objectgeoriënteerde software werd geboren. Vervolgens wilden ontwikkelaars functionaliteit kunnen hergebruiken en onderhouden, niet alleen de code. Onderzoekers voegden nog een abstractielaag toe om deze complexiteit af te handelen: op componenten gebaseerde software. De huidige problemen van ontwikkelaars doen zich voor rondom gedistribueerde software, applicatie-integratie, verschillende platformen, protocollen en apparaten en internet. ‘Service-oriented architecture’ biedt oplossingen. Het maakt niet meer uit op welk apparaat of platform een applicatie draait en verschillende programma’s kunnen moeiteloos met elkaar integreren. Soa richt zich op bedrijfsprocessen en niet zozeer op de onderliggende technologie, waardoor het goed werkt in een heterogene omgeving, aldus Bloomberg. “Een soa laat alle legacy-systemen samenwerken. Het is niet nodig om nieuwe systemen aan te schaffen.”
Volgens Don Buskard, senior vice president en cto bij verzekeraar Axa Financial, is soa hét mechanisme voor een it-omgeving waarin relatief enorme datavretende legacy-systemen moeten samenwerken met lichtere front-end applicaties.
Hoewel soa’s en webdiensten niet noodzakelijk afhankelijk van elkaar zijn, is Jess Thompson, research director bij Gartner, van mening dat het bouwen van een soa met gebruikmaking van webdiensten de ideale aanpak is. “Wanneer het goed wordt gedaan, is een webdienst weinig meer dan een soa die gebruikmaakt van Soap (Simple object access protocol) en Wsdl (Webservices description language). Buskard heeft daar andere ideeën over. Zijn bedrijf heeft een op service gerichte architectuur aangelegd zonder het gebruik van webdiensten, “omdat er geen vraag is bij de klanten”. Hij gebruikt IBM’s Websphere MQ als een berichten- en integratielaag om verbinding te maken tussen legacy-systemen en ‘front-end’ applicaties. “Eén van de grote voordelen van soa is dat de juiste data bij de juiste persoon of applicatie komt. Wanneer een gebruiker bijvoorbeeld inlogt met een gebruikersidentificatie, weet het systeem wie het is en laat het alleen de data door waarvoor die persoon geautoriseerd is.”
Keerzijde
Er zitten natuurlijk ook keerzijden aan de soa-medaille. Een groot probleem vormt vooralsnog de beveiliging. “Het is altijd makkelijker een gesloten systeem te beveiligen, dan een open architectuur”, aldus Bloomberg. Daarnaast is er de kwestie van netwerk-monitoring. “Wanneer een transactie fout gaat in een op service gericht netwerk waarbij meerdere dienstverleners (bijvoorbeeld applicaties) betrokken zijn, is het vrij complex om uit te zoeken waar het is fout gegaan of waar iemand verkeerde data het netwerk op heeft gestuurd.” Tot slot zijn er de kosten. Het bouwen van een soa is niet goedkoop. Het herstructureren van bestaande systeemarchitecturen gaat flink wat geld kosten. Daarnaast kost het menselijk kapitaal om de bedrijfsprocessen in kaart te brengen, processen in specificaties te vertalen en nieuwe code te schrijven.< BR>