S E R V I C E O R I Ë N T A T I E E N I C T
software
services
SERVI CE ORI ËNTAT I E EN I CT 2e editie
Dik Bijl
SER V I C E ORI Ë NTATIE E N ICT 2e editie
Dik Bijl
2
I N H O U D We re l d v a n s e r v i c e s
4
1
Inleiding en overzicht
6
2
Service oriëntatie in maatschappij
14
3
Service oriëntatie in bedrijf
26
4
Service oriëntatie: een theoretisch kader
38
5
Service oriëntatie en ICT: de eerste fase
50
6
SOA , BPM en ESB
58
7
SAAS
66
8
We b s e r v i c e s
76
9
We b 2 . 0
88
10
S OA ve r s u s We b 2 . 0 ?
100
11
Microsofts visie, missie en strategie
108
12
Microsofts technologie
122
Literatuurlijst
132
Colofon
3
ervices Wereld van services Wereld van services Wereld ces Wereld van services Wereld van services Wereld van ld van services Wereld van services Wereld van services ervices Wereld van services Wereld van services Wereld ces Wereld van services Wereld van services Wereld van
4
Wereld van services
Zaterdagochtend 8 uur. Lekker uitslapen! Maar dan gaat de deurbel. “Goedemorgen meneer Bijl, ontbijtservice”. Verrast maak ik mijn vrouw en kinderen wakker. Binnen 10 minuten genieten we met zijn allen – iets te vroeg - van een zeer luxe ontbijt inclusief zaterdagochtendkrant. Ontbijtservice, zomaar een voorbeeld. De wereld lijkt te bestaan uit services. We zien in onze maatschappij een aaneenschakeling van dienstverleners en dienstafnemers, in het klein en in het groot. Mensen en bedrijven zijn inventief in het bedenken en vervolgens opvullen van de gaten in de (diensten)markt: de dienstverleners. En mensen en bedrijven zijn in toenemende mate bereid om werkzaamheden uit te besteden: de dienstafnemers. Het toenemende aanbod van en de vraag naar diensten is niet van de ene op de andere dag ontstaan. Het is een natuurlijke ontwikkeling binnen maatschappij en bedrijf. Het steunt op een aantal economische en sociale wetmatigheden rondom het verdelen van werk: wat doe ik zelf, wat laat ik doen, wat levert het op en hoe bestuur ik het geheel?
Dit boekje – de tweede, volledig herziene versie - gaat over service oriëntatie binnen de ICT. De ontwikkeling daarvan vertoont veel overeenkomsten met service oriëntatie in maatschappij en bedrijf; het is dan ook een ‘natuurlijke’ ontwikkeling. Twee zeer uiteenlopende vormen van service oriëntatie in de ICT zijn SOA en Web 2.0. Beide komen afzonderlijk aan bod maar ook in combinatie. Daarnaast is er aandacht voor Microsofts visie, missie en strategie op dit gebied: Software Plus Services. ICT is een strategisch middel voor het realiseren van bedrijfsdoelstellingen. Een goede visie op de ICT-ontwikkeling is bepalend voor de effectieve inzet van dat middel. Wie service oriëntatie in ICT blijft zien als zomaar de zoveelste technologiehype, doet zichzelf en zijn bedrijf te kort. Dit boekje legt uit waarom. Dik Bijl, Architect Advisor bij Microsoft Nederland September 2007
5
INLEIDING EN OVERZICHT De wereld om ons heen bestaat uit services of diensten 1). Er zijn dienstverleners (producenten) en dienstafnemers (consumenten). Mensen en bedrijven zijn in toenemende mate bereid om activiteiten die ze eerst zelf uitvoerden, nu te laten uitvoeren door anderen. In het gezinshuishouden gaat dat om zaken als de ‘interieurverzorging’, het oppassen op de kinderen, het uitlaten van huisdieren, het doen van de boodschappen en het regelen van de financiële zaken. In het bedrijfshuishouden gaat dat om activiteiten als de beveiliging, de receptie, de catering, de salarisuitbetaling of het wagenparkbeheer.
1) Door dit boek heen zijn de begrippen service en dienst synoniem en worden door elkaar heen gebruikt
Deze voortdurende toename in de uitbesteding van activiteiten buiten de wetmatige gezagsverhouding – de ‘command and control’ – van het gezin of het bedrijf zien we niet alleen daar plaatsvinden, maar in toenemende mate hebben ook de softwaretoepassingen met deze service oriëntatie te maken. Binnen de ICT hebben we het dan al snel over afkortingen zoals SOA, BPM, ESB, SOAP en SaaS. Maar er is vrijwel niemand buiten de ICT die deze afkortingen begrijpt of ook maar wil begrijpen. Daarmee laten wij als ICT-ers veel liggen, namelijk het kweken van begrip bij ‘de business’ over het belang van service oriëntatie in de ICT. Als dat begrip er namelijk wel is, zal de ondersteuning voor het ontwikkelen van service oriëntatie in de ICT zowel mentaal als financieel ook veel groter zijn.
>>
Waar gaat dit boekje over?
Dit boekje gaat over service oriëntatie en bestaat uit drie delen en een twaalftal hoofdstukken. We beginnen met het aantonen dat de ontwikkeling die we in de softwaretoepassingen aan het doormaken zijn, een speciaal geval is van ontwikkelingen die we overal om ons heen kunnen waarnemen: in onze maatschappij (hoofdstuk 2), in het bedrijf en de bedrijfskolom (hoofdstuk 3) en zelfs in de hardwareen softwarearchitectuur van de computersystemen en netwerken (hoofdstuk 5). Daartussendoor (hoofdstuk 4) worden de theoretische principes van de service oriëntatie besproken die zowel in maatschappij en bedrijf als binnen de ICT voorkomen. Het tweede deel van het boekje gaat expliciet over de service oriëntatie bij de softwaretoepassingen. Dit beslaat de hoofdstukken 6 - 10. Daarbij worden alle bekende fenomenen van service oriëntatie onder de loep genomen: Service Oriented Architecture (SOA), Business Process Management (BPM), Enterprise Service Bus (ESB), Software as a Service (SaaS), webservices in SOAP en andere smaken en niet te vergeten: Web 2.0 en Enterprise 2.0 die ook verschijningsvormen van service oriëntatie in de ICT zijn. Het derde en
8
l
I N L E I D I N G
E N
O V E R Z I C H T
laatste deel (hoofdstukken 11-12) van het boek gaat in op de visie, missie, strategie en technologie van Microsoft op het gebied van service oriëntatie. Maatschappij en bedrijf
De twee eerstvolgende hoofdstukken bespreken de ontwikkeling van onze maatschappij en van bedrijven in onze maatschappij. De maatschappij heeft zich in een paar duizend jaar ontwikkeld van een groot aantal losstaande maar gelijkvormige gemeenschappen van 50-60 man (de jagerverzamelaar maatschappij) via een kleiner aantal strikt hiërarchisch gestructureerde (konink)rijken tot een netwerkmaatschappij waarin alles losjes met elkaar verbonden (‘loosely coupled’) is. In die paar duizend jaar van ontwikkeling is de welvaart in de Westerse wereld enorm toegenomen, vooral de laatste paar honderd jaar toen de ontwikkeling van onze economie zich versnelde. Aan die versnelling is nog geen einde gekomen. Deze derde en vooralsnog laatste maatschappijvorm is nog maar net begonnen en we kunnen daarvan misschien nog niet veel meer dan de contouren zien, maar die contouren zijn onmiskenbaar: een ‘platte wereld’ met een enkel wereldwijd economisch speelveld waarop steeds meer deelnemers meespelen (Friedman, 2006). Eenzelfde ontwikkeling zien we in het bedrijf en de bedrijfskolom. Tot aan de industriële revolutie waren de bedrijven klein en ambachtelijk en hadden nauwelijks verbanden met elkaar. Maar toen ontstonden de grote concentraties van kapitaal en materiaal dankzij de technologische ontwikkelingen op het vlak van de mechanisatie en aandrijving. Die concentraties zogen als een
magneet massaal arbeidskrachten uit de omgeving aan. Dit leidde geleidelijk aan tot hele grote fabrieken en later hele grote kantoren met een strikt hiërarchische structuur en verfijnde bureaucratische spelregels. Grote bedrijven werden steeds groter en ‘multinationaler’ ten gevolge van schaalvergroting en verticale integratie. Maar sinds de jaren tachtig van de vorige eeuw is er een kentering waarneembaar. ‘Desintegratie’ en het uitbesteden van niet-kernactiviteiten zijn de grote trend. De gemiddelde bedrijfsgrootte neemt af (Malone, 2005). De bedrijfskolom bestaat uit steeds meer schakels die wereldwijd verspreid zijn. Langzaam maar zeker ontstaan er bedrijven die zich specialiseren op het orkestreren en optimaliseren van delen van de gedesintegreerde bedrijfskolom (Bitran, 2007). Metafoor of analogie?
Het beschrijven van deze ontwikkelingen in maatschappij en bedrijf in een boekje over service oriëntatie in de ICT is niet per ongeluk. Het onlangs opgerichte SOA Consortium (www.soa-consortium. org) heeft primair op de agenda staan om het nut van SOA aan de business te verkondigen; en dat doen ze door die ICT-ers die het meest met de bedrijfsleiding in aanraking komen - de CIO, de Enterprise Architect - toe te rusten met een goed business verhaal rond SOA. Want vaak stokt het bij ICT-ers met de opmerking dat SOA meer flexibiliteit biedt en daarom nodig is. En dat werkt bij de business niet overtuigend; niet overtuigend genoeg althans om op voorhand SOA initiatieven binnen het bedrijf mentaal en financieel te sponsoren. Hoewel Microsoft geen lid is van dit consortium is het eerste deel van dit boekje precies daarop gericht: het geven van een goed gefundeerd en
overtuigend verhaal aan ICT-ers die met ‘de business’ spreken. SOA is volgens het consortium primair een ‘business agility’ verhaal: het reactievermogen van de business moet vergroten en dat kan in een turbulente, dynamische omgeving alleen maar door als maatschappij, als bedrijf en als ICT meer beweeglijk (de letterlijke betekenis van ’agile’) te worden. In die zin is de ontwikkeling van service oriëntatie in de ICT niet meer dan een afspiegeling van wat al plaatsvindt in de omgeving van de ICT; een omgeving die de ICT maximaal dient te ondersteunen: ‘Business to IT alignment’. De hoofdstukken uit het eerste deel van dit boek vertellen dat het dezelfde principes zijn die ten grondslag liggen aan de ontwikkeling van de maatschappij, het bedrijf en de ICT. Dat die principes gebaseerd zijn op hetzelfde evolutieparadigma; een paradigma dat aangestuurd wordt door economische drijfveren. Het verhaal over service oriëntatie in maatschappij en bedrijf is dus geen metafoor of beeldspraak van de service oriëntatie in de ICT, maar het is een analogie: een voorkomen van dezelfde principes in een andere setting. Overigens biedt dit boekje wel een metafoor omdat verbeelding nu eenmaal krachtig werkt. De figuur op de volgende pagina geeft twee formaties van steen weer. Aan de linkerkant is een beeld van een menhir of een monoliet: een groot en imposant stuk steen uit één stuk dat hoog boven de omgeving uittorent. Aan de rechterkant zien we dezelfde massa, maar nu vormgegeven in een stenenformatie van grotere en kleinere met een bepaalde mate van structuur die ze ‘loosely coupled’ bij elkaar doet horen. >>
I N L E I D I N G
E N
O V E R Z I C H T
l
9
>>
Monoliet versus cluster van stenen
De monoliet is krachtig en ziet er stoer uit, maar is letterlijk onverzettelijk. Er is geen beweging in te krijgen. Als de omgeving niet verandert dan is de monoliet een blijvend toonbeeld van robuuste aanwezigheid, maar wat als de omgeving verandert in een woestenij die door niemand meer bezocht wordt of een diepe zee waarin de monoliet ten ondergaat. Dan raakt het de invloed op zijn omgeving kwijt. De hoop stenen aan de rechterkant kunnen nog mee worden genomen naar een nieuwe omgeving en in een nieuwe samenstelling weer opgebouwd worden. Ze kunnen als formatie voortdurend van aangezicht veranderen door ze op een andere manier vorm te geven. De stenenformatie is flexibel en beweeglijk.
met ‘loosely coupled’ verbanden veel beweeglijker, dynamischer en daarmee effectiever dan een rigide ICT-landschap bestaande uit – om maar eens wat te noemen – een verticaal geïntegreerde applicatie uit één stuk zoals de spreekwoordelijke ERPtoepassing of het financiële systeem. Vandaar dat de verschuiving van verticaal geïntegreerde, onverzettelijke softwaretoepassingen uit één stuk naar dynamische, uit meerdere stukken samengestelde softwareservices ook logisch en vanzelfsprekend is. Vandaar ook dat het niet investeren in de transformatie van het ICTlandschap op termijn een desastreuze uitwerking heeft op het vermogen van de ICT de dynamische business omgeving te ondersteunen.
Een divers samengestelde maatschappij of een divers samengestelde bedrijfskolom zonder al te rigide structuren is veel beweeglijker, dynamischer en daarmee effectiever dan een dictatoriaal (konink)rijk of een verticaal geïntegreerde op ‘command and control’ drijvende bedrijfskolom. Evenzo is een divers samengesteld ICT-landschap
Zowel de analogie met de voorbeelden van maatschappij en bedrijf als de metafoor van de monoliet kan de ICT-er gebruiken om een dialoog met de business aan te gaan om daarmee meer begrip en meer ondersteuning voor service oriëntatie in de ICT te krijgen.
1 0
l
I N L E I D I N G
E N
O V E R Z I C H T
D L A’s e n V L A’s
Na het aanreiken van deze handvatten om de business te overtuigen van het nut en de noodzaak van service oriëntatie in de ICT wordt het vizier in deel twee gericht op een duidelijke uitleg wat het dan allemaal wel en niet is. En dan komen we al snel terecht in de drie- en vierletterafkortingen (DLA’s respectievelijk VLA’s). Het hoofdstuk over SOA, BPM en ESB heeft tot doel om deze concepten op een zo neutraal mogelijke wijze te beschrijven. Dat zal niet meevallen, want er zijn heel veel verschillende beschrijvingen van wat SOA is. De meeste beschrijvingen lopen in de valkuil van een te technische insteek door in de omschrijving van SOA direct al softwarearchitectuur en -technologie afhankelijkheden in te bouwen. Anne Thomas Manes van Burton Group en een van de ‘thought leaders’ rond SOA noemt het een architectuurstijl en later zelfs een levensstijl; en verder: “SOA is something an organization does – not something it buys or something it builds” (Thomas Manes, 2006). Nog groter worden de onderlinge verschillen in omschrijving als ‘magic word’ Enterprise Service Bus (ESB) ter sprake komt, omdat de meeste leveranciers het begrip kneden naar hun eigen productaanbod. Hoe dan ook, dit hoofdstuk doet een oprechte poging de begrippen neutraal te beschrijven. Software as a Service (SaaS) is een begrip waar onderling meer overeenstemming over is. Het gaat daarbij om het afnemen van softwareservices uit de ‘wolk’ van het internet. Daarbij kan het gaan om op consumenten gerichte softwareservices zoals e-mail, chat en search of het kan gaan om op de (groot)zakelijke markt gerichte softwareservices als corporate e-mail, CRM of ERP. Het hoofdstuk over SaaS bespreekt vooral de tweede categorie en
hoe SaaS te integreren is met de reeds bestaande softwarevoorzieningen binnen het eigen domein van het bedrijf. Natuurlijk ontbreekt een hoofdstuk over SOAP webservices niet. We b 2 . 0
Web 2.0 verdient een prijs voor de vaagste naamgeving van een ICT-begrip. Want wat kun je uit de naam afleiden over wat het inhoudt? Er kan in elk geval geen verschil van inzicht bestaan over welke bron men moet raadplegen voor de juiste beschrijving van Web 2.0. De bron is Tim O’Reilly die de term bedacht heeft en uitgebreid beschreven (O’Reilly, 2005). Web 2.0 blijkt een erg veelomvattend begrip, maar het heeft veel te maken met service oriëntatie in de ICT en kan dus niet ontbreken in dit boek. Web 2.0 lijkt op het eerste gezicht diametraal tegenover SOA/BPM te staan. SOA/BPM ‘leeft’ in een wereld van structuur, van ‘best practice’, van professionele ICT-ers en heeft als voornaamste kenmerken: veiligheid, betrouwbaarheid en hoge beschikbaarheid. Web 2.0 daarentegen ‘leeft’ in de meer ongestructureerde wereld van de semiprofessionele ICT-ers en heeft als kenmerken: voortdurende vernieuwing en grote schaalbaarheid. Toch zien we een tendens dat beide werelden naar elkaar toegroeien. Als de services en technologieën van Web 2.0 het bedrijf binnenkomen, wordt gesproken over Enterprise 2.0. De combinatie en integratie van de ‘coole’ Enterprise 2.0 en de ‘saaie maar noodzakelijke’ SOA/BPM omgeving is iets dat de komende jaren gestalte zal gaan krijgen. Een met Web 2.0 verwante tendens is de ‘consumerization’ van IT. Hierbij verdwijnen bepaalde (software)voorzieningen zoals mail, helpdesk en back-up gedeeltelijk uit het domein van de >>
I N L E I D I N G
E N
O V E R Z I C H T
l
1 1
>>
corporate ICT en worden door de medewerkers zelf direct uit de ‘wolk’ van het internet afgenomen. Dit leidt tot grote kostenbesparingen op de ICT en tot meer keuzevrijheid over de inzet van ICT-middelen door de medewerkers. Microsoft
In deze complexe en dynamische wereld van de ICT speelt Microsoft als grootste softwareleverancier al decennia lang een belangrijke rol. De visie, missie en strategie die Microsoft ontwikkelt is dan ook zeer relevant voor haar partners en klanten, maar natuurlijk ook voor de toekomst van Microsoft zelf. Worden bij de bepaling van de missie en strategie wel de juiste keuzen gemaakt? In de ruim dertig jaar van haar bestaan heeft Microsoft een aantal cruciale
1 2
l
I N L E I D I N G
E N
O V E R Z I C H T
keerpunten meegemaakt waar een strategische keuze gemaakt werd. De meest bekende keerpunten zijn de keuze voor een grafische gebruikersinterface in 1985 waarmee Windows geboren werd, de keuze voor de omarming van het internet in 1995 en de keuze voor SOAP webservices in 1999. Het zijn de momenten waarop alle neuzen van het almaar groeiende bedrijf dezelfde kant op gezet worden en die meestal resulteren in betere, meer op de markt en op elkaar afgestemde producten. Het meest recente keerpunt stamt uit oktober 2005 en heet “Services Disruption”; naar een memo van de nieuwe Chief Software Architect van Microsoft, Ray Ozzie. Hij geeft klip en klaar aan dat internet services een enorm belangrijke rol gaan spelen, dat Microsoft daarop veel forser moet gaan inzetten en
dat de software ontwikkelcyclus binnen Microsoft behoorlijk moet versnellen. Dat is geen eenvoudige boodschap voor een bedrijf dat gewend is zijn geld hoofdzakelijk te verdienen met het ‘verkopen’ (feitelijk: het in licentie geven) van software bij zijn klanten en dat gewend is grootschalige en langdurige softwareprojecten op te zetten. De strategiewijziging raakt dus zowel de interne organisatie als het langetermijn businessmodel van Microsoft. De kans van Microsoft ligt op het vlak van het combineren van softwarevoorzieningen die mensen en bedrijven zelf ‘in huis’ halen met softwarevoorzieningen die als services vanuit het internet worden afgenomen. Er zal behoefte blijven aan beide soorten software. Medio 2007 merken we de verschuiving goed met
de visie van ‘Software Plus Services’ (hoofdstuk 11), de roadmap voor producten en services, de opkomst van nieuwe technologieën zoals Silverlight en de inrichting van uiterst grootschalige serverparken. Vanuit die serverparken levert Microsoft softwareservices aan de consument, het midden en kleinbedrijf en in toenemende mate ook aan de grootzakelijke markt. Aan het slot van dit boek wordt een kort overzicht gegeven van de voor service oriëntatie meest relevante technologieën en services van Microsoft (hoofdstuk 12). Een dergelijk overzicht is altijd een momentopname en dus is dit afsluitende hoofdstuk beknopt gehouden. De lezer wordt aangemoedigd daarna zelf na te gaan wat het meest actuele aanbod is en zich desgewenst daarin verder te verdiepen.
<<
I N L E I D I N G
E N
O V E R Z I C H T
l
1 3
S E R V I C E ORIË N TATIE IN
Onze maatschappij heeft zich in de loop van duizenden jaren ontwikkeld van kleine, losse groepen jager-verzamelaars tot een wereldwijde netwerkeconomie. Wat zijn de principes die aan deze ontwikkelingen ten grondslag liggen? En wat hebben die te maken met het onderwerp van dit boek: service oriëntatie in de ICT?
M A ATS C H A P P I J
>>
Tw e e s t a m m e n
In zijn boek ‘The Origin of Wealth’ (Beinhocker, 2006) vertelt Eric Beinhocker een verhaal van twee stammen. De ene stam betreft de Yanomamö indianen die op de grens van Brazilië en Venezuela leven en nog alle tekenen vertonen van de oudste maatschappijvorm die we kennen: de jager-verzamelaar maatschappij. Ze maken gereedschappen van steen, manden van riet en hutten van klei en takken; ze trekken in kleine groepen door het oerwoud van ‘jacht-vindgebied’ naar ‘jacht-vindgebied’. De andere stam betreft de New Yorkers die het prototype vormen van de meest geavanceerde maatschappijvorm die we kennen: de informatiemaatschappij. Ze lurken aan hun Starbucks ‘Caffee Latte’ terwijl zij hun e-mail checken op de smartphone. Beide groepen hebben ongeveer dezelfde biologische kenmerken en basisintelligentie en toch is hun levensstijl en omgeving compleet verschillend. De Yanomamö leven in kleine groepen van 50-60 personen in tijdelijke, geïmproviseerde dorpjes en ze ruilen hun spullen onder elkaar of met leden van een van de 250 andere dorpjes in de omgeving. De New Yorker leeft - soms anoniem - in een wereldstad die nooit slaapt. Het grootste verschil tussen beide stammen is niet de levensverwachting die bij de New Yorker veel hoger is of het verschil in inkomen. Omgerekend ‘verdient’ de gemiddelde Yanomamö ongeveer 90 dollar tegen 36000 dollar gemiddeld voor de New Yorker: een verschil van een factor 400. Nee, het allergrootste verschil zit in het aantal beschikbare goederen en diensten in beide maatschappijvormen. De Yanomamö kan kiezen uit ten hoogste duizend verschillende goederen en diensten: stenen bijlen, rieten manden, hutjes van takken en modder, een houten speer, een bezoek aan de medicijnman en een les in
1 6
l
S E R V I C E
O R I E N TA T I E
I N
M A A T S C H A P P I J
speerwerpen of mango’s vinden. Hoe anders is dat voor de New Yorker: Barnes & Nobles heeft een paar miljoen boektitels op de lijst staan, Wal Mart heeft ruim honderdduizend artikelen op voorraad, de plaatselijke supermarkt kent alleen al 250 verschillende ontbijtvariëteiten en New York telt zo’n 50 duizend restaurants. Beinhocker schat het totaal op 10 miljard verschillende goederen en diensten die beschikbaar zijn voor de New Yorker; een verschil met de Yanomamö van een factor 10 miljoen (!!). Hoe is dat enorme verschil in goederen en diensten tot stand gekomen tussen twee stammen die leven in dezelfde wereld, dezelfde biologische kenmerken en basisintelligentie delen en slechts een paar duizend kilometer van elkaar verwijderd zijn? Het antwoord ligt in de ontwikkeling van de economie en de principes die daaraan ten grondslag liggen. Adam Smith en welvaart
Adam Smith schreef zijn ‘Wealth of Nations’ in 1776 en werd er in een klap beroemd mee. Hij stelde en beantwoordde de twee belangrijkste vragen die economen tot op de dag van vandaag bezighouden: hoe wordt welvaart of rijkdom gecreëerd en hoe wordt welvaart verdeeld? Welvaart of economische waarde wordt volgens Smith gecreëerd als mensen ruwe materialen uit hun omgeving nemen en die door hun arbeid bewerken tot iets dat andere mensen willen hebben. Een pottenbakker neemt klei uit de grond en bewerkt die klei tot een pot. De welvaart neemt toe als de productiviteit van de pottenbakker toeneemt: hoe meer potten hij op een dag bakt, des te rijker hij wordt. De productiviteit neemt toe door specialisatie en verdeling van de arbeid in het productieproces. Smith noemt als voorbeeld
een speldenfabriek waarin medewerkers door specialisatie, verdeling van werk en coördinatie gezamenlijk tot een hoge productiviteit komen. Tien mensen werken samen om een speld te maken: de eerste medewerker trekt de draad en maakt hem recht, een tweede knipt de draad op de juiste plekken door, een derde scherpt de punten, een vierde maakt de kop, een vijfde plakt de kop op de draad enzovoort. Door deze specialisatie, verdeling en coördinatie kunnen de werkers 4800 spelden per dag maken. Een ervaren werker zou in zijn eentje volgens Smith maximaal 20 spelden per dag kunnen maken. Specialisatie, arbeidsdeling en coördinatie leiden dus tot een hogere productiviteit en derhalve tot meer welvaart. De tweede vraag heeft betrekking op de verdeling van de welvaart in de maatschappij. Pottenbakkers en speldenmakers kunnen hun producten niet
opeten. Zij moeten hun producten ruilen tegen voedsel, kleding en een dak boven hun hoofd. Maar hoeveel boterhammen is een speld of een aarden pot waard? Daarvoor komt het principe van de markt en de marktwerking om de hoek kijken. De markt is een fysieke of virtuele entiteit waarop goederen en diensten verhandeld worden en waar de waarde ervan wordt vastgesteld. De markt heeft verschillende gedaantes zoals de 1-op-1 ruilhandel tussen twee mensen die hun goederen tegen elkaar uitwisselen; bijvoorbeeld twee schapen tegen het repareren van een lekkend rieten dak. In de handel op de aandelenmarkt is daarentegen sprake van een super gereguleerd virtueel platform. Onderstaande figuur toont de markt als een straat waaraan aanbieders achter kraampjes hun goederen en diensten aanbieden en consumenten die de goederen en diensten in een bepaalde samenstelling vrijwillig en naar behoefte en vermogen afnemen. In alle gevallen – 1op1 ruil, platform(wolk) of straat - is het onderliggende principe hetzelfde: twee of meer marktdeelnemers wisselen vrijwillig iets uit tegen een onderling overeengekomen waarde. De waardebepaling valt in een vrije markt onder de wet van vraag en aanbod. De fluctuerende marktwaarde van goederen en diensten geven de producenten weer prikkels om zich verder te specialiseren en te vernieuwen; en daarmee het aantal soorten goederen en diensten te doen toenemen.
Marktstraat
>>
S E R V I C E
O R I E N TA T I E
I N
M A A T S C H A P P I J
l
1 7
>>
Een voorbeeld. Als twee slagers hun vleesproducten op dezelfde markt brengen, is er sprake van concurrentie en zullen beide slagers handelend vanuit de prikkel tot meer welvaart/rijkdom de beste prijs/kwaliteit op de markt zetten. Als de vraag veel groter is dan het aanbod, dan stijgt de prijs en zullen er nog meer slagers bijkomen die allemaal hun eigen belang najagen. Daardoor zal het aanbod vergroten en dat drukt de prijs, want de consument zoekt op basis van zijn eigen belang naar de beste prijs/kwaliteit. Om zich te onderscheiden en weer beter te handelen op de markt kan het zijn dat een van de slagers zich gaat specialiseren in het maken van verschillende soorten worsten. Als die worsten in de smaak vallen, dan neemt de vraag daarnaar toe en gaat de prijs omhoog. De slager wordt in dat geval beloond voor zijn specialisme en vernieuwing. Andere slagers zullen proberen zijn voorbeeld te volgen of brengen andere specialistische lekkernijen op de markt zoals patés. Zo leidt het najagen van het eigen belang (de prikkel) zowel tot een verdeling van welvaart tussen de marktdeelnemers als tot meer vernieuwing en meer specialisatie in goederen en diensten. Evolutie in de economie
Charles Darwin heeft zich bij zijn evolutietheorie laten inspireren door een boek van Robert Malthus uit 1798 over de economische ontwikkeling als een ‘struggle for survival’ waarin natuurlijke selectie een belangrijke rol speelt. Als we kijken naar hoe de economie zich heeft ontwikkeld tot wat die vandaag is, dan lijkt evolutie daarbij een belangrijke rol te spelen. Volgens evolutiefilosoof Daniel Dennet is evolutie een algemeen algoritme voor het maken van een ontwerp zonder ontwerper (Beinhocker, 2006). De principes van evolutie zijn: diversificatie, selectie en versterking (of schaling). De drijfveer tot meer welvaart maakt dat mensen voortdurend nieuwe dingen uitproberen om
1 8
l
S E R V I C E
O R I E N TA T I E
I N
M A A T S C H A P P I J
economische waarde te creëren; dat kan gaan om het verbeteren van iets bestaands of het verzinnen van iets nieuws (diversificatie). Van de enorme diversiteit aan pogingen om iets nieuws of beters te maken, slaagt maar een heel klein deel: er ontstaat dan vraag naar het nieuwe of verbeterde product (selectie). Vervolgens wordt de schaal vergroot door het productieproces uit te breiden of te intensiveren (versterking). Al snel zullen door het succes andere leveranciers de markt met vergelijkbare producten of substituten betreden (concurrentie) en wordt de markt rond dat product volwassen, waarna door andere verbeteringen en vernieuwingen de vraag afneemt en het oorspronkelijke product uiteindelijk zal afsterven (uitdoving). Dit is een evolutionaire beschrijving van de algemene product levenscyclus. Vooruitgang – in plaats van meer van ongeveer hetzelfde - ontstaat omdat de technologie waarmee nieuwe producten en diensten worden bedacht en ontwikkeld zelf ook steeds verbetert. Dankzij de alsmaar voortschrijdende technologische vooruitgang wordt de diversiteit aan mogelijke producten en diensten bijna oneindig. De technologie werkt daarbij als een hefboom en versnelt het evolutionaire proces. Zo heeft de telecommunicatietechnologie geleid tot meer zakendoen op afstand, tot het aanboren van nieuwe markten en het introduceren van nieuwe producten en diensten. Selectie en versterking zorgen ervoor dat we vandaag de dag vanuit die oneindige set van producten en diensten er ‘slechts’ 10 miljard overhouden. Door dit proces zijn we in een paar duizend jaar gekomen van plaggenhut tot ‘skyscraper’, van stenen handbijl tot space shuttle en van voetreis tot vliegvakantie. Aansturing of bijsturing
Adam Smith was een groot voorstander van de vrije markteconomie en beweerde dat deze niet alleen vooruitgang bood maar ook een eerlijke verdeling
van de welvaart. De overheid diende zich niet te bemoeien met de spontane ontwikkeling van de welvaart(sverdeling) maar een ‘laissez faire’ houding aan te nemen. Deze pure vorm van kapitalisme leidde in het begin van de industriële revolutie echter tot desastreuze sociale omstandigheden zoals een zwaar verpauperde en uitgebuite arbeidersklasse. Van een eerlijke verdeling van de welvaart was voor het gros van de bevolking weinig te merken. Het socialisme kwam in het begin van de 20e eeuw met een tegenhanger van de ‘laissez faire’ politiek rond de vrije markt, namelijk een centraal geleide, van bovenaf bestuurde planeconomie. Het ideaal was om door volledige beheersing van de economische ontwikkeling efficiënter te werk te gaan bij nieuwe ontwikkelingen en specialisaties en ook de welvaart eerlijker te verdelen onder de deelnemers. Het mislukken van het gros van de vernieuwingen bij de diversificatie werd door de planeconomen als een grote verspilling van energie gezien. De Sovjet Unie had na de socialistische revolutie van 1917 ongeveer 10 jaar nodig om met een aanpak te komen voor een centraal geleide economie. In dit model werd van bovenaf een plan gemaakt en opgelegd aan alle structuren daaronder. Iedereen moest precies dat doen wat gevraagd werd, want bij afwijkingen in de productie op plek A zou de zaak op plek B volledig in het honderd kunnen lopen. Er waren met andere woorden grote onderlinge afhankelijkheden die van bovenaf nauwgezet bestuurd moesten worden. In 1928 werd het eerste vijfjarenplan gelanceerd. In de jaren dertig en veertig had de top-down aanpak een redelijk succes om de Sovjet Unie om te vormen van een agrarische staat tot een industriële grootmacht. Maar daarna was de aanpak uitgewerkt en vanaf de vijftiger jaren bleef de ontwikkeling
steeds verder achter bij het Westen. Het bleek met het dynamischer worden van de omgeving uiteindelijk onmogelijk om alle facetten te overzien van het top-down besturen en beheersen van zoiets complex als de economie van een land van honderden miljoenen mensen. Uiteindelijk stortte dit monolithische systeem in de jaren tachtig volledig in elkaar. China dat later begon met de centrale planeconomie had veel eerder door dan de Sovjet Unie dat die aanpak op termijn niet meer zou werken. Vanaf 1978 is China een pad ingeslagen waarin voorzichtig de transformatie werd gestart op weg naar een meer vrije markteconomie. Volgens de Chinese ambassadeur in Nederland (Hanqin, 2007) had China alleen al 10 jaar nodig om in de partijtop iedereen te overtuigen van de noodzaak van deze transformatie en de neuzen dezelfde kant op te krijgen. Deze transformatie staat onder het bestuur van de centrale partij en moet er uiteindelijk toe leiden dat China in deze eeuw een of misschien wel de economische grootmacht gaat worden. Dit is een aanpak van “Think Big, Act small (and incremental)”. China vormt zichzelf dus langzaam om van monoliet (aansturing) naar een beweeglijker set van stenen die flexibel kunnen inspelen op veranderingen in de omgeving (bijsturing). Het economische succes van deze Chinese transformatie is groot in vergelijking tot die van de voormalige Sovjet Unie. Het BNP per hoofd groeide in China in de periode van 1980-2003 van 1060 dollar naar 4609 (335%) terwijl het in dezelfde periode in de (voormalige) Sovjet Unie afnam van 6427 naar 5397 dollar (-16%). In West-Europa is in de 20e eeuw een vorm gekozen die ligt tussen de ‘laissez faire’ vrije markteconomie en de centraal geleide economie, namelijk de gemengde economie die probeert >>
S E R V I C E
O R I E N TA T I E
I N
M A A T S C H A P P I J
l
1 9
>>
het beste van beide werelden – kapitalisme en socialisme - in zich op te nemen. Direct na de Tweede Wereldoorlog was deze vorm het meest succesvol en leidde tot een stevige wederopbouw van de door oorlog lamgeslagen economie. Zo groeide het BNP per hoofd van 5000 dollar in 1950 tot ruim 14000 dollar in 1980 (180%). Vanaf ongeveer 1980 heeft West-Europa onder aanvoering van eerst Groot-Brittannië en later de Europese Commissie ook de weg ingeslagen naar een meer vrije markteconomie. Deze stappen hangen samen met een toenemende globalisering van de economie vanaf de jaren tachtig waarin we langzaam toegroeien naar één enkel wereldwijd economisch speelveld.
Complex Adaptief Systeem (CAS)
2 0
l
S E R V I C E
O R I E N TA T I E
I N
M A A T S C H A P P I J
Zelfsturing: Complex Adaptief Systeem
De Verenigde Staten kennen ook een gemengde economie, maar de staatsbemoeienis is daar altijd veel minder geweest dan in West-Europa. Het land ligt – samen met Japan - relatief het dichtst aan tegen de zuivere vorm van een vrije markteconomie en is – opnieuw met Japan - het meest succesvol geweest in de 20e eeuw qua groei in BNP per hoofd van de bevolking. Hoe kan het zijn dat zoiets complex als de economie van een land het beste gedijt zonder (grote) inmenging van bovenaf? Dat komt doordat de economie zichzelf aanstuurt als een complex adaptief systeem, een begrip dat door wetenschappers van het Santa Fe Instituut
halverwege de jaren 80 van de vorige eeuw is beschreven. Een complex adaptief systeem (CAS) is een dynamisch netwerk van vele ‘agenten’ die parallel aan elkaar ageren en reageren op wat andere agenten in het systeem doen. Voorbeelden van agenten zijn waterdruppels, hersencellen, insecten, mensen of bedrijven. De controle over een CAS is uitermate verspreid en gedecentraliseerd. Als er sprake is van coherent en complex gedrag in het systeem dan komt het voort uit de competitie en samenwerking tussen die agenten zelf. Het totale gedrag van het systeem is het resultaat van het enorme aantal beslissingen dat elk moment door vele individuele agenten wordt genomen. De eerder beschreven evolutieprincipes vormen een speciaal onderdeel van een CAS, maar ook zaken als het eigen belang, de voortschrijdende technologie en de kosten van integratie en afstemming.
Een voorbeeld van hoe een CAS werkt in onze maatschappij en leidt tot economische vooruitgang. De uitvinding van de verbrandingsmotor heeft geleid tot een spervuur aan indirect daaraan gerelateerde uitvindingen en ontwikkelingen zoals opblaasbare rubber banden, ruitenwissers, asfaltwegen, ophaalbruggen, motels en ‘fast food’ restaurants. De diverse agenten die samen of in concurrentie met elkaar die nieuwe samenhangende onderdelen ontwikkelden deden dat op grond van een economische drijfveer: het eigenbelang met andere woorden het vergroten van hun welvaart. De verbrandingsmotor werkte als katalysator door de vele individuele en totaal verschillende reacties op deze uitvinding en het complexe gedrag groeide uit tot een zeer belangrijk onderdeel van onze huidige maatschappij: de wegeninfrastructuur en het wegverkeer. Niemand
Metropolis
>>
S E R V I C E
O R I E N TA T I E
I N
M A A T S C H A P P I J
l
2 1
>>
kan worden aangewezen als de dirigent van deze brede maatschappelijke effecten; niemand heeft het zelfs maar kunnen bedenken op het moment van de uitvinding van die verbrandingsmotor. Het systeem stuurt zichzelf aan. Metropolis
Een meer uitgewerkt voorbeeld van economische en maatschappelijke evolutie is afkomstig van Pat Helland, architect en storyteller bij Microsoft en heet ‘Metropolis’. Het betreft de versnelling van de economische ontwikkelingen in de Verenigde Staten ten gevolge van het ontstaan van het (TransAtlantische) spoorwegnet. Hij vertelde het verhaal met het oog op de relatie tussen die ontwikkeling en die van service oriëntatie in de ICT. Uit het betoog in dit hoofdstuk blijkt dat Metropolis meer is dan alleen maar een leuke metafoor. Het gaat om de werking van dezelfde basisprincipes: diversificatie, specialisatie, uitwisseling, standaardisatie, soepeler integratie, natuurlijke selectie, schaalvergroting (versterking) en alsmaar voortschrijdende technologie en toename van welvaart. Kortom een zichzelf sturend complex adaptief systeem. Bij de kolonisatie van Noord-Amerika ontstonden leefgemeenschappen die geïsoleerd waren van de andere gemeenschappen. Zo werd een leefgemeenschap vrijwel volledig zelfvoorzienend. Binnen de gemeenschap werden de werkactiviteiten onderverdeeld en afgestemd en vond ook enige dienstverlening plaats. De boer verkocht zijn graan aan de molenaar die op zijn beurt het meel weer aan de bakker verkocht. De dorpsdokter kocht het brood en behandelde zowel de boer als de molenaar en de bakker. Voor bepaalde goederen was men wel afhankelijk van externe invoer, maar het gros werd intern verzorgd. Dezelfde goederen zagen er in stad A heel anders uit dan in stad B, maar dat maakte niet uit: zowel de mensen als de goederen konden niet massaal over lange afstand worden verplaatst. In het midden van de 19e eeuw zorgde de spoorlijn voor een verbinding tussen de steden van Amerika. Opeens konden mensen reizen
2 2
l
S E R V I C E
O R I E N TA T I E
I N
M A A T S C H A P P I J
en nieuwe plaatsen bezoeken. Het vervoer van basisgoederen zoals katoen, planken, kolen en graan werd direct een groot succes. Dit alles leidde tot grote veranderingen. Er ontstond een explosie in de detailhandel. Winkeliers plaatsten hun winkels vlak bij het spoor en verzamelden daar vele soorten goederen. Mensen reisden per trein naar die winkels en kochten massaal in. Het viel nu op dat gefabriceerde goederen uit stad A niet goed aansloten op de gefabriceerde goederen uit stad B en bij de aanschaf moest daarop goed worden gelet. Standaardisatie
De ontsluiting van de geïsoleerde steden door de spoorlijn leidde uiteindelijk ook tot standaardisatie van goederen. In het begin van de 19e eeuw werden de meeste goederen nog met de hand gefabriceerd. Als de onderdelen van een product niet goed op
Standaardisatie
elkaar aansloten, werd er net zolang geschaafd en geschuurd totdat het paste. Zo werden moeren en bouten, wielen en assen stuk voor stuk passend gemaakt op elkaar. Pioniers als Honore LeBlanc en Eli Whitney introduceerden de idee van standaard onderdelen in het productieproces. Whitney introduceerde het ‘interchangeability’ systeem. Door een sterke controle over de specificatie en productie van onderdelen was Whitney in staat om in korte tijd 12000 musketten te maken voor
het Amerikaanse leger. Ging het daarbij nog om standaardisatie binnenshuis – binnen een enkele fabriek – aan het einde van de 19e eeuw was er dankzij de ontsluiting door de spoorlijn sprake van de facto standaarden over de verschillende producenten heen, waardoor onderdelen uit fabriek A goed pasten in producten die in fabriek B werden gefabriceerd. Bedrijven begonnen zich te specialiseren op het maken van onderdelen met een hoge mate van standaardisatie en precisie. Bedrijven die dit beter en efficiënter deden dan de concurrent ging het een stuk beter dan bedrijven die de consistentie minder goed voor elkaar hadden.
Assemblage
kwaliteit van die onderdelen. Daardoor kon de producent (assembleur) van eindproducten ook steeds betere kwaliteit en een hoger niveau van producten gaan leveren. Zo werd het fabricageproces een waardeketen aangedreven door productie en levering van onderdelen, door assemblage en door reputatie en vertrouwen. Vandaag de dag levert een bedrijf dat fietsen maakt zelf hoogstens alleen nog het frame. De pedalen, wielen, remmen, versnellingen, verlichting en zadels worden gemaakt door andere bedrijven. Standaardisatie van die onderdelen is een noodzakelijke voorwaarde en opent de mogelijkheid tot nieuwe, samengestelde producten van een hogere kwaliteit. Een bedrijf dat zelf een complete fiets maakt inclusief alle onderdelen, kan niet meer overleven.
Schaalgrootte speelt ook een belangrijke rol bij de assemblage. Hoe groter de productie, hoe lager de kosten per product uitvallen. Dat betekent dat grote producenten in de regel goedkoper produceren dan kleine en dat schaalvergroting dus een economisch verantwoorde bedrijfsstrategie wordt. Zo is in de confectie-industrie ook meer en meer het maatwerkpak van de kleermaker op de hoek verdrongen door standaard confectiepakken die in een paar maten op grote schaal gemaakt worden. Voor de consument zit een pak nooit meer als gegoten, het is altijd of iets te klein of iets te groot, maar de zeer lage prijs verzacht alle pijn.
Assemblage van producten
Dankzij standaardisatie werd assemblage van producten mogelijk waarbij de onderdelen van meerdere leveranciers afkomstig waren. De onderlinge concurrentie tussen de leveranciers zorgde voor verbeteringen in de efficiëntie en
Vo o r k a n t
In het begin van de 19e eeuw was de winkel een beetje de voorkant van de fabriek waar de goederen geproduceerd werden; in vele gevallen was dit zelfs letterlijk zo. De fabriek bepaalde wat er >>
S E R V I C E
O R I E N TA T I E
I N
M A A T S C H A P P I J
l
2 3
geproduceerd werd en wat het aanbod was en de winkel verkocht de geproduceerde eenheden. Er was enigszins gechargeerd sprake van een winkel per product. Aan het eind van de 19e eeuw ontstonden grotere winkelcentra waar mensen voor de hele week of maand de inkopen konden doen. Maar de winkels bleven vaak nog echt de uitstalling van de productiebedrijven. Zowel de toeleverende fabrieken als de winkelcentra lagen dicht aan het spoor zodat goederen en mensen er gemakkelijk konden komen. Nog later ontstonden warenhuizen en supermarkten die ‘intramuraal’ de diverse merken huisden en zelf bepaalden hoe, waar en in welke combinatie producten werden uitgestald.
2 4
l
S E R V I C E
O R I E N TA T I E
I N
M A A T S C H A P P I J
Metropolis conclusie
Metropolis toont aan dat een belangrijke technologische ontwikkeling zoals de spoorlijn een katalysator van economische en maatschappelijke veranderingen kan zijn. Want na die technologische doorbraak ontstaan nieuwe ideeën die daarvan optimaal gebruik maken, zoals de de facto standaardisatie in de industrie, die weer leiden tot een nieuwe invulling van economische principes. In een later hoofdstuk wordt duidelijk dat de ontwikkelingen zoals in Metropolis geschetst heel veel lijken op de ontwikkelingen binnen de ICT waarbij de applicatie zich van monolithische ‘fabriek met aangesloten verkoopwinkel’ ontwikkelt tot een set van services waarbij de voorkant – de ‘customer facing’ kant – bepaalt of en hoe de services van de diverse leveranciers aan die klant getoond worden volgens het warenhuis- of supermarktmodel.
Te n s l o t t e
Dit hoofdstuk heeft de economische ontwikkeling van onze maatschappij beschreven. Hoe deze van een jager-verzamelaar gemeenschap met een zeer beperkt aantal goederen en diensten is uitgegroeid tot een maatschappij met miljarden goederen en diensten. En dat deze ontwikkeling langs de lijn van evolutionair economische wetmatigheden verloopt waarin zaken als diversificatie, specialisatie, selectie, versterking, uitwisseling, standaardisatie en voortschrijdende technologie een belangrijke rol spelen. Het verlangen naar betere omstandigheden i.c. meer welvaart vormt de voornaamste drijfveer achter deze economische ontwikkelingen. De economie is een complex adaptief systeem waarin geen centrale leiding is maar waar de vooruitgang het gevolg is van de samenwerking en competitie van alle deelnemers
(‘agenten’). Het centraal aansturen (‘command and control’) van een grootschalige economie is wel uitgeprobeerd – zoals in de Sovjet Unie en China – maar wordt algemeen beschouwd als een mislukking en een grote rem op de vooruitgang, vooral als de omgeving dynamischer en complexer wordt. De informatiemaatschappij die nu aan het ontstaan is, leidt ertoe dat grenzen meer en meer wegvallen, waardoor zowel de gemiddelde grootte van landen als van bedrijven afneemt (Malone, 2005). Nieuwe landen betreden het economische speelveld en de economie krijgt steeds meer het karakter van een vrije markteconomie. Daarin worden zowel de landen als de bedrijven kleiner en maken monolieten steeds meer plaats voor wisselende formaties van kleinere en grotere agenten die met elkaar samenwerken. <<
S E R V I C E
O R I E N TA T I E
I N
M A A T S C H A P P I J
l
2 5
S E R V ICE ORIË N TATIE
Na service oriëntatie aan het werk te hebben gezien in de maatschappij kijkt dit hoofdstuk naar service oriëntatie in het bedrijf en de bedrijfskolom. Spelen dezelfde principes daar ook een belangrijke rol? En is de ontwikkeling van een bedrijf of bedrijfskolom misschien wél blijvend gebaat bij aansturing van bovenaf?
I N B E DRI J F
>>
Het besturen en in de hand houden van de economische ontwikkeling van de maatschappij blijkt niet alleen ondoenlijk, maar ook ongewenst. Wel kan ‘de politiek’ de scherpe kantjes van de vrije economie afhalen en deze een wat gelijkmatiger en socialer gezicht geven. Dit wordt een gemengde economie genoemd. Voor de rest dijt de maatschappij als complex adaptief systeem steeds verder uit, is de groei in aanbod van goederen en diensten onstuimig en stijgt het gemiddelde welvaartsniveau alsmaar door – ook al is die welvaart niet evenredig verdeeld. De vraag die we ons in dit hoofdstuk stellen is: spelen dezelfde principes en wetmatigheden ook op het niveau van het bedrijf en de bedrijfskolom? Is daar ook sprake van een voortdurende evolutionaire ontwikkeling: diversificatie/specialisatie, selectie en versterking? En valt daar wel ‘command and control’ uit te oefenen? En als dat het geval is, is dat dan ook wenselijk? Een bedrijf is volgens van Dale een inrichting voor de uitoefening van een bepaalde tak van industrie, handel, verkeer, enzovoort inclusief de daarin werkzame personen. Wikipedia noemt het een organisatie van arbeid en kapitaal met als doel het maken van producten en diensten en het verdienen van een inkomen. In het voorbeeld van de speldenfabriek van Adam Smith werd duidelijk dat het inkomen verdiend werd door spelden te produceren en te verkopen. De productiviteit en daarmee de efficiëntie werd verhoogd door het opdelen van de werkzaamheden in afzonderlijke activiteiten en die activiteiten aan verschillende mensen toe te wijzen; in plaats van alle mensen dezelfde activiteiten te laten uitvoeren. De medewerkers konden zich door de opdeling specialiseren. Maar iets of iemand moet die opdeling bedacht hebben, de mensen aangesteld en getraind hebben en de afstemming tussen al die activiteiten gecoördineerd hebben. Het proces van specialisatie
2 8
l
S E R V I C E
O R I E N TA T I E
I N
B E D R I J F
en afstemming binnen de speldenfabriek vond niet ‘spontaan’ plaats. Wat wel spontaan plaatsvond, is dat de speldenfabrieken die niet of minder goed het werk opdeelden en weer afstemden ter ziele gingen. Maar dat speelt zich af op het niveau van de maatschappij en het complex adaptief systeem (CAS) en niet op het niveau van het individuele bedrijf. Een bedrijf heeft een visie, een missie en een of meer strategieën om die missie uit te voeren. De visie is de blik van het bedrijf op (een relevant stukje van) de wereld en wat dat bedrijf met zijn producten of diensten in die wereld kan betekenen of hoe het aan die wereld economische waarde kan toevoegen. De missie is vervolgens dat wat het bedrijf wil bewerkstelligen in die wereld; vaak in termen gesteld die publieksvriendelijk zijn. Dus niet ‘wij willen veel geld verdienen’ maar ‘miljoenen klanten een ervaring van geluk geven’ (Disney), ‘toonaangevende ondernemingen en regeringen helpen succesvoller te zijn’ (McKinsey) of ‘de kwaliteit van het bestaan te verbeteren door zinvolle innovaties op het juiste moment te introduceren’ (Philips). De strategieën zijn vervolgens ‘de plannen of het beleid volgens hetwelk men te werk gaat’ (van Dale) of ‘de bepaling van en keuzen uit alternatieven op hoofdlijnen waarbij de gangbare tijdshorizon tussen de 5 en 10 jaar ligt’ (Wikipedia). De tactische en operationele plannen en activiteiten rollen vervolgens uit de bedrijfsstrategieën. Op de uitvoering vindt ‘monitoring’ en feedback plaats op basis waarvan de operationele uitvoering bijgestuurd wordt en soms ook de tactische en operationele plannen worden bijgesteld. Bij uitzondering kan een grote afwijking van de realiteit op de gestelde plannen of een plotselinge verandering in de omgeving leiden tot bijstelling van de strategie. Nog uitzonderlijker is het als de missie wordt aangepast. Maar ook dat komt wel voor.
Uit deze beschrijving wordt wel duidelijk dat een zetten: het gaat er daarbij om de dingen goed te bedrijf echt bewust van bovenaf wordt aangestuurd. doen, met andere woorden om productiviteit en Het is geen zelfregulerend organisme zoals de efficiëntie. economie van een maatschappij. Die economie en maatschappij vormen voor het bedrijf wel de Dus resumerend: omgeving waarin het keuzes maakt. En in die omgeving 1. de goede dingen doen het maken van de goede keuze; spelen wel de zelfregulerende effectiviteit (selectie) evolutiemechanismen van 2. de dingen goed doen de optimale inzet van arbeid en diversificatie, selectie en kapitaal; efficiëntie en productiviteit versterking. Jaarlijks starten (specialisatie en versterking) duizenden nieuwe bedrijven maar lang niet alle bedrijven weten te overleven of zichzelf te versterken. In een omgeving die weinig verandert of in een Binnen bedrijven vindt over tijd overigens vaak marktsegment waar veel ruimte voor groei is, hoeft een bewuste variant van diversificatie/specialisatie, de bovenstaande exercitie maar eenmaal goed selectie en versterking plaats. Philips begon in 1891 opgezet te worden en kan dan tijdens de uitvoering met het maken van gloeilampen in een fabriek in aangepast worden door het proces van monitoren, Eindhoven. In 1918 bracht Philips een medische feedback en bijsturing . Zo kende de Amerikaanse röntgenbuis op de markt en dat was het begin van auto-industrie in de eerste decennia van de het evolutionaire proces dat leidde tot de uitgroei twintigste eeuw een onstuimige groei en waren tot het multinationale bedrijf van vandaag met bedrijven die zich richten op de efficiëntie van verschillende bedrijfsonderdelen, deelnemingen en het productieproces zeer succesvol. Het beroemde allianties. voorbeeld is de T-Ford, de eerste auto die in massaproductie werd vervaardigd. Ruim 20 jaar lang (!) rolde nagenoeg hetzelfde model Bedrijfsstrategieen van de lopende band in de kleuren zwart, zwart en De strategieën die bedrijven kiezen om hun missie zwart. Henry Ford paste de principes van opdeling, te volvoeren zijn natuurlijk sterk afhankelijk van specialisatie en coördinatie tot in de perfectie die missie en de producten en/of diensten die ze toe. Hij vond de lopende band uit als het strikt voeren. Maar op een wat abstracter niveau zijn veel bedrijfsstrategieën van commerciële ondernemingen ingerichte, feilloze coördinatieprincipe van alle gedetailleerde activiteiten die de fabriekswerkers onderling goed vergelijkbaar. Bij het ontwikkelen uitvoerden op de auto. Het werk kwam nu naar van bedrijfsstrategieën gaat het primair om het de werkers toe in een tempo dat van bovenaf werd maken van keuzen. Vanaf de industriële revolutie bepaald. Daardoor werden de productiekosten sterk tot ruim halverwege de 20e eeuw zie je twee verlaagd en werd de auto van een handgemaakt hoofdstrategieën van commerciële ondernemingen. hebbeding voor de rijken opeens tot een De primaire strategie is om te bepalen wat je als consumentenproduct voor de massa. General bedrijf wel doet en wat niet. Welke producten en Motors had een andere strategie van efficiëntie: diensten ga je voeren en welke niet; in simpele die van de horizontale diversificatie en verticale termen: kies de goede dingen om te doen. De integratie. GM kocht in de periode 1909 – 1930 tweede, daarvan afgeleide strategie is om de heel wat kleinere automerken op en tegelijkertijd beschikbare arbeid en het kapitaal optimaal in te >>
S E R V I C E
O R I E N TA T I E
I N
B D E R I J F
l
2 9
>>
ook de toeleveringsbedrijven. Deze diversificatie en integratie boden kostenvoordelen aan GM, vooral nadat de standaardisatie van onderdelen werd verbeterd en de verschillende GM-merken dezelfde onderdelen gingen gebruiken. Dit was een moderne variant van het uitwisselbaarheid principe van Eli Whitney uit het Metropolis verhaal (hoofdstuk 2). Van elke GM-auto die van de band rolde, was 70% van alle componenten het eigendom van GM. Met deze strategie van verbreding en verdieping groeide GM uit tot de grootste onderneming van de Verenigde Staten. Verticale integratie was in het grootste deel van de twintigste eeuw sowieso een beproefde strategie. Veel bedrijven probeerden een zo groot mogelijk deel van de bedrijfskolom – ‘van zand tot klant’ – in bezit te krijgen, zowel achterwaarts (toeleveringsbedrijven) als voorwaarts (de afzetkanalen). Deze legale en administratieve zeggenschap gaf een grotere ‘command and control’ en daarmee een beter gevoel van beheersing. Omdat bedrijven daarnaast steeds vaker ook horizontaal uitbreiden - diversificatie, branchevervaging -, groeiden de meest succesvolle bedrijven in de twintigste eeuw uit tot enorme, multinationale monolieten met een krachtig centraal bestuur.
Vooral de ICT had en heeft grote invloed op de verandering van de manier waarop werk wordt georganiseerd. De ICT-ontwikkelingen leidden ertoe dat het proces van opsplitsing en coördinatie van arbeid over (grote) afstand mogelijk werd. Dat gaf weer de mogelijkheid om het proces van bestuur en productie te decentraliseren (macht; besluitvorming) en te deconcentreren (geografische verspreiding) waarbij de communicatie over afstand als bindmiddel werkte. Zo werd de ICT een belangrijke katalysator voor de verandering van de krachten in de markt en werd de wereld steeds ‘kleiner’. Ten slotte kwam er door de voortdurende verbeteringen van het productieproces en de toenemende concurrentie een marktsituatie van overaanbod. De klant komt daarmee in de ‘driver seat’. Klanten stellen steeds meer eisen en ontwikkelen sneller nieuwe wensen en behoeften. Dat leidt tot de-standaardisatie van de klantbehoeften en daardoor de geleidelijke omvorming van bedrijven van productiegericht naar klantgericht: van ‘mass production’ naar ‘mass customization’. Het groter wordende economische speelveld leidt ook tot steeds meer concurrentie, omdat de concurrent uit alle hoeken van de wereld kan komen.
De omgeving verandert
De voortdurende toename van de algemene welvaart leidde vanaf het begin van de jaren zeventig tot merkbare veranderingen in de maatschappij die hun effect kregen op de bedrijfsvoering. Op de eerste plaats kwamen er de cultureel maatschappelijke ontwikkelingen zoals de emancipatie, een stijgend opleidingsniveau, de roep om een betere arbeidskwaliteit met meer zelfsturing, flexibele werktijden/plaatsen die onder meer zorgden voor een ontwikkeling van zelfbewustzijn van de medewerkers. Daarnaast waren er in die periode belangrijke technologische ontwikkelingen zoals CAD/CAM, robotisering en op het gebied van de informatie en communicatietechnologie (ICT).
3 0
l
S E R V I C E
O R I E N TA T I E
I N
B E D R I J F
Aanvullende strategieën
Al deze ingrijpende veranderingen vereisen aanvullende bedrijfsstrategieën. De goede dingen doen en de dingen goed doen, dat is niet meer genoeg. Het gaat er om de dingen beter te doen met andere woorden, het lerend vermogen van de organisatie wordt belangrijk. De enige stabiele factor is de continue verandering. In een wereld van hyperconcurrentie gaat het erom een voortdurende reeks van kleine voordelen en voorsprongen te creëren. Want de voorsprong wordt heel snel gekopieerd door de concurrent. Voortdurende innovatie en een snel aanpassingsvermogen (beweeglijkheid, ‘agility’) worden hoofdstrategieën.
veranderen van een modulair proces of service center is veel eenvoudiger omdat het min of meer onafhankelijk van de overige processen en service centers plaatsvindt. De hoofdbestuurder hoeft zich alleen maar te concentreren op de juiste afstemming van de service centers en op het behalen van synergetische voordelen. Ook kan de hoofdbestuurder voortdurend afwegen of de activiteiten van het service center nog wel vallen binnen de kerncompetenties van het bedrijf (strategisch) en of het afnemen van dezelfde service buiten het bedrijf geen kostenvoordelen met zich meebrengt (tactisch). Dankzij de relatieve onafhankelijkheid van het service center kan men de geboden services betrekkelijk eenvoudig 3. de dingen beter en het lerend vermogen en continue losweken uit het bedrijf en vervolgens uitbesteden. En dat anders doen veranderingen; 4. de dingen laten doen denken in processen en zich werd vanaf de jaren tachtig richten op kerncompetenties. dan ook in toenemende mate gedaan. Dat gold allereerst voor ondersteunende activiteiten zoals de catering, de salarisadministratie, de Opsplitsen en uitbesteden beveiliging, de receptie en het wagenparkbeheer. Deze nieuwe strategieën leidden en leiden tot De meeste grotere bedrijven hebben dit al het opdelen van de traditionele, hiërarchisch uitbesteed aan daarin gespecialiseerde bedrijven. In aangestuurde organisatie in een aantal eenheden toenemende mate komt daar ook de uitbesteding die steeds meer bestuurlijke vrijheid kregen van de ICT bij. Belangrijk is echter dat de (decentralisatie) en geografische verspreid raakten regiefunctie in handen van de dienstafnemer/ (deconcentratie). Het bedrijf wordt steeds minder uitbesteder blijft en dat de externe dienstverlener functioneel, hiërarchisch aangestuurd en steeds op basis van contracten vooraf afgesproken meer als een set van modulaire processen. De serviceniveaus biedt. Dat is de beste manier voor bestuurder van zo’n proces krijgt steeds meer de dienstafnemer/uitbesteder om de besturing vrijheid dat proces naar eigen inzicht in te richten. van de strategie en de controle op de uitvoering te Op die wijze ontstaan modulaire processen kunnen blijven doen. Een belangrijke stap verder en afdelingen (‘service centers’) die primaire is om zowel de diensten zelf als de contracten of ondersteunende diensten leveren aan het ervan te standaardiseren. Dat maakt de overstap totale bedrijf. Het opdelen van de uit te voeren van de ene naar de andere dienstverlener een stuk activiteiten in min of meer onafhankelijke service eenvoudiger, waardoor de kosten van integratie centers biedt een aantal voordelen. Van elk service sterk afnemen. En dat draagt weer bij tot de center kan bekeken worden wat de bijdrage is aan flexibiliteit in het besturen en orkestreren van het het bedrijf en hoe de bijdrage van die specifieke totale palet aan bedrijfsactiviteiten. dienst verbeterd kan worden. Het besturen en
Als men in een dergelijke snelle en uitermate complexe wereld op de been wil blijven en de organisatie wil inrichten op voortdurende verandering is het noodzakelijk zich te concentreren op de kerncompetenties. De oude strategie van voorwaartse en achterwaartse verticale integratie wordt omgekeerd en de monolithische bedrijfskolom valt uiteen in een set van afzonderlijke bedrijven die ‘loosely coupled’ met elkaar samenwerken. In de kolom neemt elk bedrijf zijn eigen plaats in, richt zich op wat het goed doet en laat de rest vooral over aan anderen. Resumerend heeft de veranderende wereld geleid tot twee nieuwe, aanvullende strategieën:
>>
S E R V I C E
O R I E N TA T I E
I N
B D E R I J F
l
3 1
>>
Virtual Enterprise
Niet alleen de ondersteunende activiteiten, ook delen van de primaire activiteiten worden steeds vaker uitbesteed. Als dat gebeurt en we bekijken de ‘van zand tot klant’ bedrijfskolom, dan spreken we over de virtuele onderneming (‘virtual enterprise‘) waarin het complete bedrijfsproces uitgevoerd wordt door verschillende fysieke ondernemingen die soms over de hele wereld verspreid zijn. Een andere benaming voor de virtuele onderneming is het procesnetwerk. In een dergelijk netwerk zijn er specialisten en coördinatoren, want het totale werk wordt uiteraard nog steeds verdeeld en gecoördineerd, al gebeurt dat nu in toenemende mate over de grenzen van bedrijven en landen heen. Twee illustraties van bedrijven in deze rollen. Nike is een voorbeeld van een bedrijf als coördinator. Nike orkestreert een wereldwijd netwerk van partners. Dat netwerk helpt te overleven in de uitermate trendgevoelige wereld van de sportschoen. Nike maakt zelf geen van de schoenen waaraan het zijn logo verleent, maar heeft een zeer uitgebreid en fijnmazig procesnetwerk van productiepartners die de schoenen ontwikkelen en fabriceren. De laagste categorie van deze partners fabriceren de componenten van de goedkopere schoenenlijnen. Goed presterende partners komen hoger in de hiërarchie en mogen de schoenen assembleren of componenten voor de duurdere schoenenlijnen maken. De echte top partners helpen mee aan het ontwikkelen van nieuwe, dure schoenenlijnen met veel nieuwe technologie en met een veel grotere winstmarge. Door de contracten en diensten te standaardiseren kunnen partners gemakkelijk in en uit dit netwerk stappen en zich daarbinnen het liefst naar een hoger niveau toewerken. Nike kan gemakkelijk switchen van partners en heel snel de productie van een specifieke schoen herinrichten: stoppen als de vraag tegenvalt en snel extra produceren als het een hit is.
3 2
l
S E R V I C E
O R I E N TA T I E
I N
B E D R I J F
NVIDIA is een voorbeeld van een bedrijf als specialist. Het ontwerpt grafische processors voor videokaarten voor pc’s, pda/smartphones en spelmachines als de Sega Saturn en later Xbox en Playstation 3. Het bedrijf startte in 1995 met het maken van een bedrijfseigen (‘proprietary’) video- annex geluidskaart voor Sega maar dat was geen groot succes. Een doorbraak voor het bedrijf kwam toen het in 1999 besloot om zich uitsluitend op videoprocessing te richten en daarbij de DirectX specificaties van Microsoft te volgen. In de jaren daaropvolgend was er een grote concurrentiestrijd tussen vele leveranciers van videokaarten. Door een uitstekende prijs/kwaliteit verhouding wist NVIDIA samen met ATI na een ‘shake out’ marktleider te worden. NVIDIA is een ‘fabrieksloos’ bedrijf voor halfgeleiders (‘fabless semiconductor company’) wat betekent dat de daadwerkelijke productie van de NVIDIA grafische chips is uitbesteed aan het Taiwanese TSMC. De grafische chips worden gebruikt in videokaarten van derde bedrijven als Asus, AOpen en Galaxy. NVIDIA is een voorbeeld van een specialistisch bedrijf dat een hoogwaardige component produceert die voortdurend in ontwikkeling is. Het is geen fabrikant van standaard schroefjes en moertjes. Door de complexiteit en de dynamiek van de omgeving en het specialisme van de grafische verwerking is NVIDIA niet een leverancier die tot op de laatste cent wordt uitgeknepen, maar een die een goede onderhandelingspositie heeft. Resumerend is er vanaf de jaren tachtig van de twintigste eeuw een duidelijke ontwikkeling te bespeuren van decentralisatie, deconcentratie en desintegratie waarbij vaste, diep verankerde verbanden vervangen worden door ‘loosely coupled’ verbanden; met andere woorden een organisch netwerk van bedrijven in de bedrijfskolom. Dus ook in het bedrijf en de bedrijfskolom zien we de tendens van omvorming van monoliet naar een beweeglijke set van stenen.
‘ M a e s t r o ’s ’ i n d e V i r t u a l E n t e r p r i s e
Het desintegreren van de bedrijfskolom in vele afzonderlijke bedrijven die elk een deel van het totaalproduct en een deel van de kolom voor hun rekening nemen, is primair ingegeven door economische overwegingen zoals verlaging van kosten, complexiteit en risico. Het nadeel van zo’n versplintering is dat het overzicht en de controle over de kolom ook wordt opgegeven. Het lijkt erop dat daarmee de individuele bedrijven binnen de kolom op het eerste gezicht wel beter af zijn, maar dat de kolom als geheel niet optimaal functioneert. De kosten en het risico worden verschoven van het individuele bedrijf naar de kolom zelf. In de evolutionaire beschouwing van de economie zal een dergelijk ‘gat’ in de markt (of kolom) als vanzelf worden opgevuld. En dat blijkt ook het geval. Bitran en anderen beschrijven dit in het artikel ‘The need for third-party coordination in supply chain governance’ (Bitran, 2007). Zij zien een nieuwe rol ontstaan voor met name logistieke dienstverleners als UPS, FedEx en TNT om als onafhankelijk smeermiddel te fungeren in zo’n versplinterde kolom. Zij kunnen daarbij gebruik maken van hun expertise in logistieke afstemming, de contacten met vele bedrijven en de schat aan informatie die ze hebben over de goederen die ze vervoeren. Zij worden daarmee een maestro, een orkestrator, van een deel van de kolom en verdienen hun geld door deze te optimaliseren. Er bestaan overigens al van deze maestro’s. Een in de literatuur veelgebruikt voorbeeld is het Chinese bedrijf Li & Fung (Hagel, 2002; Iansiti, 2004; Bitran, 2007). Een bedrijf dat in een crisis terechtkwam, maar een briljante en
radicale omslag maakte waardoor het nu tot de meest succesvolle bedrijven in de kledingindustrie behoort met een omzet van bijna 9 miljard dollar in 2006. Een omzet die behaald werd met bijna tienduizend medewerkers. Dat is bijna een miljoen dollar omzet per medewerker! Hoe hebben ze dat klaargespeeld? Li & Fung
Li & Fung begon in 1906 in Hong Kong als een handelsmaatschappij die kleding, speelgoed en andere producten verkocht aan de westerse detailhandel. De producten werden gemaakt in tal van Chinese bedrijven en bedrijfjes. Li & Fung leek in hun handel en wandel op zoveel andere Chinese bedrijven. In de jaren zeventig raakte Li & Fung meer en meer in de verdrukking omdat westerse kledingmerken en kledingwarenhuizen zelf op zoek gingen naar de producenten van kleding. Op die wijze hadden de kledingmerken meer invloed op de productie van de kleding. Li & Fung dreigde in dat proces in de verdrukking te komen.
Li & Fung als tussenschakel
Halverwege de jaren zeventig kwamen de beide broers Victor en William Fung vanuit de Verenigde Staten terug naar Hong Kong. Ze besloten het bedrijf te gaan leiden en nieuw leven in te blazen. Wat ze deden was erg interessant. Ze trokken zichzelf terug als tussenschakel in de bedrijfskolom van confectie-industrie waar ze twee schakels aan elkaar gekoppeld hadden: de eindfabricage van >>
S E R V I C E
O R I E N TA T I E
I N
B D E R I J F
l
3 3
>>
kleding (aanbod) en de westerse kledingmerken en warenhuizen (vraag). Ze namen een nieuwe positie in waarbij ze meerdere schakels aan elkaar koppelden. Ze gingen als het ware boven de bedrijfskolom hangen als ‘maestro’ en orkestreerden de confectiekolom. Hun klanten werden de grotere kledingmerken zoals Levi Strauss, Laura Ashley en Gap en de bekendere warenhuizen met eigen kledingmerken waaronder de Bijenkorf.
echter klein en dus wordt de opdracht verspreid over vijf fabrieken. De logistiek, de financiële stromen en de kwaliteit van de kleding moeten goed beheerd worden; ook dat doet Li & Fung allemaal. Uiteindelijk worden de kledingstukken kant-enklaar bij de opdrachtgever afgeleverd. Deze confectiekolom heeft op zich altijd bestaan, maar hij werd nooit gemanaged, nooit
Li & Fung als ‘Maestro’
De rol van Li & Fung wordt het best verduidelijkt door een voorbeeld. Stel dat een klant van Li & Fung, een warenhuis met eigen kledingmerk, honderdduizend broeken wil laten maken op basis van een bepaald ontwerp. De optimale verdeling van werk zou kunnen zijn dat het garen wordt aangeschaft in Zuid-Korea, dat de stof vervolgens wordt geweven en geverfd in Taiwan, op maat gesneden in kleine ateliers in Bangladesh. Het naaien van het eindproduct inclusief het toevoegen van de ritsen uit Japan zou het best kunnen plaatsvinden in China, maar omdat China al een groot deel van zijn textielquota op de Europese markt heeft verbruikt, wordt de opdracht gegund aan naaiateliers in Thailand. De fabrieken daar zijn
3 4
l
S E R V I C E
O R I E N TA T I E
I N
B E D R I J F
geoptimaliseerd. En dat is Li & Fung gaan doen met bijzonder veel succes. In de periode 1996 – 2000 verdubbelde Li & Fung de omzet tot 3,2 miljard US dollar. In dezelfde periode verdrievoudigde de winst; iets wat in de confectie-industrie met zijn lage marges ongehoord is. Li & Fung: Analyse
Marco Iansiti en Roy Levien openen hun boek “The Keystone Advantage” (Iansiti, 2004) met de volgende zin: “Strategy is becoming, to an increasing extent, the art of managing assets one does not own”. Victor en William Fung hebben dit principe zeer goed begrepen en het zich eigen gemaakt ongeveer drie decennia voordat het
opgeschreven werd. Hoewel Li & Fung zelf slechts tienduizend mensen in dienst heeft, bestrijkt het procesnetwerk dat zij managen vele duizenden bedrijven en bedrijfjes en meer dan een miljoen mensen in meer dan veertig landen, voornamelijk in Azië. Li & Fung verdeelt zijn aandacht over drie gebieden en heeft op die wijze ook zijn organisatie ingericht. Aan de voorkant – de klantkant – heeft het een aantal kleine divisies die een sterk ondernemer gedreven, onafhankelijke cultuur hebben. Hun verantwoordelijkheid is de klant heel goed te kennen en de wensen van de klant uit te voeren door op de juiste wijze de noodzakelijke middelen uit het procesnetwerk in te zetten. Aan de achterkant gaan agenten met - in de woorden van Victor Fung – “kapmes en laptop” in de hand in ongeveer veertig Aziatische landen de boer op om nieuwe deelnemers voor het procesnetwerk te vinden en de relaties met de bestaande productiepartners te verbeteren. Centraal wordt het procesnetwerk voortdurend bekeken en doorgemeten, op zoek naar verbeteringen in het proces zelf of de onderdelen van het proces. De
kennis die Li & Fung heeft opgebouwd van het hele procesnetwerk is hun grootste bezit en hun onderscheidend vermogen. De deelnemers aan het procesnetwerk zijn meer dan gewone toeleveranciers maar beslist niet het eigendom van Li & Fung. De relatie met de productiepartner moet tot wederzijds nut leiden. Het doel daarbij is om een langetermijn relatie aan te gaan. Dat gebeurt echter niet door lange en ingewikkelde (wurg)contracten waarbij de leverancier tot op de laatste cent wordt uitgeknepen, maar door economische beloningen en prikkels. Li & Fung geeft zijn relaties de zekerheid van meerdere opdrachten voor langere tijd. Daarbij is de stelregel dat een productiepartner nooit minder dan 30% van zijn eigen capaciteit aan opdrachten voor Li & Fung geeft, maar ook nooit meer dan 70%. Dit om de afhankelijkheid niet te groot te laten worden en Li & Fung vrij spel te geven om flexibel op de vraagbehoeften in te spelen. Behalve opdrachten geeft Li & Fung de productiepartner ook benchmark informatie: hoe goed presteert het in relatie tot anderen. Waar moet het zich >>
S E R V I C E
O R I E N TA T I E
I N
B D E R I J F
l
3 5
>>
verbeteren of op welk vlak zou het zich kunnen specialiseren om nog meer uit de deelname aan het procesnetwerk te halen? Li & Fung bezit zeer veel kennis over de wensen van zijn klanten, zijn productiepartners, de omstandigheden en hoe de kolom optimaal afgesteld moet worden. Zo weet Li & Fung dat bepaalde snijders beter omgaan met grovere wolvormen en niet de kennis hebben om meer delicate wolvormen zoals angora of kasmier te bewerken. Li & Fung maakt zeer veel gebruik van ICT en internettoepassingen om orders in ontvangst te nemen, de productiepartners aan en bij te sturen, het totale overzicht te houden en de gegevens op te slaan en te bewerken tot benchmark informatie en andere “business intelligence” toepassingen. ICT is voor Li & Fung het op een na belangrijkste productiemiddel – na de mens – omdat goede en juiste informatie op de juiste plek en tijd cruciaal is. De losse koppeling met de productiepartners maakt dat het netwerk als geheel uiterst flexibel is en zeer snel op veranderingen kan reageren. Een zeer duidelijk voorbeeld is dat Li & Fung binnen zeven dagen na de terroristische aanval van 11 september 2001 de productie wist te verhuizen van onstabiele naar stabiele landen.
3 6
l
S E R V I C E
O R I E N TA T I E
I N
B E D R I J F
Li & Fung: conclusie
Li & Fung is een opzienbarend voorbeeld van een bedrijf dat zich gespecialiseerd heeft op het orkestreren van een bedrijfskolom zonder daarbij delen van de kolom te bezitten. Vanuit het perspectief van Li & Fung zijn alle productiepartners de dienstverleners in ‘hun’ procesnetwerk. De economische voordelen zijn enorm: veel omzet, veel winst, lage kosten en betrekkelijk weinig risico: de boekwaarde van de vaste activa is minder dan 5% van hun jaarlijkse omzet. Maar ook de flexibiliteit is enorm groot: voor iedere opdracht wordt het netwerk optimaal afgesteld met tussentijdse bijsturing om de uitvoering optimaal te houden.
Te n s l o t t e
Hoofdstuk 2 liet zien dat de ontwikkeling van de agrarische maatschappij in duizenden jaren heeft geleid tot het ontstaan van landen en imperiums uit losse ‘bands’. De industriële revolutie heeft in een paar honderd jaar geleid tot het ontstaan van grote bedrijven en multinationals uit kleine ambachtelijke bedrijven. De informatie revolutie lijkt ons in tientallen jaren te leiden enerzijds in de richting van een enkele wereldwijde economie (schaalvergroting!) en anderzijds tot gemiddeld steeds kleinere landen en kleinere ondernemingen (specialisatie en diversificatie!). Ook worden grote bedrijven steeds vaker bestuurd als een set van min of meer onafhankelijke kleinere bedrijven met elk hun eigen winst/verlies verantwoordelijkheid. De centrale aansturing van bovenaf wordt gedeeltelijk vervangen door zelfsturing op lagere niveaus. In alle gevallen zien we de metaforische ontwikkeling van monoliet naar set van stenen in de verschillende typen van omgevingen steeds sneller plaatsvinden. Het is klaarblijkelijk een universeel evolutionair algoritme dat behoort bij de voortschrijdende ontwikkeling.
<<
S E R V I C E
O R I E N TA T I E
I N
B D E R I J F
l
3 7
S E R V I C E ORIË N TATIE :
Dit hoofdstuk geeft het theoretisch kader rondom service oriëntatie en slaat daarmee de brug tussen vormen van service oriëntatie in maatschappij en bedrijf enerzijds en binnen de ICT anderzijds. De in dit hoofdstuk besproken principes zijn van toepassing op alle vormen van service oriëntatie.
E E N THE ORE T IS CH KAD E R
>>
het besturen van het totale werk bezighoudt. De hoofdbestuurder geeft in dat geval een deel van de geplande activiteiten aan een of meer uitvoerders/ operators. Wellicht dat hijzelf nog een deel van het werk voor zijn rekening neemt.
We r k e n we r k ve rd e l i n g
Een manier om de principes van service oriëntatie te bespreken is om te denken aan een persoon die een stuk werk moet uitvoeren. Dat werk bestaat uit een aantal activiteiten waarbij een activiteit de kleinste, verder ondeelbare werkeenheid is. Om het totale werk uit te voeren moet het werk door die persoon eerst opgedeeld worden in afzonderlijke activiteiten die in een logische volgorde na elkaar uitgevoerd worden (ontwerp en planning). Daarna worden de activiteiten op die manier uitgevoerd (executie) en wordt gekeken of de uitvoering gaat zoals gepland en de gewenste tussen- en eindresultaten oplevert (coördinatie en controle). Als de persoon alles zelf doet, zal deze het werk zelf eerst ontwerpen en plannen en vervolgens uitvoeren en impliciet coördineren en controleren. Maar de persoon kan ook besluiten een deel van het werk door een of meer andere personen te laten doen waarbij de persoon zichzelf met name met
Je kunt een aantal redenen bedenken waarom iemand een stuk werk opsplitst en verdeelt. Het werk is teveel voor een enkele persoon, het werk is te complex, de hoofdbestuurder is niet vaardig genoeg om bepaalde activiteiten uit te voeren of wil zijn tijd aan andere zaken dan de uitvoering van het werk zelf besteden. ’Wat’ of ‘hoe’ aansturing
Werkverdeling
4 0
l
S E R V I C E
O R I E N TA T I E :
E E N
T H E O R E T I S C H
K A D E R
Maar hoe dan ook, als de hoofdbestuurder het stuk werk verdeelt, dan geeft hij een of meer operatoren opdracht om een aantal activiteiten uit te voeren. Nu kan de hoofdbestuurder in principe twee kanten op met zijn opdracht: hij vertelt de operator alleen
wat deze moet doen of hij vertelt de operator ook hoe die het moet doen. Het vertellen ‘wat’ er gedaan moet worden geeft de uitvoerende operator meer vrijheid en verantwoordelijkheid om de toebedeelde activiteiten – hierna: het ‘subwerk’ - in te richten en uit te voeren. Naast het ‘wat’ zal de opdrachtgever waarschijnlijk wat aanvullende randvoorwaarden geven aan de operator: wanneer het subwerk af moet zijn en wat de kwaliteitseisen van het resultaat zijn. In plaats van te vertellen ‘wat’ de operator moet doen, kan de hoofdbestuurder ook vertellen ‘hoe’ die zijn subwerk moet doen. Het vertellen ‘hoe’ het gedaan moet worden levert meer werk op voor de bestuurder zelf. Niet alleen is hij meer tijd kwijt om het subwerk in een ‘recept’ of procedure uit te schrijven en aan de ander uit te leggen, maar hij is ook als vanzelf verplicht erop toe te zien dat het ook inderdaad op die manier gebeurt. Met andere woorden de hoofdbestuurder moet zelf de coördinatie en controle over het subwerk blijven uitvoeren. Deze ‘hoe’ aansturing kost de bestuurder dus meer tijd en lijkt derhalve minder efficiënt. Waarom dan toch een ‘hoe’ opdracht geven? Het antwoord is dat dit de hoofdbestuurder een groter gevoel van controle en veiligheid geeft. Anders gezegd: bij het geven van een ‘wat’ opdracht geeft de bestuurder niet alleen het subwerk af maar tot op zekere hoogte ook de besturing daarover, terwijl de bestuurder bij het geven van een ‘hoe’ opdracht die besturing zelf vasthoudt. Vandaar dat het laatste hem enerzijds meer (gevoel van) controle maar anderzijds meer werk geeft. Dit werkverdeel principe werkt in het geval van de ‘wat’ aansturing recursief. Als de hoofdbestuurder een ‘subwerk’ aan een operator heeft toebedeeld, dan wordt de operator zelf bestuurder van dat ‘subwerk’. Die operator kan vervolgens besluiten zijn subwerk helemaal zelf uit te voeren of weer andere operators in te schakelen om een deel van het werk uit te voeren. Daarbij heeft die operator weer de keuze tussen ‘wat’ en ‘ hoe’ aansturing. Enzovoort.
Als het totale werk betrekkelijk simpel is en de omgeving statisch dan hoeft het complete recept van alle activiteiten slechts eenmaal te worden uitgeschreven en geïnstrueerd aan de operatoren. Daarna is alleen nog wat afstemming nodig om tot een hogere efficiëntie te komen. In dat geval is ‘hoe’ aansturing de ‘natuurlijke’ keuze omdat de mens nu eenmaal liever de controle houdt in plaats van uit handen geeft. Wordt het werk complexer of de omgeving dynamischer dan is ‘hoe’ aansturing praktisch gezien niet langer mogelijk. De hoofdbestuurder moet dan te vaak het recept aanpassen aan de gewijzigde omstandigheden en hij kan de controle ook niet meer uitvoeren. Het werk overstijgt zijn ‘span of control’. In dat geval neemt de bestuurder zijn toevlucht tot de ‘wat’ aansturing. Zoals verderop blijkt is die toevlucht tot de ‘wat’ aansturing geen noodzakelijk kwaad. Het is intrinsiek de beste wijze van aansturing voor alle behalve de meest simpele werkzaamheden in de meest statische omgeving. Zoals uit hoofdstuk twee bleek is het duurzaam ontwikkelen van een economie het meest complexe stuk mensenwerk dat denkbaar is. Daar past niet alleen geen ‘hoe’ aansturing maar is zelfs ‘wat’ aansturing schier onmogelijk. Het recept van een vijfjarenplan in een centraal geleide economie is op termijn tot mislukken gedoemd zoals China op tijd heeft ingezien. De besturing van de wereldeconomie is een intrinsiek onderdeel van het complex adaptief systeem – het complete werk – zelf. De besturing daarvan komt tot uiting in de spontane afstemming van de verschillende subwerken door de agenten die binnen dat complex adaptief systeem werkzaam zijn; dankzij de wetten van de evolutie en het najagen van meer welvaart en rijkdom door de agenten. Per agent is wel weer sprake van expliciete ‘wat’ of ‘hoe’ aansturing binnen het subwerk van die agent. >>
S E R V I C E
O R I E N TA T I E :
E E N
T H E O R E T I S C H
K A D E R
l
4 1
>>
>>
Specialisatie
Als een operator dezelfde set activiteiten vaak uitvoert, dan wordt de operator vanzelf een specialist. Op een gegeven moment zal de operator de activiteit beter uitvoeren dan de bestuurder maar zou kunnen bedenken. Als de vaardigheden van de operator toenemen en de bestuurder mentaal bereid is om controle op te geven, ontstaat er een verschuiving van ‘hoe’ naar ‘wat’ aansturing. In zo’n omgeving kan de operator meer vrijheid nemen en wellicht het recept van de activiteiten van het subwerk verbeteren op basis van zijn toegenomen kennis en vaardigheden. Misschien bedenkt de operator wel een andere activiteitenverdeling en -volgorde of voert hij technologische vernieuwing door. Kortom, er ontstaat meer specialisatie met als gevolg dat het subwerk zowel efficiënter als effectiever wordt uitgevoerd. Deze verbetering in productiviteit en kwaliteit kan ertoe leiden dat er grote vraag ontstaat naar het verbeterde subwerk van de operator en de operator de schaal van zijn subwerk kan vergroten. De operator groeit en wordt met zijn subwerk daardoor steeds meer autonoom. Ook de oorspronkelijke bestuurder kan nu verder groeien omdat hij minder bemoeienis heeft met het subwerk dan in het begin en het subwerk kwalitatief verbeterd is. Bovenstaand verhaal geeft aan dat er een natuurlijke tendens is van werk tot opsplitsen, diversificatie en specialisatie. Vandaaruit ontstaat een verschuiving van ‘hoe’ naar ‘wat’ aansturing en daaraan gelijkgeschakeld van ‘nauwkeurig bestuurd’ (micromanagement) naar ‘meer autonoom’. De principes van de evolutie zoals die werkzaam zijn binnen de economie stimuleren dit, maar een voorwaarde is dat de bestuurder er mentaal aan toe is om de controle deels uit handen te geven. Op macroniveau – het complex adaptief systeem -
4 2
l
S E R V I C E
O R I E N TA T I E :
E E N
T H E O R E T I S C H
K A D E R
is dat proces niet te stoppen, maar binnen het niveau van een agent komt dit soms moeizaam van de grond. Je ziet dit vaak bij een bedrijf waar de entrepreneur annex oprichter de touwtjes strak in handen blijft houden en moeilijk tot delegeren komt. Op een gegeven moment remt zijn gedrag de groei en ontwikkeling van het bedrijf af. Dan staat de oprichter voor de keuze om te groeien en een mentale paradigmaverschuiving te maken naar ‘loslaten en vertrouwen’ of zijn bedrijf volledig in de hand te houden en klein te blijven. Zijn beste mensen zullen dan snel de tent verlaten, omdat er voor hen geen groeimogelijkheden meer zijn. De kans is groot dat het bedrijf langzaam maar zeker afsterft. We r k u i t b e s t e d e n
Zoals eerder gezegd heeft de hoofdbestuurder een zekere ‘span of control’ en is die bij een ‘hoe’ aanpak veel kleiner is dan bij een ‘wat’ aanpak. Maar ook de ‘wat’ aanpak kent zijn grenzen als de vraag naar het werk maar blijft doorgroeien. De bestuurder kan ervoor kiezen een nieuwe bestuurslaag te introduceren en zelf bestuurder van bestuurders te worden. Dit is de standaardaanpak bij bedrijfsgroei. De eindcontrole blijft dan in handen van de hoofdbestuurder. Ook blijft in dat geval de wetmatige gezagsverhouding van de hoofdbestuurder – de legale en administratieve zeggenschap over het totale werk – bestaan al wordt de beslisbevoegdheid meer gedelegeerd en gedistribueerd. Een alternatief voor deze interne groei is om bepaald subwerk uit te besteden, waarbij de wetmatige gezagsverhouding wordt opgegeven. Dat alternatief wordt in een markt met veel partijen die dat subwerk wel willen uitvoeren economisch steeds aantrekkelijker. Deze uitvoerders zijn vaak gespecialiseerd en kunnen zich door schaalvergroting nog verder ontwikkelen
en specialiseren. Schaalvergroting is mogelijk omdat ze niet in een wetmatige gezagsverhouding tot de hoofdbestuurder staan en daarmee exclusief voor die hoofdbestuurder moeten werken. Ze kunnen hun werk aan meer potentiële afnemers aanbieden en daarmee hun prijs/prestatie verhouding verder verbeteren. Bij het uitbesteden van subwerk aan externe partijen zijn twee zaken van belang. In de eerste plaats is de vraag wat de kosten van ‘externe integratie’ zijn. Hoeveel kost het om het subwerk in eerste instantie uit te besteden en hoeveel kost het om het subwerk later aan een andere partij te geven. Als de afspraken over de te leveren diensten en de voorwaarden gebaseerd zijn op standaardcontracten en -afspraken, dan zijn de kosten een stuk lager dan wanneer de externe integratie volledig maatwerk is: zowel bij het initieel aangaan van uitbesteding als bij latere verandering van de partij die het subwerk uitvoert. De totale kosten van externe integratie nemen dus sterk af bij toenemende standaardisatie. Dat is gunstig voor de dienstafnemer want het vermindert de afhankelijkheid van de toeleverancier. In de tweede plaats is de vraag in hoeverre de uitbesteder enige regiefunctie over het uitbestede subwerk wil houden. In dat geval wil de uitbesteder toch nog enige zeggenschap over het ‘hoe’ hebben of aanvullende voorwaarden stellen omtrent het uitbestede subwerk. Naarmate het uit te besteden subwerk meer strategisch is, wordt het behouden van de regiefunctie ook belangrijker. Het uitbesteden van de catering of de salarisadministratie is minder strategisch dan het uitbesteden van bijvoorbeeld de marketing van de producten die men verkoopt. Bij dat laatste zal de hoofdbestuurder dus meer zeggenschap
hebben, is de kans op maatwerkcontracten groter en daarmee zijn de kosten van externe integratie ook hoger. Als het subwerk echt heel strategisch is voor de hoofdbestuurder, wordt de vraag relevant of men dat subwerk sowieso wel moet uitbesteden. Daarom ziet men soms wel een golfbeweging bij activiteiten die op de rand liggen van strategisch of niet, waarbij men eerst uitbesteedt en dan later toch weer zelf het subwerk gaat uitvoeren. Het behoort tot de hoofdtaak van de bestuurder om het palet aan subwerken voortdurend te monitoren en te bepalen of men subwerk zelf uitvoert dan wel uitbesteedt. Als subwerk wordt uitbesteed dan is er naar de letter geen sprake meer van een wetmatige gezagsverhouding tussen de bestuurder en uitvoerder van het subwerk. Maar als de uitvoerder van het subwerk erg afhankelijk wordt van het werk dat hem door de opdrachtgever wordt gegeven, ontstaat er wel een afhankelijkheid die grenst aan ondergeschiktheid. Op die wijze kan wel een praktische gezagsverhouding ontstaan, maar die heeft geen wettelijke basis. Een voorbeeld is waar de leveranciers van standaardonderdelen van auto’s tot op de laatste cent uitgeknepen worden door de autofabrikanten omdat de concurrentie tussen de onderdelenleveranciers zo groot is en de onderscheidende waarde van de producten laag is. Omgekeerd kan de afnemer afhankelijk worden van de leverancier als deze een groot marktaandeel heeft en de afnemer niet zonder dat subwerk kan. NVIDIA uit het vorige hoofdstuk heeft heel wat macht door zijn marktleidende positie op het vlak van grafische verwerking, een noodzakelijk en onderscheidend onderdeel in elke pc of spelcomputer. >>
S E R V I C E
O R I E N TA T I E :
E E N
T H E O R E T I S C H
K A D E R
l
4 3
>>
In deze paragraaf is betoogd dat het in toenemende mate uitbesteden van werk en het standaardiseren van de externe integratie een natuurlijk proces is dat loopt volgens economische wetmatigheden. De mate van behoud van zeggenschap – de regiefunctie – en daarmee ook de mate van standaardisatie is afhankelijk van het strategisch gehalte van het uitbestede subwerk. Service oriëntatie
Een service of dienst is een stuk werk – een ‘subwerk’ – dat wordt geleverd waarbij geen sprake is van een wetmatige gezagsverhouding met een bestuurder of opdrachtgever. De dienstverlener biedt standaardwerk of maatwerk aan volgens standaardcontracten of maatwerkcontracten. Er is in theorie sprake van een gelijkwaardige – ‘peer to peer’ – verhouding tussen de dienstafnemer/ uitbesteder en de dienstverlener. De uitbesteder verzoekt de dienstverlener tot het leveren van de dienst; er is sprake van een vraag naar de dienst.
4 4
l
S E R V I C E
O R I E N TA T I E :
E E N
T H E O R E T I S C H
K A D E R
Zo ontstaat de volgende werkdefinitie: Service oriëntatie is het beschouwen van de werkelijkheid als een netwerkconstellatie van autonome dienstverleners en dienstafnemers waartussen diensten geleverd worden op basis van tevoren overeengekomen afspraken en kwaliteitsniveaus, waarbij tussen afnemers en verleners voor beiden eenduidige communicatie plaatsvindt en waarbij de interne inrichting van het proces van de dienstverlener verborgen is voor de dienstafnemer.
Even een toelichting op deze werkdefinitie
Kijkend door de bril van service oriëntatie zie je de wereld als een set van bedrijven, mensen, apparaten en toepassingen die niets anders doen dan diensten aan elkaar leveren. De diensten worden geleverd op grond van contracten die standaard zijn, maatwerk of iets er tussenin. Wat betekent dat het voor zowel de dienstafnemer als de dienstverlener helder is wat er geleverd gaat worden. De uitwisseling van informatie (en ook: goederen en geld) is voor beiden duidelijk. Dat staat immers in het contract en in de afspraken over de kwaliteitsniveaus. De interne procesinrichting van de dienstverlener is verborgen voor de dienstafnemer. Het is voor de dienstafnemer niet relevant ‘hoe’ die dienst geleverd wordt; zolang de dienst maar geleverd wordt. Zo kan de dienstverlener bij de levering van de dienst zelf weer een beroep doen op andere dienstverleners die een deel van het werk uitvoeren. Het leveren van diensten is in principe recursief dat wil zeggen het kan zich herhalen op diepere niveaus. De constellatie is niet statisch wat betreft samenstelling of hiërarchie en er is geen sprake van een wetmatige gezagsverhouding. Er kunnen (tijdelijke) hiërarchische – geneste - verbanden bestaan van samengestelde diensten en daarmee onderlinge afhankelijkheden, maar er is geen enkele super hoofdbestuurder die alles aanstuurt en controleert zoals in een centraal geleide planeconomie of verticaal geïntegreerd bedrijf. Er is sprake van een ingewikkeld procesnetwerk van meer en minder specialistische diensten waarin
voortdurend stukken werk geleverd worden ten behoeve van elkaar en waarbij de subnetwerken van tijdelijk hiërarchisch geordende, samengestelde diensten voortdurend wisselen. Een dienstverlener kan in principe onafhankelijk van dienstafnemers zijn werk doen, maar bestaat wel bij de gratie van verkregen verzoeken tot diensten. Een dienst waar niemand om vraagt is nutteloos en zal op termijn afsterven, want ook in deze constellatie van diensten zijn de wetten van de economische evolutie werkzaam. Na deze werkdefinitie zijn de volgende verdiepingen aan de orde. Ten eerste, wat zijn de kenmerken van service oriëntatie en ten tweede hoe worden samengestelde diensten georkestreerd? Overigens wordt vanaf nu vaker over service naast of in plaats van dienst gesproken. Zoals eerder vermeld: de termen dienst en service zijn in dit boekje volkomen synoniem. De vier principes van service oriëntatie
Don Box, architect bij Microsoft, heeft vier ‘tenets’ (basisprincipes) van service oriëntatie opgesteld. Ze zijn bedoeld om het service denken aan ICTarchitecten en -programmeurs uit te leggen, maar ze zijn voldoende generiek om ze hier te gebruiken in het theorieverhaal over het service concept. De basisprincipes van Don Box gelden dus zowel voor softwareservices als voor businessservices. Het gaat in dit hoofdstuk immers om de theoretische concepten van service oriëntatie. >>
S E R V I C E
O R I E N TA T I E :
E E N
T H E O R E T I S C H
K A D E R
l
4 5
>>
Services worden aan elkaar gekoppeld door het uitwisselen van berichten (in de reële wereld ook: goederen en geld). Er bestaan drie soorten berichten: een verzoek, een antwoord en een kennisgeving. Een verzoekbericht (‘request’) wordt geproduceerd door de dienstafnemer en gestuurd naar de dienstverlener, die het verzoek in overweging en misschien in behandeling neemt en daar al dan niet op reageert met een antwoordbericht (‘reply’). Een kennisgeving is een bericht dat autonoom - dat wil zeggen zonder voorafgaand verzoek van buitenaf - door een
service wordt afgegeven aan de buitenwereld en waarschijnlijk opgevangen wordt door een of meer andere services. Bij deze koppeling van services gelden de vier basisprincipes: 1. De grens van de service is duidelijk; 2. Services zijn autonoom; 3. Services delen met elkaar alleen contract en gegevensschema; 4. De samenwerking tussen services is gebaseerd op ‘policies’.
Uitwerking van de vier principes van service oriëntatie Te n e e r s t e :
Te n t w e e d e :
de grens van de service is duidelijk. Je weet heel goed welke activiteiten binnen de grens van een service uitgevoerd worden en welke niet. De enige communicatiemogelijkheid met een service is het sturen van een bericht aan die service. De enige manier waarop die service een reactie kan geven, is ook door het sturen van een bericht. Een bericht van het type ‘verzoek’ komt van buitenaf de service binnen. Het verzoek wordt binnen de service in behandeling genomen – mits het verzoek voldoet aan bepaalde randvoorwaarden; zie verderop – en leidt tot een bepaalde (trans)actie binnen in de service: het werk wordt uitgevoerd. Het resultaat van die (trans)actie kan zijn dat er een nieuw bericht (een antwoord) binnen die service wordt geproduceerd en geadresseerd aan degene van wie het verzoek afkomstig was. Daarbij is steeds duidelijk waar de grens van de service ligt en wanneer het bericht zich buiten of binnen de service bevindt.
services zijn autonoom. Services werken samen met andere services, daar ontlenen ze hun bestaansrecht aan. Maar iedere service is op zich helemaal zelfstandig. Waar de service gelokaliseerd is, hoe zij ingericht en beheerd wordt, welke hulpmiddelen ze gebruikt; dat alles wordt zelfstandig bepaald, dus los van hoe andere services dat doen. Ook hoe de service zich verder ontwikkelt staat los van de andere services. Als de service succesvol is, dan zal de service zich waarschijnlijk uitbreiden, een hogere beschikbaarheid, betere kwaliteit en misschien een lagere prijs bieden. Als de service niet succesvol is, dan zal het pogingen in het werk stellen de propositie te verbeteren en in het slechtste geval afsterven, maar daarbij sleept de service in theorie niemand in haar val mee.
4 6
l
S E R V I C E
O R I E N TA T I E :
E E N
T H E O R E T I S C H
K A D E R
De principes van service oriëntatie
Te n d e r d e :
Te n v i e r d e :
services delen met elkaar alleen contract en gegevensschema. Om een service aan te spreken hoef je niet de ‘ins en outs’ van de servcie te kennen; liever niet eigenlijk. De interne organisatie van de service is niet relevant voor de buitenwereld. Wel relevant is de ‘taal’ die de service spreekt en de ‘manier’ waarop je met de service kunt communiceren. Het schema beschrijft de syntaxis en de semantiek - de taal - van de individuele berichten waarmee de service aangesproken kan worden en waarmee de service zelf communiceert met de buitenwereld. Je kunt daarbij denken aan een invulformulier om een verzoek bij de service te plaatsen. Het contract definieert de mogelijke berichten die je aan een service kunt sturen en welke antwoorden daarop mogelijkerwijs kunnen volgen.
de samenwerking tussen services is gebaseerd op ‘policies’ (algemene voorwaarden). Je bent dan misschien niet geïnteresseerd hoe de service intern met jouw opdrachten omgaat, je wilt wel het een ander weten van het kwaliteitsniveau van de service en de algemene voorwaarden van de service. Onder welke voorwaarden zal de service een verzoek in behandeling nemen, wanneer is de service ‘open’ en hoe lang duurt het voor er een antwoord komt. Dit soort zaken bepaalt mede of de buitenwereld met de service ‘zaken’ wil doen. Dat heeft niet te maken met de inhoud van de service – dat staat in schema en contract - , maar met de algemene voorwaarden er om heen. Resumerend: een service is een duidelijk onderscheidbare entiteit waarmee men communiceert via berichten die moeten voldoen aan het door de service opgestelde schema en contract en die bestuurd worden door ‘policies’ zoals algemene voorwaarden en kwaliteitsniveaus. >>
S E R V I C E
O R I E N TA T I E :
E E N
T H E O R E T I S C H
K A D E R
l
4 7
>>
Het postorderbedrijf
Orkestratie: de samengestelde ser vice
Neem ter illustratie van de vier principes een serviceverlener uit de reële wereld: het postorderbedrijf. Een verzoek in de vorm van een orderformulier komt het postorderbedrijf binnen via de traditionele post of via het internet (duidelijke grens). Waar het postorderbedrijf gelokaliseerd is, hoeveel mensen het in dienst heeft en met welk orderverwerking- of factureringsysteem het bedrijf werkt is voor de klant niet relevant (autonomie). Het orderformulier mag alleen door leden worden ingestuurd, moet volledig ingevuld zijn inclusief het productnummer uit de catalogus en zendingen moeten achteraf per bankgiro betaald worden (schema & contract). In de algemene voorwaarden staat opgenomen dat producten binnen 30 dagen geretourneerd kunnen worden mits in originele verpakking en dat het postorderbedrijf belooft orders binnen 5 werkdagen uit te leveren (policies).
Het postorderbedrijf wisselt niet alleen berichten uit met de klanten, maar ook goederen. Hoe het postorderbedrijf aan de goederen komt, is ‘verborgen’ voor de klant en feitelijk niet relevant. Voor het bestuur van het postorderbedrijf is dat natuurlijk wel relevant en daarvoor moet het postorderbedrijf een flink stuk werk aansturen en verzetten. Het postorderbedrijf moet een goed en aantrekkelijk assortiment samenstellen en dat tegen een concurrerende prijs aanbieden. Het moet de markt onderzoeken om te zien wat wel en wat niet in de mode is, het moet bepaalde leveranciers uitzoeken en er contact mee leggen en weer andere van zich afhouden. Het moet prijsonderhandelingen voeren, afspraken maken over levertijden en nazorg van producten en er ook voor zorgen dat de producten op tijd beschikbaar zijn. De voorraad moet voldoende zijn, maar ook niet te groot. Veel
Postorderbedrijf
4 8
l
S E R V I C E
O R I E N TA T I E :
E E N
T H E O R E T I S C H
K A D E R
Orkestratie: de samengestelde service
werk zal uitbesteed worden zoals de logistiek en het marktonderzoek. Af en toe zal het eenmalige partijen opkopen via tussenhandelaren en die als speciale aanbiedingen presenteren. Met zijn toeleveranciers communiceert het postorderbedrijf zelf ook via berichten. Met andere woorden om te zorgen dat de klant vanuit zijn luie stoel de gewenste goederen geleverd krijgt, moet het postorderbedrijf heel veel werk verzetten en ook weer uitbesteden. Het postorderbedrijf biedt dus een façade of publieke interface naar de klant zelf door gebruik van talloze service providers. Voor de totale bedrijfsvoering is veel besturing nodig en in het bijzonder de orkestratie van al die services die het zelf afneemt. De figuur geeft de hier beschreven situatie in abstracte termen weer: de orkestratie van services. De bovenste samengestelde service is in dit geval
het postorderbedrijf met zijn interface naar de klant. Vanuit het perspectief van de klant levert het postorderbedrijf een enkelvoudige service, maar achter de schermen is het een complexe organisatie die zelf vele andere enkelvoudige en samengestelde services orkestreert tot een goed werkend geheel. Elk van de achterliggende providers biedt een gespecialiseerde service en moet daarbij concurreren met andere services die eenzelfde soort service bieden. We zagen dit proces van dynamische orkestratie van services al eerder in hoofdstuk 3 bij de ‘maestro’ rol van Li & Fung in het procesnetwerk van de confectiekolom en we zien het ook straks in hoofdstuk 6 als we het over Business Process Management (BPM) in relatie tot softwarevoorzieningen hebben. <<
S E R V I C E
O R I E N TA T I E :
E E N
T H E O R E T I S C H
K A D E R
l
4 9
SERVICE ORIËNTATIE EN ICT
Dit hoofdstuk kijkt naar de eerste fase van de ontwikkeling van service oriëntatie binnen de ICT, te beginnen bij de hardwareconfiguratie en uitlopend in de eerste generaties van gedistribueerde softwarearchitecturen. Daarbij wordt opnieuw duidelijk dat monolithische bolwerken zich in de loop van de tijd omgevormd hebben tot sets van samenhangende componenten.
DE EERSTE FASE
>>
De computerindustrie startte in de jaren vijftig als een volkomen verticaal geïntegreerde bedrijfstak waarin een paar aanbieders totaaloplossingen boden met alles erop en eraan: zowel de hardware als de besturingssoftware als de applicaties. Tussen de diverse aanbieders was er sprake van keiharde competitie. Vrijwel nergens was er sprake van samenwerking of uitbesteding van activiteiten. De technologische ontwikkeling was gesloten en vond plaats binnen de onderzoeksafdeling van de aanbieder. Een nieuwe versie van een computersysteem betekende een nieuwe totaaloplossing: met nieuwe, verbeterde hardware en nieuwe op de hardware toegesneden besturingssoftware en applicaties. Alle aanbieders hadden elk hun eigen Research & Development (R&D)-organisatie en aanpak met diepte-investeringen en programma’s gericht op doorbraken in hard- en software. De strijd om doorslaggevend onderscheidend vermogen verliep grotendeels via de technologische ontwikkeling. Het meest in het oog springende voorbeeld daarbij was IBM dat een zeer gerenommeerde R&D-organisatie bezat waarop op elk vlak van de computertechnologie onderzoek werd gedaan: van glaskeramiek in hardwareontwerp tot en met software-algoritmes. IBM kwam ook keer op keer met fundamentele doorbraken in de mainframetechnologie en behaalde daarmee grote successen in de 60-er en 70-er jaren. Desintegratie
Vanaf het midden van de jaren zestig kwam er een eerste barst in het monolithische computersysteem met de introductie van de IBM System/360 in 1964. Daarin werd om de complexiteit van het
5 2
l
S E R V I C E
O R I E N TA T I E
E N
I C T :
D E
E E R S T E
F A S E
interne project te verminderen een duidelijke scheiding tussen hard- en software gemaakt door het definiëren van een programmeerbare interface. Nu konden nieuwe generaties van hardware dezelfde applicaties draaien en omgekeerd nieuwe applicaties voor bestaande hardware geschreven worden. Deze eerst stap van desintegratie zette een proces in gang van fragmentatie en specialisatie van de computerindustrie. Er werden verschillende afdelingen ingezet om delen – product- en softwarecomponenten – voor een compleet systeem te gaan ontwikkelen op basis van een gemeenschappelijke architectuur met gedefinieerde interfaces. Deze aanpak van interne standaardisatie heeft veel weg van Eli Whitneys ‘interchangeability system’ uit de negentiende eeuw (zie hoofdstuk 2). Voor klanten was deze ontwikkeling uitermate gunstig. De computersystemen werden niet alleen goedkoper, maar klanten konden voor het eerst computersystemen laten meegroeien door eerst een kleiner model aan te schaffen en daarna naadloos over te kunnen gaan op een groter model zonder dat de softwarevoorzieningen herschreven of de medewerkers opnieuw getraind hoefden te worden. System/360 werd zo populair dat de concurrentie zoals Amdahl, Hitachi en Univac het model en de architectuur begonnen te kopiëren. Zelfs de Sovjet Unie maakte vanaf 1969 een serie System/360klonen (zie wikipedia: IBM System/360 en ES EVM). MS-DOS/ISA platform
Deze trend van opsplitsing, specialisatie en coördinatie kwam in een stroomversnelling met de geboortes van de minicomputer, de pc en later de MS-DOS/ISA-architectuur. Deze architectuur zorgde voor een hardware/softwareplatform met strikt gedefinieerde interfaces waarop tientallen en
later honderden specialistische bedrijven hard- en softwarecomponenten konden ontwikkelen en toevoegen. Er ontstonden nieuwe subtakken van industrie zoals ontwikkelaars van processors, moederborden, geheugenchips, harde schijven en andere vormen van geheugenopslag, grafische processors, perifere apparaten als printers, monitors enzovoort. Elk van de componenten kon zich relatief onafhankelijk van de ander verder specialiseren en ontwikkelen. Nieuwe hardwarecomponenten die voldeden aan de interfacespecificaties konden weer wat later in de evolutie dynamisch worden toegevoegd aan het systeem: plug & play. De succesvolle ontwikkeling van het in hoofdstuk 3 besproken specialistische NVIDIA was niet mogelijk geweest zonder dit samenbindende platform; deze ‘markt’ waarop men eenvoudig kon aansluiten. Ook op softwaregebied ontstond een nieuwe bedrijfstak van onafhankelijke softwareontwikkelaars (ISV’s). Met publieke programmeerinterfaces (API’s), een set ontwikkelgereedschappen en ‘cookbooks’ als startpunt kon iedere inventieve ontwikkelaar het DOS/Windows-platform betreden en er applicaties voor ontwikkelen. In een tiental jaren tijd groeide het aantal applicatieontwikkelaars van een handjevol tot vele miljoenen. Diversificatie, selectie, specialisatie en schaalgrootte (“een pc op elk bureau en in elk huis” was Bill Gates’ visie, ongeveer dertig jaar geleden), de afnemende kosten van integratie, technologische ontwikkelingen en een toenemende bereidheid controle op te geven vormden ook hier de katalysator van een spectaculaire ontwikkeling.
Computernetwerken
Een nieuwe aanjager van innovatie kwam met de koppeling van verschillende computersystemen in een netwerk waarbij ‘het werk’ verdeeld werd over meerdere computersystemen. Dit bleek economisch gunstig te zijn en dus volgde ook daar de evolutie de nu wel bekende weg: van verticale integratie binnen een enkele leverancier met gesloten, bedrijfseigen netwerkprotocollen naar het standaardprotocol TCP/IP waarop alle specialisten hun oplossingen konden aanbieden op zowel hard- als softwaregebied. Dit leidde tot meer werk, meer werkverdeling en nog meer koppeling van computersystemen. Met als summum het wereldwijde netwerk – het internet – waarop vele tientallen miljoenen computers zijn aangesloten van de grootste mainframes tot en met internetaware mobieltjes en polshorloges. Over een paar jaar zal het internet vele miljarden apparaten aan elkaar gekoppeld hebben. Client/Ser ver
Waar het computerplatform en het computernetwerk al meer en meer de kenmerken van service oriëntatie begonnen te tonen, bleef de applicatie in eerste instantie nog een monolithisch bolwerk. Het computernetwerk leidde tot een eerste opsplitsing van applicaties en koppeling van bestaande applicaties dankzij diverse technologieën gebundeld onder de noemer van gedistribueerde verwerking (‘distributed processing’). Aan het eind van de vorige eeuw maakten softwareleveranciers gebruik van computernetwerken en gedistribueerde verwerkingstechnologieën. Ze begonnen applicaties op te splitsen in een >>
S E R V I C E
O R I E N TA T I E
E N
I C T :
D E
E E R S T E
F A S E
l
5 3
>>
deel voor exclusief, individueel gebruik en een deel voor gemeenschappelijk gebruik. Deze ‘opsplits’architectuur werd client/server genoemd, waarbij het client-deel van de applicatie meestal op een pc draaide, dat een enkele gebruiker exclusief bediende en het gemeenschappelijk deel op een serversysteem, dat vele tientallen en honderden gebruikers gelijktijdig kon bedienen. Door deze opsplitsing werd optimaal gebruik gemaakt van de eigenschappen van de verschillende type computersystemen: de gebruikersgerichte interface van de pc versus de multi-processing mogelijkheden en grote opslagcapaciteit van de server. In het begin was er vooral sprake van een tweedeling van de applicatie waarbij de presentatielaag op pc’s
Evolutie van de applicatie
5 4
l
S E R V I C E
O R I E N TA T I E
E N
I C T :
D E
E E R S T E
F A S E
draaide en de gegevensbewerking en -opslag op de server: de 2-tier client/server. Later ontstonden verfijningen en optimalisaties waarbij de applicaties over meerdere lagen werden verdeeld: de n-tier architectuur. Vrijwel altijd waren de verspreide applicatielagen afkomstig van dezelfde leverancier en was er nog steeds sprake van een gesloten, ‘tight coupling’ van de applicatielagen. Je kunt deze eerste vorm van applicatiedeling goed vergelijken met het verdelen van werk met behoud van gezagsverhouding en een grote mate van ‘hoe’ aansturing (zie hoofdstuk 4). Er is veel kennis bij de besturende laag over de andere applicatielagen: de presentatielaag, de functielaag en de datalaag. De meest bekende complexe systemen die deze
‘tightly coupled’ werkverdeling hebben, zijn ERP- en CRM-applicaties. Het zijn de kolossale monolieten - weliswaar gedistribueerd – in de wereld van de ICT-applicatie. File transfer
Dankzij het computernetwerk konden ook bestaande, monolithische applicaties aan elkaar gekoppeld worden. Meestal ging dat om het uitwisselen van gegevens tussen twee of meer applicaties en werd gebruik gemaakt van file transfer. De mate van integratie tussen deze applicaties was laag; de applicaties waren onafhankelijk van elkaar ontwikkeld maar konden toch rudimentair met elkaar samenwerken. Iedere koppeling moest worden bedacht en handmatig gemaakt. Vaak moesten de applicaties een klein beetje worden aangepast zodat ze de juiste gegevens konden produceren of consumeren. Die aanpak lijkt veel op het handmatig passend maken van onderdelen in het Metropolis-verhaal uit hoofdstuk 2. Er was veel kennis nodig van de interne gegevensstructuren van de te koppelen applicaties en vaak ook de interne verwerking. Als een van de gekoppelde applicaties werd aangepast of vervangen door een nieuwe versie, moest de koppeling worden doorgelicht en vaak ingrijpend aangepast. Die wederzijdse afhankelijkheid maakte dat er toch sprake was van een ‘tight coupling’ tussen de applicaties, ondanks het feit dat ze ook los van elkaar hun werk konden doen. Iedere koppeling was een afzonderlijk project en vele projecten later was er een wirwar aan koppelingen ontstaan die nauwelijks beheerbaar was. Electronic Data Interchange
Een eerste standaard op het gebied van de koppeling tussen bestaande applicaties was Electronic Data Interchange (EDI) dat in de jaren
tachtig succesvol werd. EDI was een infrastructuur waarop businessprocessen van verschillende organisaties op elkaar aangesloten konden worden. In die zin was EDI op zichzelf een katalysator van service oriëntatie in bedrijven: het maakte een elektronische koppeling tussen verschillende bedrijven mogelijk en was daarmee de eerste standaard voor elektronische, programmatische Business-to-Business integratie (B2B). EDI deed daarmee de kosten van externe integratie flink afnemen. Het kon bijvoorbeeld de inkoopapplicatie van de afnemer koppelen aan de orderverwerkingsapplicatie van de toeleverancier, waardoor automatische bestelling van producten mogelijk werd. Dat leverde aanzienlijke kostenbesparingen op. Maar er was ook meer mogelijk dan alleen kostenbesparingen. Zo kon Wal-Mart dankzij EDI een krachtig netwerk met zijn toeleveranciers opzetten en ‘real time’ informatie uitwisselen. In die zin was EDI een cruciaal middel voor de bedrijfsstrategie van WalMart. Toch was EDI zo duur dat alleen de grootste bedrijven het gebruikten. Ook was EDI beperkt in de mogelijkheden en weinig flexibel. Message Oriented Middleware
Op het gebied van de integratie tussen bestaande applicaties ontstonden in de jaren negentig nieuwe technologieën zoals Message Oriented Middleware (MOM) en Message Brokers (MB). De behoefte aan integratie nam vooral toe omdat de businessstrategie van heel veel bedrijven veranderde van een productgerichte naar een klantgerichte aanpak. Maar de bestaande bedrijfsapplicaties waren vrijwel allemaal geschreven op een productgerichte aanpak. Dus om de kantelende organisatie te ondersteunen met gekantelde applicaties, moesten die applicaties meer en meer aan elkaar gekoppeld worden. Daarmee werd EAI (Enterprise Application >>
S E R V I C E
O R I E N TA T I E
E N
I C T :
D E
E E R S T E
F A S E
l
5 5
>>
Integration) een bekend concept en ontstond er een markt voor MOM- en MB-leveranciers, die enige structuur aanbrachten in de integratie van bestaande applicaties. De producten werkten op zich goed en waren in staat om de applicaties op een ‘non intrusive’ manier aan elkaar te koppelen, dat wil zeggen om applicaties te koppelen zonder die applicaties zelf ingrijpend te wijzigen of zelfs maar aan te raken. Vaak werd door MOM/MB gebruikgemaakt van bestaande programmeerbare interfaces (API’s) in de applicaties zelf. Als die er niet waren kon men altijd wel gebruikmaken van ‘screen scraping’ technieken of desnoods file transfer. De MOM/MB-producten brachten een ‘bus’ of ‘hub and spoke’ structuur aan in de integratie waarmee een wirwar van koppelingen werd voorkomen.
op het systeem zoals een identificatieservice, een file & print-service, een audit log-service enzovoort. In principe kon men dezelfde componentarchitectuur ook gebruiken om meer specifieke services te ontwikkelen en te gebruiken zoals een vertaalcomponent, een rekenregel voor het uitrekenen van cumulatieve interest of een postcodecontrole. De leveranciers van de componentarchitecturen hadden verder ook een visie voor catalogi met componenten waarbij de componentontwikkelaars nieuwe componenten aan de catalogus konden toevoegen en de applicatie-orkestrators nieuwe applicaties samenstelden op basis van componenten uit die catalogus. Maar die visie is om verschillende redenen nooit echt werkelijkheid geworden.
Componentarchitectuur
Op weg naar de volgende fase
Waar MOM/MB een oplossing was voor integratie tussen bestaande applicaties, kwamen verschillende componentgebaseerde architecturen de ontwikkelaars van nieuwe applicaties te hulp. Zo konden ontwikkelaars bij het ontwikkelen van nieuwe applicaties gebruikmaken van generieke services die al beschikbaar waren als componenten
De MOM/MB- en de componentarchitectuur waren eerste stappen op weg naar het service tijdperk van de ICT-applicatie. Wat ontbrak waren universele standaards - standaards die echt door alle partijen onderschreven werden – waaronder een universeel transportmechanisme. De samengestelde applicaties die ontstonden door het gebruik van een MOM/
5 6
l
S E R V I C E
O R I E N TA T I E
E N
I C T :
D E
E E R S T E
F A S E
MB-product, werkten alleen maar binnen dat MOM/MB-product. De componenten gebaseerd op componentarchitectuur A werkten alleen maar met andere componenten van dezelfde architectuur. De kosten van externe integratie zijn door het gebrek aan universele standaards nog steeds betrekkelijk hoog. Een andere hinderpaal is de wijze waarop applicaties en componenten met elkaar integreren. Er is namelijk veel kennis nodig van de andere applicatie om ermee te kunnen integreren; er is veel gemeenschappelijke grond nodig om componenten met elkaar te kunnen laten integreren. Er is kortom sprake van een ‘tight coupling’ van integratie en daarmee teveel een ‘hoe’ aanpak en teveel gezagsverhouding: master/slave, client/ server, hub/spoke. Bij ‘loose coupling’ is sprake
van interoperatie of samenwerking tussen systemen waarbij weinig of geen kennis over de ander nodig is; wel over ‘wat’ de ander kan, maar niet over ‘hoe’ de ander het doet. Bij echte service oriëntatie in de ICT-applicatie moet de samenwerking vooral steunen op de compatibiliteit van de berichtprotocollen en contractafspraken (zie figuur). De volgende hoofdstukken laten zien dat beide aspecten universele standaards en samenwerking op basis van ‘loose coupling’ – anno 2007 wel te realiseren zijn. En daarmee is de ICT-applicatie gereed voor zijn volgende fase van evolutie, namelijk die van een samengestelde uit verschillende services opgebouwde applicatie die gemakkelijk aan te passen is aan nieuwe omstandigheden in de omgeving en derhalve zeer beweeglijk (‘agile’) wordt.
Service georiënteerde ICT-applicatie
<<
S E R V I C E
O R I E N TA T I E
E N
I C T :
D E
E E R S T E
F A S E
l
5 7
SOA , BPM EN ESB
Nu de basis van de service georiënteerde ICTapplicatie aan het eind van het vorige hoofdstuk gelegd is, komen de belangrijkste concepten in de nu volgende vijf hoofdstukken aan de orde. Dit hoofdstuk gaat in op de begrippen SOA, BPM en ESB; eerst afzonderlijk en tot slot hoe de begrippen aan elkaar gerelateerd zijn.
>>
SOA
SOA staat voor Service Oriented Architecture. Het is volgens Wikipedia de architectuur waarin service oriëntatie het primaire ontwerpprincipe is en waarin ‘loosely coupled’ services leven ter ondersteuning van de gebruikers van die services. Het OASIS SOAreferentiemodel houdt het op: “Service Oriented Architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains” (OASIS, 2006). Bij deze omschrijvingen zijn nog geen verwijzingen naar de ICT opgenomen. Vaak echter wordt in de vele definities van SOA een directe koppeling met ICT opgenomen. Enkele voorbeelden daarvan zijn “Service Oriented Architecture (SOA) is an evolution of distributed computing based on the request/reply design paradigm for synchronous and asynchronous applications “ (javaworld.com) of “SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents” (xml. com).
aan. Bij het scheppen van een architectuur rondom service oriëntatie denken we dan aan de bewuste inspanningen van een of meer architecten om een ruimte te ontwerpen waarbinnen een constellatie van services van elkaar diensten kan afnemen op een ‘loosely coupled’ wijze. Het ontwerpen van die ruimte houdt in dat de architecten de spelregels vaststellen en opleggen waarin de ontwerpers vervolgens de individuele services ontwikkelen. De service basisprincipes van hoofdstuk vier zijn daarop in elk geval van toepassing. De individuele services kunnen nieuw ontwikkeld worden, maar het kunnen ook bestaande applicaties zijn die omgevormd worden tot services. De specifieke implementatie en ook de herkomst van de service doet er niet toe, zolang ze maar kunnen opereren in de ruimte die door de architect is aangegeven. Maar vanaf dit hoofdstuk gaat het wel om service oriëntatie met betrekking tot de ICT-applicatie. Het werken volgens de principes van service oriëntatie vraagt om een andere aanpak dan de ICT gewend
Dit soort definities is een van de oorzaken waarom ‘de’ ICT moeite heeft het concept aan ‘de’ business uit te leggen: omdat het de communicatie nodeloos doorspekt met technobabbel waar de business niet eens van wil weten en daarom snel afhaakt. Dit boekje heeft in de eerste vier hoofdstukken zorgvuldig iedere vermenging van service oriëntatie met ICT-begrippen vermeden. SOA is niet alleen technologieneutraal maar ook ICT-onafhankelijk en ligt dicht tegen de omschrijving van service oriëntatie uit hoofdstuk vier SOA-ruimte
6 0
l
S O A ,
B M P
E N
E S B
is. Dit betekent dat ICT-architecten en -ontwerpers het concept van service oriëntatie echt moeten doorleven. Anne Thomas Manes van Burton Group komt tot de volgende uitspraak: “Service Oriented Architecture (SOA) is a design style that enables businesses to increase flexibility and agility. But in order to achieve these advantages, an organization must embrace SOA as a lifestyle change. SOA is something an organization does, not something it buys or builds. SOA is a new way to design systems, and it is more about culture than it is about technology. SOA requires a different mindset, and it requires discipline. To improve the chances for success, an organization must establish discipline through a strong governance program” (Burton Group, 2006). Vo o r d e l e n e n r i s i c o ’s
Het werken volgens SOA vereist een grote inspanning van een organisatie: financieel, qua tijd en dus ook qua mentaliteit. De voor de hand liggende vraag bij een dergelijke inspanning is dan: wat levert het op? Analisten als Forrester, Gartner en Burton – partijen van wie je een neutrale houding ten opzichte van SOA zou mogen verwachten – noemen de volgende voordelen: Flexibiliteit of beweeglijkheid (‘agility’). Een volgens SOA ingericht ICT-applicatielandschap biedt het voordeel dat het relatief eenvoudig aanpasbaar is aan veranderde omstandigheden in de business omdat nieuwe applicaties relatief snel kunnen worden samengesteld uit het palet aan beschikbare services; Alignment business en IT. We hebben in hoofdstuk 3 gezien dat de business zich langzaam aan het omvormen is van een geïntegreerde hiërarchische structuur naar een meer ‘loosely coupled’ structuur van relatief
onafhankelijke processen. Het omvormen van de ICT tot een vergelijkbare ‘loosely coupled’ servicesstructuur maakt dat het ICT-applicatielandschap beter aansluit op die veranderde bedrijfsstructuur; Hergebruik. Services kunnen eenvoudig worden hergebruikt wat zowel bij het ontwikkelen van nieuwe businessprocessen en applicaties als bij het onderhoud van bestaande processen en applicaties tot kostenvoordelen leidt. Dit is een gevaarlijk punt want hergebruik is al zo vaak beloofd zoals bij de component/object gebaseerde architecturen. Het is een bekend feit dat ontwikkelaars eigenlijk niet willen hergebruiken maar liever alles zelf ontwikkelen. Het is ook een feit dat projecten worden aangestuurd en afgerekend op doorlooptijd en kosten en niet op het opleveren van herbruikbare functionaliteit; Economische drijfveer. Een goed ontworpen en ingevulde SOA beïnvloedt de bedrijfsresultaten in positieve zin. Enerzijds leidt het op termijn tot het reduceren van kosten omdat men de redundantie vermindert door gebruik te maken van gedeelde services (‘hergebruik’) en doordat men gemakkelijker en goedkoper nieuwe applicaties maakt, namelijk door ze te orkestreren uit het palet aan bestaande services (‘beweeglijkheid’). Anderzijds leidt het tot verhoogde omzet in de business omdat die business nu sneller kan inspelen op marktveranderingen. In deze opsomming is een relatie terug te vinden met de voordelen van service oriëntatie in maatschappij, bedrijf en theorie zoals die in de voorgaande hoofdstukken besproken zijn. ‘Agility’ en ‘Alignment’ zijn eigenschappen van ‘agenten’ in een systeem waardoor zij zich aanpassen aan een veranderende omgeving. Het maken en vervolgens >>
S O A ,
B M P
E N
E S B
l
6 1
>>
vullen van een ruimte met loosely coupled services houdt diversificatie en specialisatie in. De beste services zullen worden hergebruikt (versterking) in diverse businessprocessen. De economische drijfveer werkt daarbij als katalysator; zonder die drijfveer is er geen reden tot veranderen. Na de opsomming van mogelijke voordelen is een volgende logische vraag: wat zijn de risico’s? Ook daarvan is een korte opsomming van de meest genoemde punten te maken.
baat uit en de uitdaging is om de business over te halen hierin strategisch te investeren. Het noemen van deze reële risico’s doet niet af aan het feit dat SOA een natuurlijke en noodzakelijke ontwikkeling is zoals de eerste hoofdstukken van dit boek hebben willen aantonen. Het is dus niet de vraag of SOA de juiste richting is, maar wel hoe men SOA het beste kan uitdragen en implementeren. Wij doen SOA!
Onvolwassenheid. SOA is een relatief nieuwe tak van sport en kent alle risico’s van een adolescent: teveel enthousiasme, weinig ervaring, spectaculaire missers alsmede een nieuwe en dus nog gebrekkige aanpak met evenzo gebrekkige ‘design patterns’ en technologie. De volgende paragraaf beschrijft een aantal verschillende manieren waarop SOA in de praktijk wordt aangepakt en niet al die manieren zijn goed; Paradigmaverschuiving. SOA is een revolutie in de ‘mindset’ van de architect, de ontwikkelaar en de business. Het vereist een andere manier van denken en niet bij iedereen zal het kwartje (op hetzelfde moment) vallen. Dat geeft spanningen tussen voor- en tegenstanders, tussen adepten en sceptici. SOA is een ingrijpende exercitie en als de neuzen binnen de organisatie niet dezelfde kant op wijzen, is de kans op succes minimaal. Grote investeringen. Op veel fronten zijn investeringen nodig om de ‘switch’ naar SOA te maken: opleiding, organisatie en infrastructuur. Er is veel opleiding nodig om te helpen bij de paradigmaverschuiving naar SOA denken. Een SOA ‘governance’ organisatie moet worden opgezet en in de technologie zijn investeringen nodig in de infrastructuur om SOA ook echt te kunnen laten landen in het ICTapplicatielandschap. De kost gaat duidelijk voor de
6 2
l
S O A ,
B M P
E N
E S B
SOA kent heel veel uiteenlopende definities en daardoor zijn er binnen de ICT ook heel verschillende opvattingen over hoe men aan SOA moet doen. De eerste extreme opvatting is om de volledige architectuur en het ontwerp eerst tot in detail te specificeren voordat de eerste service ontwikkeld mag worden. Zo’n volledig uitgekristalliseerd Enterprise SOA verzandt gemakkelijk in complexiteit (‘analysis paralysis’) en doet denken aan de tijden van Enterprise Information Systems (EIS) of Enterprise Data Models (EDM) die wel vaak geprobeerd, maar nooit van de grond gekomen zijn. De andere extreme opvatting is om de ontwikkelaars op een cursus webservices te sturen, een ontwikkelgereedschap te kopen waarmee men die webservices eenvoudig kan programmeren, ze vervolgens op een SOA-project in te zetten en ze webservices te laten bouwen. Deze ‘een SOA per project’ draagt bij aan de versnippering die SOA juist moet tegengaan. Een verstandige, pragmatische aanpak is er een die uitgaat van het gezegde ‘Think big, act small and incremental’. Hier wordt door de architect eerst een rudimentaire SOA-ruimte gecreëerd met de belangrijkste spelregels (‘Think big’). Vervolgens wordt gekeken naar welke softwarevoorzieningen het meest urgent zijn voor de business. De services die daarvoor nodig zijn, worden daarna ontwikkeld in een afzonderlijk project maar wel binnen het
bredere SOA-raamwerk (‘Act small’). Daarna wordt bekeken wat de volgende toepassing op de urgentielijst is (‘ and incremental’). BPM
BPM staat voor Business Process Management en wordt vaak in een adem met SOA genoemd. Het is een gebied dat opereert op het raakvlak van businessmanagement en informatietechnologie. Laten we eerst eens naar het begrip businessproces kijken. Volgens Davenport (1993) is een businessproces “a structured, measured set of activities designed to produce a specific output for a particular customer or market. Wikipedia houdt het op “a set of linked activities that creates value by transforming an input into a more valuable output”. Beide omschrijvingen komen sterk overeen met het opdelen en weer coördineren van een stuk werk zoals dat in hoofdstuk 4 werd beschreven. Een van de eerste mensen die een businessproces beschreef was Adam Smith met zijn voorbeeld van de speldenfabriek (zie hoofdstuk 1) waarin de opgesplitste en gecoördineerde activiteiten van een tiental arbeiders tot een productief productieproces hebben geleid. Het begrip businessproces heeft op zichzelf dus niets met ICT te maken. Het ontwerpen van een businessproces is een aangelegenheid voor de business of een businessarchitect. In 1990 kwam Michael Hammer met de roemruchte aanpak van ‘Business Process Reengineering’ (BPR). Deze managementaanpak bepleit dat procesdeskundigen met een frisse blik naar een organisatie kijken en vervolgens het businessproces of de processen van die organisatie opnieuw ontwerpen vanuit een ‘groene wei’ perspectief. Bij deze rigoureuze herinrichting van het businessproces begint de ICT een belangrijke rol te spelen als ‘enabler’ die een efficiëntere manier van werken mogelijk maakt. Belangrijke technologieën daarbij zijn volgens
Hammer: databases, netwerken, telecommunicatie, expertsystemen en automatische ‘tracking & tracing’. Na het aanvankelijk stormachtige succes kwam er naderhand veel kritiek op BPR. De resultaten bleken lang niet altijd even spectaculair terwijl de wijzigingen in de organisatie vaak zeer ingrijpend waren. Ook werd BPR een beetje gezien als de nieuwe vorm van ‘scientific management’ maar dan losgelaten op (administratieve) bedrijfsprocessen. BPR had namelijk weinig oog voor de mens en de kwaliteit van de werkomgeving. BPM is het brede kennisveld dat methoden, technieken en gereedschappen bevat om de operationele businessprocessen te (her)ontwerpen, implementeren, controleren en monitoren. Daar waar BPR pleit voor een revolutionaire wijziging van de businessprocessen, staat BPM voor een meer evolutionaire aanpak met een voortdurend monitoren en bijschaven van de businessprocessen. ICT speelt hier weer een prominentere rol dan bij voorganger BPR. ICT is hier niet alleen ‘enabler’ van een meer efficiënte manier van werken, maar wordt ook onderdeel van de BPM-aanpak zelf. Een voorbeeld is Business Activity Monitoring (BAM), dat is het continu monitoren van de businessprocessen op een aantal Key Performance Indicatoren (KPI’s). BAM is alleen realiseerbaar als activiteiten en resultaten van de businessprocessen zich via ICT laten vastleggen. Het gebruik van ICT-hulpmiddelen in BPM vinden we op drie gebieden: Bij het visuele ontwerp van businessprocessen en het simuleren van businessprocessen; Het automatiseren van de uitvoering van businessprocessen inclusief het opslaan van relevante gegevens over die uitvoering; Het ‘real time’ monitoren van de businessprocessen en achteraf analyseren van de vele opgeslagen gegevens over het businessproces; denk hierbij aan ‘business intelligence’. >>
S O A ,
B M P
E N
E S B
l
6 3
>>
Als er gesproken wordt over BPMS (Businessprocess Management Suite of System) dan gaat het over een softwarevoorziening die de bovengenoemde drie functionaliteiten geïntegreerd aanbiedt. De eerste generatie BPM systemen was vooral gericht op geautomatiseerde processen; de nieuwere lichting betrekt er ook de mensgedreven processen bij. In het laatste geval spreekt men meestal van ‘workflow’. ESB
Het begrip Enterprise Service Bus wordt meestal in een van de twee betekenissen gebruikt: de benaming van een bepaald product zoals Sonic ESB of als een set van technologieën die gezamenlijk de infrastructuur van een SOA vormen. In beide gevallen gaat het om technologie die helpt bij de praktische invoering van een landschap van softwareservices. Als we de omschrijving van service oriëntatie uit hoofdstuk vier weer even voor ogen nemen, dan zien we een constellatie van services die met elkaar kunnen communiceren, aan elkaar diensten aanbieden en bij elkaar diensten afnemen. Maar er wordt daarbij niets gezegd over de manier waarop dat moet plaatsvinden; niets over de syntaxis of semantiek van die communicatie of over welk transportmechanisme die communicatie gaat. Dat zijn implementatiedetails waarover SOA zich niet uitspreekt. In een perfecte SOA-wereld spreken alle services dezelfde taal, gebruiken hetzelfde transportmechanisme en zijn voortdurend beschikbaar. In hoofdstuk 8 zien we dat de webservices-architectuur met de uitgebreide set van webservices-specificaties (WS-*) een poging is om die universele syntactische taal te zijn in de SOA-wereld. Maar in de harde realiteit spreken niet alle services die taal, worden er verschillende transportmechanismen gebruikt en zijn niet alle services op elk moment beschikbaar.
6 4
l
S O A ,
B M P
E N
E S B
Het zijn precies deze implementatiedetails die een ESB wel biedt. Een ESB strijkt de oneffenheden glad door zijn pragmatische oplossingen; niet door een fraaie, elegante invulling van een abstracte architectuur. ESB biedt dus functionaliteit om die rauwe, realistische wereld een beetje in de richting van de perfecte wereld te trekken door het uitvoeren van ‘loodgieterswerk’. Veel producten en technologieën die nu onder de noemer ESB vallen, komen oorspronkelijk uit de oudere generatie van integratietechnologieën zoals MOM, EAI en B2B. Ze bezitten dan ook dezelfde voorzieningen als die technologieën: Ondersteuning voor synchrone en asynchrone aanroep van services; voor dat laatste is buffering of ‘queuing’ van berichten nodig; Routering van service-aanroepen naar het juiste adres; Vertaling van protocol- en gegevensrepresentaties via adapters; Management zoals monitoring en auditing van berichtuitwisselingen. De meeste ESB’s ondersteunen daarnaast ook webservices (zie hoofdstuk 8). Veel ESB’s implementeren typische BPM-functionaliteit zoals het orkestreren van services en het monitoren van businessprocessen. Het is goed om te beseffen dat een ESB niet noodzakelijkerwijs een implementatie is van een SOA. Er is geen 1 op 1 relatie tussen beide, maar ESB is een stuk gereedschap dat een SOA praktisch mogelijk maakt. Dit wil zeggen dat het bezit en gebruik van een ESB nog niet betekent dat men de SOA-stijl begrijpt en toepast. Composite Application
Een term die in het kader van SOA, BPM en ESB nogal eens valt is ‘composite application’; met andere woorden een samengestelde applicatie. Een
definitie van een ‘composite application’ is een collectie van enkelvoudige softwarevoorzieningen die bij elkaar genomen een businessondersteunende applicatie bieden. Het lijkt daarmee erg sterk op het ontwerpen van een samengesteld businessproces uit enkelvoudige services zoals dat net bij BPM besproken werd. Je kunt de samengestelde applicatie dus zien als het resultaat van het uitvoeren van de BPM ontwerpactiviteit. Daarbij worden de enkelvoudige services vaak betrokken uit en via de ESB-infrastructuur. Ve r b a n d
In dit hoofdstuk is het onderlinge verband tussen de begrippen SOA, BPM en ESB wel impliciet maar nog niet expliciet aan de orde gekomen. SOA is een architectuurstijl die de ruimte schept en de regels stelt om nieuwe services te ontwikkelen of bestaande functionaliteit tot services om te vormen; zodanig dat de services met elkaar kunnen communiceren ongeacht de specifieke implementatievorm van die services. Services
bezitten de vier basisprincipes zoals die in hoofdstuk 4 zijn besproken. BPM is een kennisgebied en aanpak om businessprocessen te ontwerpen, uit te voeren, te monitoren en analyseren met als doel de effectiviteit en efficiëntie van die businessprocessen te maximaliseren. SOA biedt de mogelijkheid om services eenvoudig aan elkaar te koppelen in businessprocessen. SOA biedt dus een goede bodem voor BPM. Het ontwerpproces van BPM leidt tot ‘composite applications’. ESB is een infrastructuurlaag binnen een op SOA gebaseerde constellatie van met elkaar communicerende services. Een ESB kan één enkel product zijn of een set van technologieën. Hoe dan ook, ESB zorgt ervoor dat SOA praktisch realiseerbaar is en maakt dat services die van nature niet met elkaar overweg kunnen dan opeens wel met elkaar kunnen communiceren. Of nog korter gezegd: SOA ondersteunt BPM en is praktisch mogelijk dankzij ESB.
<<
SOA, BPM, ESB en Composite Application
S O A ,
B M P
E N
E S B
l
6 5
SAAS
SaaS staat voor ‘Software as a Service’. De meest eenvoudige definitie van SaaS is: ‘software opgezet als een beschikbare service die afneembaar is via het internet’.
Bij SaaS gaat het niet om een speciaal soort software, maar om de speciale manier waarop die software aan de klant wordt geleverd en door hen wordt gebruikt. De software wordt namelijk niet geïnstalleerd en beheerd in het domein van de klant (‘on-premise’) zoals tot op heden het meest gebruikelijk, maar ergens in de internetwolk (‘cloud’).
Bij SaaS gaat het om het weloverwogen uitbesteden van bepaalde softwarevoorzieningen. Deze tendens tot weloverwogen uitbesteden van bepaalde activiteiten zagen we al bij het bedrijfsleven (zie hoofdstuk 3). Los van alle hype rondom SaaS, is het basisidee van het uitbesteden van bepaalde softwarevoorzieningen dus gewoon ‘common business sense’.
>>
In hoofdstuk 3 werd beschreven dat het uitbesteden van bepaalde activiteiten een goede bedrijfsstrategie is in een complexe en dynamische omgeving mits die uitbesteding wordt gedaan op grond van strategische overwegingen. De bedrijfsleiding stelt zichzelf een aantal vragen. Ten eerste, wat moeten we allemaal doen om als bedrijf economische waarde te hebben (de goede dingen doen)? Dat leidt uiteindelijk tot een overzicht van uit te voeren activiteiten. De tweede vraag wordt dan, welke van die activiteiten voeren we zelf uit en welke besteden we uit? De derde vraag is vervolgens: op welke wijze besteden we de daartoe geselecteerde activiteiten uit en hoe integreren of coördineren we die uitbestede activiteiten weer in het geheel? Na uitbesteding moet periodiek gekeken worden naar het effect van die uitbesteding. Is het uitbesteden van deze activiteit effectief en efficiënt, zijn we als bedrijfsleiding nog voldoende in controle en is het strategisch nog juist om de activiteiten uit te blijven besteden? Deze periodieke evaluatie kan leiden tot een beslissing om de bewuste activiteit aan een andere partij uit te besteden of de activiteit toch zelf weer uit te voeren.
men de betreffende softwarevoorziening in het eigen domein (‘on-premise’) hebben of liever buiten het eigen domein (‘off-premise’) houden? De technologie moet het overigens wel mogelijk maken en er moet een zekere mentale volwassenheid komen in het uitbesteden van softwarevoorzieningen. SaaS kent verschillende doelgroepen uiteenlopend van consumenten tot en met het grootschalige bedrijf. In dit hoofdstuk wordt vooral aandacht besteed aan SaaS in relatie tot het bedrijf. SaaS voor consumenten komt verder in het hoofdstuk over Web 2.0 aan de orde. Eigenlijk is deze consumentenSaaS veel verder ontwikkeld dan die voor de bedrijven. Voorbeelden van zeer bekende door de consument uitbestede softwarevoorzieningen zijn e-mailfunctionaliteit zoals Windows Live Hotmail (sinds 1996!) of Gmail, zoekfunctionaliteit zoals Live Search of Google search, instant messaging (‘chat’) zoals Windows Live Messenger of Yahoo! Messenger en VOIP (‘Voice Over IP’) zoals Skype en opnieuw Windows Live Messenger. Historie SaaS
Uitbesteding leidt bij de partij die de uitbestede activiteiten overneemt in principe tot schaalvergroting en verdere specialisatie. Die partij wordt namelijk economisch geprikkeld om zich verder te verbeteren en de activiteiten aan zoveel mogelijk potentiële uitbesteders aan te bieden. Uitbesteding leidt maatschappelijk en economisch gezien tot verdere afkalving van monolithische constructies en tot meer ‘loosely coupled’ relaties tussen bedrijven en daarmee tot meer service oriëntatie. Dezelfde vragen, overwegingen, resultaten en ontwikkeling verwachten we ook in het ICT-applicatielandschap en dus lijkt SaaS een hele logische en natuurlijke ontwikkeling. Wil
6 8
l
S A A S
De eerste generatie van het uitbesteden van softwarevoorzieningen ligt al achter ons. Eind van de vorige eeuw – samen met de internet ‘boom’ – schoten de Application Server Providers (ASP) als paddenstoelen uit de grond. In 1999 waren er alleen al in de VS zo’n tweeduizend ASP-bedrijven actief met een gezamenlijke omzet van 500 miljoen dollar. Maar een paar jaar later – na de ‘bust’ – was daar weinig meer van over. Wat ging er fout? De behoefte van bedrijven om zich te richten op de kerncompetenties en het uitbesteden van minder strategische zaken werd eind jaren negentig al fors ingezet; en daarbij had men ook de softwarevoorzieningen op het oog. Die behoefte deed veel entrepreneurs op de
markt inspringen, maar het moest –zoals alles in die tijd – wel supersnel gebeuren. Met als gevolg dat de architectuur van de meeste ASPsoftwarevoorzieningen uitermate belabberd was. Men nam veelal een bestaand client/server pakket dat ontworpen was om in een lokaal netwerk te draaien, plakte er snel een web front end op en stelde het als softwareservice over het internet beschikbaar. Dat leidde in de praktijk tot allerlei problemen bij de ASP-afnemers waaronder zeer trage responsetijden en problemen met de toegangscontrole. Daarnaast bleek het onmogelijk om de afgenomen softwareservice te integreren met de rest van het ICT-applicatielandschap van de ASP-afnemer. Voor de ASP-aanbieders zelf was het lastig dat voor elke klant een aparte installatie van de softwareservice nodig was vaak ook op aparte hardware. Het aanpassen van de configuratie voor de klant werd een onderhoudsdebacle voor de leverancier. Er werd kortom geen enkel schaalvoordeel behaald. Deze en andere zaken leidden ertoe dat de ASP-markt na de internet ‘bust’ snel ineenstortte.
SaaS ecosysteem
Wellicht dat de mislukking van ASP de reden is waarom de nieuwe vorm niet ASP 2.0 is gedoopt maar een andere naam heeft gekregen. In elk geval wordt er dankzij de ASP-historie nu heel serieus over de verschillende aspecten van SaaS nagedacht. Dat heeft onder andere geleid tot het beschrijven van een SaaS-ecosysteem zoals afgebeeld in onderstaande figuur. Bovenin staat de afnemer van SaaS op wie het aanbod van SaaS gericht is. Vlak daaronder staan twee soorten van SaaS-aanbieders. Enerzijds zijn er de traditionele Independent Software Vendor (ISV) zoals Microsoft, SAP of Exact en de onafhankelijke provider van softwareservices zoals Google of Yahoo. Anderzijds zijn er ‘aggregators’ die de softwareservices van verschillende softwareservice providers samenvoegt tot een nieuwe samengestelde softwareservice en die aan de markt aanbiedt. Deze orkestratie van samengestelde services past goed bij de ‘loosely coupled’ natuur van de service oriëntatie zoals besproken in hoofdstuk 4. De volgende laag is die van de SaaShosters en daaronder staan de klassieke hosters. De klassieke hosters leveren meestal niet veel meer dan processorcapaciteit, opslagruimte voor gegevens en bandbreedte. Het leveren van die rudimentaire zaken is niet genoeg voor het hosten van een softwareservice. Daarvoor zijn tal van andere ondersteunende en businessservices nodig die de SaaS-hoster dan ook biedt. De SaaS-hosters kunnen dan zelf weer een beroep doen op de klassieke hosters voor het leveren van processorcapaciteit, opslagruimte en bandbreedte. >>
SaaS ecosysteem
S A A S
l
6 9
>>
Overigens kan eenzelfde bedrijf meerdere rollen vervullen in het ecosysteem. Zo zie je nogal eens dat hele grote ISV’s zelf de hosting voor hun rekening nemen, zeker als de verwachting is dat de services op extreem grote schaal worden afgenomen zoals bijvoorbeeld bij Microsoft, Yahoo en Google. Tot slot kent het ecosysteem nog een groep die zich bezighoudt met het adviseren omtrent en het inrichten van SaaS bij zowel de aanbieders als de afnemers. Het advies en de inrichting zullen vooral betrekking hebben op het opzetten van een businessmodel voor de aanbieders, het maken van de juiste keuzes uit het groeiende aanbod voor de afnemers en het qua architectuur/infrastructuur inrichten van SaaS voor zowel aanbieders als afnemers. Business Motivatie
Een dergelijk ecosysteem kan alleen floreren als er een goede economische onderbouwing voor is. Wat voegt SaaS eigenlijk toe aan de meer traditionele manieren van softwarelevering waarbij software in licentie wordt gegeven en de gebruiker de software in zijn eigen domein installeert, gebruikt en beheert? Waar liggen de voordelen voor zowel de afnemer als de aanbieder van SaaS? En welke verschillende businessmodellen zijn er? Om met dat laatste te beginnen: er worden grofweg drie verschillende SaaS-businessmodellen onderscheiden. Het eerste model is primair van toepassing op de consumentgerichte SaaS en bestaat uit het genereren van advertentie-inkomsten. De SaaS-leverancier biedt de softwareservice gratis aan voor de consument en haalt zijn inkomsten uit het feit dat adverteerders een nieuwe mogelijkheid zien om hun diensten aan de consument aan te bieden. Google’s succes is voor een groot deel te danken aan de succesvolle toepassing hiervan. Het adverteren werkt minder goed in de zakelijke markt omdat de bedrijfsleiding liever niet heeft
7 0
l
S A A S
dat klanten of medewerkers bestookt worden met reclame van derden als zij de SaaS-softwareservices gebruiken. Voor de zakelijke omgeving zijn er twee andere businessmodellen, namelijk het betalen van een vergoeding voor het aantal ‘seats’ dat wordt afgenomen of het betalen per transactie, per gebruik. Als een afnemer 200 ‘seats’ van een CRMsoftwareservice afneemt, betaalt de klant gewoon voor die 200 gebruikers. Dit model is gemakkelijk in te voeren, maar geeft geen goed beeld van het echte gebruik van de service door de afnemer en ook niet van de belasting van de afnemer op de softwareservice. Daarom is er daarnaast een transactiemodel ontwikkeld waarbij men betaalt naar het echte gebruik van de softwareservice. Dit model geeft voor alle partijen een beter beeld van het gebruik, maar vereist ook behoorlijke investeringen in de infrastructuur bij de SaaShoster. Immers, die moet goed kunnen meten en verantwoorden wat er door wie gebruikt is. De voordelen voor de SaaS-afnemer liggen vooral in reductie van de totale kosten van het gebruik (‘total cost of ownership’) en tot op zekere hoogte ook van de complexiteit. De grootste kosten van softwarevoorzieningen liggen niet bij de aanschaf van het recht op gebruik van die software, maar bij de infrastructuur en de mensen die nodig zijn om de software in het eigen domein te laten draaien: installeren, configureren en beheren. Door deze kosten niet meer vooraf, direct en ineens te nemen worden de uitgaven veel meer verspreid. Daarnaast zal door de toenemende schaalgrootte, specialisatie en concurrentie de SaaS-aanbieder zijn softwareservice steeds goedkoper kunnen aanbieden, waardoor de afnemer opnieuw zijn uitgaven reduceert. Door minder softwarevoorzieningen vanuit het eigen domein aan te bieden reduceert de afnemer in principe ook de complexiteit. Voor een deel komt die complexiteit echter weer terug in het afstemmen en integreren van die uitbestede softwarevoorzieningen met en op de overige
applicatiefunctionaliteit. Behalve reductie in kosten en complexiteit biedt SaaS ook de mogelijkheid een softwareservice zonder grote aanvangsinvesteringen en risico uit te proberen voordat tot algemeen gebruik wordt overgegaan. Deze ‘try before you buy’ mogelijkheid is veel effectiever en efficiënter dan een uitgebreid en langdurig onderzoek naar het ‘juiste’ applicatiepakket en zijn leverancier inclusief het uitvoeren van een pilot project. Voor de SaaS-aanbieder ligt het grote voordeel van SaaS in het kunnen adresseren van een nieuwe, in potentie zeer grote markt van afnemers. Onderstaande figuur geeft de ‘Long Tail’ weer en laat zien hoe bedrijven met een sterk verbeterd distributiemechanisme veel meer klanten kunnen bereiken. Traditioneel is het directe verkoopkanaal van een ISV gericht op de markt met de hoogst mogelijke omzet. Vaak zijn dit de grootste ondernemingen en zet de ISV daarop een verkoopteam. De kosten van verkoop zijn hoog omdat het vaak om langdurige trajecten gaat met veel concurrentie. De ISV kan
het zich niet permitteren nog meer verkopers aan te stellen en die de kleinere ondernemingen te laten langslopen. De kosten daarvan zijn veel hoger dan de verwachte meeropbrengsten. Door nu de software direct via het internet als SaaS aan te bieden en daaraan een ‘try before buy’ optie te koppelen, kunnen opeens veel meer klanten bereikt worden. Klanten die men eerst niet kon bereiken door de hoge verkoopkosten en klanten die wel interesse hadden in het softwareproduct maar niet in staat waren daar binnen het eigen domein een infrastructuur voor op te tuigen. Het internet wordt nu gebruikt als distributiemechanisme voor zowel de verkoop & marketing als voor het uitleveren van de softwareservice zelf. Klanten doen daarbij aan zelfservice wat de verkoopkosten voor de ISV opnieuw verlaagt. Klanten registreren zichzelf, configureren zelf de softwareservice en geven betaalinformatie door zonder dat dit bij de ISV tot additionele kosten leidt. Als de economische drijfveer goed is voor zowel de afnemer als de aanbieder en het model ook in overeenstemming is met de eerder in dit boek beschreven evolutionaire bewegingen van meer monolithisch naar minder monolithisch, dan zal het op termijn vast een succes gaan worden. Wat nu nodig is, is verdere verbetering op het gebied van de technologie, meer hulp (‘guidance’) bij het inrichten van een SaaS-omgeving bij zowel de afnemer als de aanbieder en meer durf in het uitproberen van SaaS bij de afnemers.
>>
Long Tail
S A A S
l
7 1
>>
SaaS voor aanbieders
Aanbieders van SaaS zijn vaak bestaande grote en kleinere ISV’s die voor een ander model van softwaredistributie kiezen; soms aanvullend op het bestaande model en soms kiest men ervoor zich als bedrijf compleet om te vormen en alleen nog maar softwareservices ‘uit de muur’ aan te bieden. De ASP-geschiedenis heeft geleerd dat je niet zomaar een bestaand pakket kunt nemen en die vrijwel onveranderd als SaaS kunt aanbieden. De twee grote uitdagingen die vastzitten aan software dat als een service over het internet wordt aangeboden, zijn ‘economy of scale’ en ‘customization’.
SaaS maturity model
7 2
l
S A A S
Als het aanbieden van een softwareservice tot een grote vraag leidt, moet de aanbieder in staat zijn om meer capaciteit te leveren tegen afnemende extra kosten. In het meest ongunstige geval moet een aanbieder voor elke klant – elk bedrijf – een aparte instantie van de softwareservice in een aparte fysieke omgeving installeren. Dat betekent dat iedere nieuwe klant bijna evenveel kosten met zich meebrengt: meer hardware en meer beheer. Dat leidt niet tot de noodzakelijke ‘economy of scale’ voor de SaaS-aanbieder. Als men ook nog voor iedere klant apart aanpassingen in de softwareservice moet aanbrengen (‘customization’) nemen de kosten eerder progressief toe dan af met iedere nieuwe klant. De enige manier om deze beide
uitdagingen goed aan te gaan is om oplossingen in de architectuur van de softwarevoorziening zelf aan te brengen. Twee van elkaar onafhankelijke oplossingen zijn respectievelijk het kunnen huisvesten van meerdere afnemers in een enkele software-instantie (‘multi tenancy’) en het aanpassen van de softwareservice door middel van configuratie in plaats van het steeds maken en onderhouden van een nieuwe versie van de software. Naarmate een ISV meer van beide aspecten stopt in de softwarevoorziening wordt deze meer SaaS-geschikt. Dat inzicht heeft geleid tot het volgende SaaS ‘maturity model’. De configureerbaarheid van de softwareservice moet idealiter betrekking hebben op alle lagen van de toepassing: de toegangscontrole/aanlogprocedure, de presentatielaag, de businesslaag – met name de bedrijfsregels – en de gegevenslaag. Dat betekent bijvoorbeeld dat er voor een klant nieuwe attributen in een gegevensentiteit of een nieuwe gegevensentiteit kan worden aangemaakt zonder dat de software zelf aangepast moet worden. Helemaal fraai is het als deze configuratie gedaan kan worden door de klant zelf: zelfservice. Dat scheelt aanmerkelijk in de kosten van aansluiting en onderhoud van de ‘customized’ softwarevoorziening voor de aanbieder. ‘Multi tenancy’ - letterlijk: meerdere huurders in eenzelfde pand - wordt bereikt door meerdere geïsoleerde gegevensstructuren te hebben in eenzelfde instantie van de softwareservice. Dat betekent dat de afnemer erop kan vertrouwen – vast te leggen in een service level agreement! – dat zijn gegevens niet gelezen of gewijzigd kunnen worden door andere klanten. Die gegevensisolatie mag best virtueel zijn zolang het maar effectief is. Als dat lukt,
kan de aanbieder nieuwe klanten koppelen aan bestaande softwareservice-instanties en daarmee daadwerkelijk ‘economy of scale’ bereiken. Het maturity model loopt dan als volgt. Het eerste niveau is de ‘worst case’ scenario waarin voor elke nieuwe klant een aparte volledig geïsoleerde instantie van de softwareservice wordt aangemaakt die ook nog ad hoc op de eisen en wensen van die klant wordt aangepast. Dit model leidt tot een progressieve toename van de kosten voor de aanbieder bij elke nieuwe SaaS-klant. Het tweede niveau biedt alleen de mogelijkheid de softwareservice te (laten) configureren en het derde niveau biedt alleen de mogelijkheid om de gegevens van de SaaS-klant te isoleren van die van de andere klanten. Het vierde niveau is waar iedere ISV naar moet streven en biedt dus beide verbeteringen. SaaS-hoster
Een aantal ISV’s heeft de keuze gemaakt om niet alleen de softwarevoorzieningen SaaS-geschikt te maken maar deze ook zelf aan te bieden. Daarmee wordt de ISV ook hoster van zijn eigen softwareservices. Je ziet deze stap vooral bij de grootste ISV’s zoals Microsoft en softwareservice providers zoals Yahoo en Google die op dit moment geweldige investeringen doen in het opzetten en inrichten van serverparken op verschillende plaatsen in de wereld. Veel kleinere ISV’s kiezen er echter voor om het hosten van de softwareservice over te laten aan een specialist. En dat is niet onverstandig, want er komt geweldig veel kijken bij het in operatie en beheer nemen van de softwareservice. De volgende figuur geeft aan wat dat allemaal zo ongeveer inhoudt.
>>
S A A S
l
7 3
>>
De activiteiten die gemoeid gaan met het hosten van SaaS-applicaties hebben veel te maken met de OSS/ BSS-systemen (Operations respectievelijk Business Support Systems) zoals die in de telecomwereld bekend zijn. Het gaat om het veilig en betrouwbaar aansluiten van nieuwe klanten (‘provisioning’), het meten van het gebruik en het gedrag op de softwareservice door de klant, het meten van de diverse afgesproken serviceniveaus, het berekenen van en sturen van facturen, het bieden van ondersteuning via een call center en het maken van diverse managementrapportages. Het hosten van een SaaS-toepassing is dus echt een vak apart. ISV’s moeten hier niet te licht over denken en doen er goed aan het minimaal te overwegen om dit uit te besteden.
SaaS Hosting Platform
7 4
l
S A A S
SaaS-afnemer
In het vorige hoofdstuk is uitgebreid gesproken over SOA, BPM, ESB en samengestelde applicaties. Al deze aspecten komen ook aan de orde als een bedrijf besluit om bepaalde softwareservices niet zelf te beheren in het eigen domein (‘on-premise’) maar te betrekken bij derde partijen via het internet (‘off-premise’, ‘uit de wolk’). Als een bedrijf zich met SOA en BPM bezighoudt, brengt het alle softwarevoorzieningen in kaart die nodig zijn om de business te ondersteunen, zet die voorzieningen neer als relatief onafhankelijke (‘loosely coupled’) services en biedt die services aan als een of meer businessprocessen. Bij het inrichten van een service is de volgende vraag uiterst legitiem: “Gaan we deze service zelf bieden of besteden we het uit?”. Als voor
de betreffende service tot dat laatste besloten wordt, dan is er sprake van een potentiële SaaS-behoefte. Voor SOA en BPM maakt het niet uit waar de service gehost wordt, als die maar doet wat die moet doen tegen aanvaardbare serviceniveaus. Als een bedrijf een of meerdere softwareservices bij derden afneemt, dan ontstaat het volgende plaatje:
Van belang is dat het uitbesteden van services een weloverwogen beslissing is en een beslissing die periodiek wordt heroverwogen. Zitten we nog goed met deze softwareservice en bij deze leverancier? Moeten we op zoek naar een andere leverancier of moeten we de softwareservice weer in huis gaan halen? In die zin werkt SaaS mee aan de verdere evolutie van softwarevoorzieningen op een manier die sterkt lijkt op de evolutie van maatschappij en bedrijf.
<< SaaS in de enterprise
S A A S
l
7 5
WE BS E R V I C E S
Het World Wide Web Consortium (W3C) definieert een webservice als een softwaresysteem dat ontworpen is om machine-naar-machine communicatie te bieden. Voor sommigen zijn webservices synoniem met SOA maar dat is niet correct. Webservices zijn overigens wel een goede kandidaat om een SOA te implementeren. Ooit begonnen als een simpel en relatief breekbaar protocol tussen client- en serversystemen, zijn webservices inmiddels uitgegroeid tot een veilig, betrouwbaar, transactiegericht en standaard manier om softwareservices te implementeren. Daarmee is echter ook de complexiteit van webservices vergroot, wat sommigen als een groot bezwaar zien. Daarom zijn er alternatieven ontwikkeld die de oorspronkelijke eenvoud bewaren, maar tegelijkertijd de voordelen van robuustheid en standaardisatie moeten missen.
>>
Het internet is niet meer alleen geschikt om mensen vanachter hun pc, laptop, PDA, mobieltje of zelfs tv en versterker het wereldwijde web af te laten struinen op zoek naar zinvolle of aangename ‘content’, maar het is ook een omgeving waarbinnen systemen en softwarevoorzieningen met elkaar kunnen communiceren. Het standaardiseren van de communicatie tussen die softwarevoorzieningen levert veel voordelen op. Standaardisatie zorgt er bijvoorbeeld voor dat de integratiekosten verlaagd worden. Webservices is de poging van nagenoeg de gehele software-industrie om deze standaardisatie tot stand te brengen. Webservices zag het licht ongeveer in 1999. De W3C-organisatie definieert zoals gezegd webservices als “a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards”. Dat is een hele mond vol. Het koppelt webservices expliciet aan het gebruik van WSDL en SOAP. Wie webservices een beetje wil doorgronden moet dus eerst een flink aantal acroniemen verwerken zoals XML, SOAP, WSDL en UDDI. De paragrafen hierna vertellen wat ze betekenen, waartoe ze dienen en hoe ze zich tot elkaar verhouden. Daarna komt het echte werk: de webservices-architectuur die webservices omzet van een werkend concept tot een veilig, betrouwbaar en transactiegericht – en dus: ‘enterprise ready’ – mechanisme.
7 8
l
W E B S E R V I C E S
XML
XML (eXtended Markup Language) is een algemene en uitbreidbare opmaaktaal en werd in eerste instantie geïntroduceerd als opvolger van HTML. Al snel na de introductie werd ingezien dat XML een goede kandidaat zou zijn om de problematiek rondom de gebrekkige en moeizame interoperabiliteit van applicaties en componenten aan te pakken. Tot dat moment hadden de EAIproducten en componentarchitecturen elk hun eigen gegevensrepresentatie en berichtenprotocol. XML en later XML Schema boden de mogelijkheid om een universele gegevensrepresentatie vast te stellen, waaraan alle integratie- en componenttechnologieën zich in principe zouden kunnen conformeren. Daarmee was de basis voor webservices geboren: een universele gegevensrepresentatie. SOAP
Behalve een universele gegevensrepresentatie is er ook een universeel berichtenprotocol nodig. Een berichtenprotocol is een taal waarmee applicaties over het netwerk met elkaar communiceren en met elkaar berichten uitwisselen. SOAP staat voor Simple Object Access Protocol en is een protocol waarmee tussen webservices berichten worden uitgewisseld. Een SOAP ‘request’ bevat een verzoek aan een webservice en een SOAP ‘reply’ bevat het antwoord op dat verzoek. SOAP was oorspronkelijk expliciet ontwikkeld als een request/reply berichtpatroon, maar ondersteunt nu in feite alle soorten berichtpatronen dus ook eenrichtingsverkeer. SOAP helpt goed bij de autonomie van services, één van de basisprincipes (zie hoofdstuk 4), want
het stelt geen enkele eis aan de implementatie van de service. Het enige wat telt is dat de vragende service in staat is het verzoek samen te stellen, te adresseren en op te sturen en dat de bevraagde service het verzoek kan begrijpen, uitvoeren en – indien nodig - een antwoord kan samenstellen en terugsturen naar de vragende service. Een ‘native’ webservice is in staat om direct SOAP-berichten te consumeren en produceren. Een bestaande applicatie kan verpakt (‘wrapped’) worden in een laag die het inkomende SOAP-bericht oppakt, het vertaalt naar de taal die de applicatie begrijpt en het doorgeeft aan die applicatie in zijn eigen taal. Omgekeerd vertaalt de wrapper het antwoord van de applicatie naar SOAP en stuurt het naar de aanvrager van het verzoek. Daarmee is SOAP het universele berichtenprotocol geworden voor zowel ‘native’ webservice componenten als de als webservice ‘gewrapte’ legacy applicaties. WSDL
De webservice die een SOAP-bericht in behandeling neemt, moet op de een of andere manier aan de buitenwereld aangeven welke verzoeken hij wel en welke hij niet kan behandelen. Web Services Description Language (WSDL) is de taal en het document waarin de webservice aangeeft welke verzoeken hij in behandeling neemt, welke gegevens daarbij moeten worden aangeleverd, welke antwoorden hij geeft en niet te vergeten: wat zijn adres is. Het adres van de service moet uniek zijn en heeft vaak de vorm van een URL (Uniform Resource Locator); een webservice is een ‘resource’. WSDL is net als SOAP gebaseerd op XML. Het is de verantwoordelijkheid van de
serviceverlener om door WSDL aan te geven welke service hij aanbiedt. De service-afnemer leest het WSDL-document, produceert op basis daarvan zijn verzoek(en) en stuurt die naar het aangegeven adres. UDDI
UDDI staat voor Universal Description, Discovery and Integration en is een directory waarin de informatie over webservices staat opgeslagen. Het is een soort telefoonboek waarin men alle services kan vinden op naam, op soort geboden service, op organisatie die de service aanbiedt, et cetera. UDDI kan een private directory zijn die alleen binnen de eigen onderneming bekend is, een publieke directory die voor iedereen toegankelijk is of een vorm daartussen waarbij de directory alleen toegankelijk is voor een beperkt aantal organisaties – zoals de partners, toeleveranciers en afnemers van de onderneming die de webservice(s) publiceert. Daarmee komen we bij de figuur waarin de webservice basisvoorzieningen staan. Een webservice-verlener biedt een webservice aan die een aantal verzoeken kan uitvoeren. In het WSDLdocument wordt beschreven wat de webservice aan verzoeken en functionaliteit te bieden heeft. De webservice kan aan de relevante buitenwereld bekend gemaakt worden door opname in de UDDI directory. De webservice-afnemer in spé die behoefte heeft aan een bepaalde webservice, zoekt een kandidaat op in de directory, haalt het WSDLdocument binnen en componeert op basis van dat document zijn SOAP-bericht dat als verzoek naar de webservice wordt gestuurd. Deze neemt het verzoek in behandeling en geeft een antwoord terug.
>>
W E B S E R V I C E S
l
7 9
>>
Webservices basistrio: SOAP, WSDL en UDDI
We b s e r v i c e s - a rc h i t e c t u u r
De eenvoud van dit model maakte het gebruik van webservices erg populair. Maar in die eenvoud zat ook een probleem, want de werkelijkheid van gedistribueerde verwerking is nu eenmaal een stuk complexer. Met SOAP, WSDL en UDDI kun je weliswaar webservices implementeren, maar er wordt daarbij niets gezegd over de veiligheid en betrouwbaarheid van die webservices, de geschiktheid van webservices voor businesstransacties, de mogelijkheid om een combinatie van webservices te orkestreren tot een bedrijfsproces of over het beheer van webservices. Wil men met webservices het gebied van de gedecentraliseerde, gedistribueerde verwerking
8 0
l
W E B S E R V I C E S
echt gaan veroveren, dan moet er op dat soort vraagstukken een antwoord komen. Vanaf 2001 is achter de schermen hard gewerkt aan het verbeteren van de webservices-specificaties en -architectuur. Daarbij zijn alle registers van de technologie rondom gedistribueerde verwerking opengetrokken. Alle kennis die de afgelopen 30 jaar is opgedaan op het vlak van veilig en betrouwbaar gedistribueerd werken zijn in de webservicesspecificaties en -architectuur opgenomen. Tientallen webservices-specificaties hebben de afgelopen paar jaar het licht gezien. De specificaties zijn vrijwel altijd door een (soms wisselend) consortium van softwarebedrijven gepubliceerd. Sommige
specificaties zijn aanvullend op elkaar, andere overlappend en weer andere gewoon concurrerend. Het lijkt een onbegrijpelijke kakofonie geworden en degenen die ooit zo gecharmeerd waren van de eenvoud van webservices vragen zich verbijsterd af waar het naartoe is gegaan. Maar er zijn veel redenen waarom webservices eerder sterker dan zwakker zijn geworden met deze uitbreiding van de specificaties. Ten eerste was het nodig dat webservices robuuster werden met name in de enterprise context. De werkelijkheid van robuuste gedistribueerde verwerking is nu eenmaal niet simpel en voor niets gaat de zon op. Het beveiligen van het berichtenverkeer is een noodzakelijke voorwaarde voor acceptatie van webservices bij bedrijfskritische toepassingen, bij financiële transacties om maar eens wat te noemen. Ten tweede, het webservices-initiatief wordt door vrijwel de gehele ICT-industrie gedragen. Het is voor het eerst dat er een dergelijke grote ondersteuning en samenwerking bestaat tussen leveranciers op het vlak van gedistribueerde softwaretechnologie. Ten derde is er bij al die uitbreidingen in principe niets nieuws onder de zon. Methodes om berichten te beveiligen, de aankomst en verwerking van verstuurde berichten te garanderen, transacties uit te voeren en afzonderlijke taken te bundelen tot samengestelde en gecoördineerde processen waren al bekend van eerdere technologieën van gedistribueerde verwerking. Denk daarbij aan transactieverwerkingsystemen (tp-monitoren), applicatieservers, message brokers, oplossingen voor gedistribueerd systeembeheer en workflow systemen. Voor het eerst is al die kennis gebundeld en op een implementatie-onafhankelijke manier gespecificeerd. En dat alles dankzij de intensieve samenwerking tussen bedrijven die elkaar normaal gesproken alleen maar beconcurreren.
Ten vierde kunnen specificaties best complex zijn zonder dat de architect, ontwikkelaar of gebruiker van webservices daar last van hoeft te hebben. De meeste specificaties verdwijnen onder de motorkap van gebruiksvriendelijke ontwerp- en ontwikkelgereedschappen. Het is de taak van de softwareleveranciers die de specificaties omzetten tot technologische producten om dit zo te doen dat de architect en ontwikkelaar geen last hebben van die complexiteit. Welke architect bemoeit zich ooit bij een gedistribueerde database transactie met de ins en outs van het Two-Phase Commit (2PC) protocol? Welke ontwikkelaar houdt zich expliciet bezig met de encryptie en decryptie van berichten over een beveiligde internetverbinding? Dit alles is door moderne ontwikkelgereedschappen verborgen in de technologie. Met andere woorden, complexe specificaties betekenen niet dat de technologie zoals die zich aan de architect/ontwikkelaar voordoet ook complex moet zijn. Ten vijfde, de concurrentie die men soms tussen de verschillende webservices-specificaties ziet is niet noodzakelijkerwijs slecht. De marktwerking zorgt ervoor dat de beste en sterkste specificaties overblijven en het schoppen tot echte standaard. Er is een proces die webservices-specificaties doorlopen: van voorgestelde specificatie via standaardisatie tot en met gecertificeerde implementatie. Ten zesde is er een prachtig mechanisme in de webservices-architectuur ingebouwd waardoor bij het gebruik van webservices alleen die aspecten gebruikt hoeven te worden die ook echt nodig zijn. Daarbij is het mogelijk later bepaalde aspecten toe te voegen, te wijzigen of te verwijderen. We hebben het hier over compositiemogelijkheid (‘composability’) en de uitbreidbaarheid (‘extensibility’) van de webservices-architectuur.
>>
W E B S E R V I C E S
l
8 1
>>
We b s e r v i c e s : v a n s p e c t o t p ro d u c t
De webservices-specificaties worden volgens een gestructureerd proces ontwikkeld en verbeterd. Allereerst komt er een initiële specificatie, meestal voorgesteld door een wisselend gezelschap van softwareleveranciers die met een aantal van hun gedistribueerde verwerking experts de koppen bij elkaar hebben gestoken over een bepaald onderwerp; bijvoorbeeld over transacties of gegarandeerde aflevering van berichten. Nadat de initiële specificatie is gepubliceerd, worden er feedback workshops gehouden die openstaan voor ieder die commentaar wil leveren. Daarna volgt een ‘proof of concept’ waarin twee of meer deelnemers bewijzen dat de specificatie in technologie geïmplementeerd kan worden en dat de implementaties van verschillende leveranciers ook echt met elkaar werken. Beide workshops leiden soms tot aanpassing en verfijning van de specificaties. Als er voldoende vertrouwen is in de stabiliteit van de specificatie, dan pas wordt deze aan een van de standaardisatieorganisaties aangeboden. In de meeste gevallen wordt een keuze gemaakt tussen W3C en OASIS. Die mogen de specificaties als officiële standaard bekrachtigen. De volgende stap is dat softwareleveranciers de specificaties inbakken in een technologie, een product of een toolkit. Bij de vertaalslag van specificatie naar technologie kunnen interpretatieverschillen ertoe leiden dat de producten van de verschillende leveranciers niet goed op elkaar aansluiten. Dat zou de essentie van webservices teniet doen, namelijk dat webservices los van de implementatietechnologie altijd met elkaar moeten kunnen communiceren. Daarom is in 2002 door Microsoft, IBM, BEA en Intel de WS-I opgericht: de webservices Interoperability Organisatie. Deze organisatie waar inmiddels ongeveer 200 bedrijven aan
8 2
l
W E B S E R V I C E S
deelnemen, maakt profielen, testgereedschappen en voorbeeldapplicaties op basis van de standaard specificaties zodat leverancier zelf of anderen kunnen testen of de productimplementatie helemaal overeenkomt met de bedoeling van de specificaties. De profielen geven implementatierichtlijnen bij de specificaties zodat de specificaties niet alleen naar de letter maar ook naar de ‘geest’ geïmplementeerd worden. De testgereedschappen geven de mogelijkheid te testen of de implementaties aan die richtlijnen voldoen en de voorbeeldapplicaties tonen applicaties die geïmplementeerd zijn volgens de richtlijnen. Onderstaande figuur geeft een beeld van de webservices-architectuur die ook wel de WS-* wordt genoemd omdat de namen van de specificaties beginnen met WS- zoals WS-Security, WSCoordination en WS-BPEL. Het is het resultaat van alle inspanningen om te komen tot een universeel protocol voor robuuste, ‘enterprise ready’ gedistribueerde verwerking tussen onafhankelijke services. Het voert te ver om alle afzonderlijke specificaties te beschrijven, maar een paar opmerkingen over die architectuur zijn wel te maken. De webservices-architectuur is nu losgekoppeld van het transportmechanisme, zo blijkt uit het onderste deel van de figuur. In de eerste versies van webservices was SOAP nog sterk gekoppeld aan het http transportprotocol waarvan het wereldwijde web gebruik maakt. Nu is die koppeling losgelaten en wordt bijvoorbeeld het adres van de webservice in SOAP zelf opgenomen waar eerst nog gebruik werd gemaakt van http adressering. Dat betekent dat SOAP-berichten nu over elk transportmechanisme verstuurd kunnen worden en onderweg zelfs van transportmechanisme kunnen wijzigen. Het httpprotocol is op zichzelf niet erg betrouwbaar en men kan dus kiezen voor meer betrouwbare protocollen als drager van het SOAP-bericht.
Webservices-architectuur
Het middengedeelte van de figuur toont dat de webservices-architectuur nu geschikt is voor veilige, betrouwbare en transactiegerichte webservices; kortom geschikt voor bedrijfskritisch gebruik. XML vormt het fundament waarop zowel de messaging (SOAP) als de metadata (WSDL, Policy) zijn gebaseerd. Over WSDL hebben we al gesproken; het betreft de beschrijving van de functionaliteit van de webservice. De Policy (WS-Policy) beschrijft een aantal operationele eisen aan de webservice. In hoofdstuk 4 noemden we dit het kwaliteitsniveau en de algemene voorwaarden van de service. Bovenop de messaging zijn de zaken toegevoegd die in de policies worden beschreven:
de specificaties voor de veiligheid, betrouwbaarheid en transactiegerichtheid van de webservices. Het bovenste deel van de figuur laat het gebied van de applicatie zien en beantwoordt onder meer de volgende vragen. Hoe orkestreren we webservices tot dynamische applicaties (WS-BPEL), hoe beheren we die webservices en hoe linken we het geheel in de businessprocessen? Boven dit niveau van de webservices-architectuur hoort de standaardisering per industrie. De webservices-architectuur richt zich uitsluitend op de syntaxis van de webservices; de verticale standaards moeten per industrie de semantiek >> vaststellen.
W E B S E R V I C E S
l
8 3
>>
Modulariteit
Een fraaie eigenschap van de webservicesarchitectuur is dat het volledig modulair is. De beide volgende figuren laten dat goed zien. De eerst figuur toont twee situaties waarin een SOAP-bericht van een serviceafnemer naar een serviceverlener gaat, in dit geval een inkooporder dat van klant naar leverancier gaat. Dat bericht is samengesteld op basis van informatie uit het WSDL-document van de serviceverlener. Het bevat het verzoek tot de actie ‘submit_po’ (voer inkooporder in) en bevat de gegevens voor die inkooporder zoals klantnummer, productnummers, aantallen, et cetera. Deze eerste situatie biedt een basis webservice en ontbeert alle facetten voor bedrijfskritische toepassing.
Modulaire architectuur
8 4
l
W E B S E R V I C E S
De tweede situatie is dezelfde webservice maar nu uitgebreid met een kwaliteitseis (‘policy’) met betrekking tot de businesstransactie. De webservice maakt nu onderdeel uit van een atomaire transactie. Aan de inhoud van de service request zelf is niets veranderd; alleen het kwaliteitsniveau is toegenomen. Een verdere toename van kwaliteitsniveau zou kunnen plaatsvinden door later ook nog eens beveiliging (authenticatie, autorisatie of encryptie) toe te voegen. Dit modulaire model maakt dat je met een webservice simpel kunt beginnen en al naar gelang de behoefte en beschikbaarheid van technologie het kwaliteitsniveau van de webservice kunt verhogen.
De tweede figuur toont een SOAP-bericht in zijn XML-representatie. Er is een onderscheid tussen de SOAP-header en de SOAP-body. De body bevat de inhoud van het bericht – in dit geval statusinformatie over een bepaalde verkeerssituatie en ontleent zijn structuur aan het WSDL-document. De header bevat alle policy-gerelateerde aspecten. De SOAP-body is verplicht, de SOAP-header is optioneel. In het voorbeeld zijn aan de header de volgende aspecten toegevoegd: adressering, beveiliging - in dit geval het beveiligen van het bericht met een X509 digitaal certificaat - en ‘reliable messaging’. Deze drie aspecten staan helemaal los van elkaar, er is geen onderlinge afhankelijkheid. Nieuwe policies kunnen worden toegevoegd en
bestaande gewijzigd of verwijderd. Een toonbeeld van een flexibele, modulaire architectuur! Op het moment van schrijven – zomer 2007 zijn alle specificaties van de middenlaag van de webservices-architectuur beschreven en officieel gestandaardiseerd bij W3C of OASIS. Hier en daar vinden nog verdere verfijningen plaats door additionele deelspecificaties, zoals bij beveiliging– die weer onafhankelijk te gebruiken zijn van de reeds geaccordeerde beveiligingsspecificaties. Diverse leveranciers hebben al productimplementaties van de specificaties uit de middenlaag. De WS-I richtlijnen en testgereedschappen lopen daarbij nog wat achter.
>>
SOAP’s modulaire representatie
W E B S E R V I C E S
l
8 5
>>
Naast de constructieve samenwerking tussen leveranciers op het gebied van de specificaties is er vooral ook een keiharde competitie op het gebied van de implementatie van de webservicetechnologie. Welke softwareleverancier levert de beste visie, strategie en ondersteuning voor architecten, ontwikkelaars, beheerders en gebruikers? Wie maakt de beste, veiligste, meest productieve, best beheerbare producten tegen de laagste kosten van gebruik? Producten voor de ontwikkeling van nieuwe, ‘native’ webservices,
8 6
l
W E B S E R V I C E S
voor de verpakking (‘wrapping’) van bestaande applicaties, voor de orkestratie van webservices tot dynamische applicaties en bedrijfsprocessen en niet te vergeten voor het beheer van de constellatie van webservices. Op dit vlak is de concurrentiestrijd volledig losgebarsten. Het goede nieuws voor de gebruikers van webservices is dat men niet gebonden is aan de technologie van een enkele leverancier en dat men in principe voor elke webservice een andere implementatie kan kiezen (al is dat praktisch natuurlijk geen goed advies).
Alternatieven
In dit hoofdstuk is betoogd dat de webservicesarchitectuur een ‘tour de force’ is omdat enerzijds alle industriekennis van gedistribueerde verwerking in die architectuur is opgenomen en het anderzijds het resultaat is van een tegennatuurlijke samenwerking tussen concurrerende bedrijven. Dat heeft tot gevolg dat het compleet maken van de webservices-architectuur langer op zich heeft laten wachten dan gewenst en dat het toch ook allemaal wat complexer is geworden. De S van SOAP dekt de lading niet meer. In dit hoofdstuk zijn redenen aangegeven waarom webservices desondanks zeer
de moeite waard zijn: het is de de facto standaard, veel van de complexiteit zal door middel van ‘tooling’ onder de motorkap verdwijnen en de structuur van SOAP is modulair: je gebruikt alleen wat je nodig hebt. Maar niet iedereen is het daarmee eens en er zijn verschillende alternatieven ontwikkeld die sneller en eenvoudiger in het gebruik zijn; maar niet noodzakelijkerwijs beter. Veelgebruikte alternatieven voor SOAP webservices zijn POX, REST en RSS. Het volgende hoofdstuk bespreekt deze webservices ‘light’ varianten onder de noemer van Web 2.0.
<<
W E B S E R V I C E S
l
8 7
W E B 2. 0
8 8
l
W E B
2 . 0
Web 2.0 is een van die wonderbaarlijke begrippen in de ICT die op ieders lippen ligt en waarbij iedereen voor zichzelf wel een gevoel heeft van wat ermee bedoeld wordt, maar het moeilijk vindt dat gevoel goed onder woorden te brengen. Een universele definitie van Web 2.0 waaraan iedereen zijn of haar ‘gevoel’ bij Web 2.0 kan toetsen, is er niet. Maar is dat nu juist niet de essentie van Web 2.0? Gaat het niet om de volledige democratisering van het web waarbij iedereen met iedereen in contact kan komen en zijn of haar ideeën, gevoelens en bevindingen met elkaar kan delen? En waar niemand a priori méér is dan de ander? Dit klinkt op het eerste gezicht niet erg bedrijfsmatig, maar wel speels en creatief. Web 2.0 is dan ook gevormd in de ‘consumer space’. Maar bedrijven komen er meer en meer achter dat ze dit nieuwe denken over (het gebruik van) webtechnologie zelf ook keihard nodig hebben.
W E B
2 . 0
l
8 9
>>
Het is niet moeilijk om de oorsprong van het begrip Web 2.0 te vinden. Het is bedacht en uitgebreid beschreven door Tim O’Reilly in een zeer bekend whitepaper (O’Reilly, 2005). Deze whitepaper geeft een goed beeld van hoe vaag het begrip Web 2.0 wel niet is: het is tegelijk alles en niets; het is allemaal nieuw, maar vaak ook oude wijn in nieuwe zakken. Tim O’Reilly noemt de whitepaper “an attempt to clarify just what we mean by Web 2.0” en heeft daar
Web 2.0 ‘zonnestelsel’
9 0
l
W E B
2 . 0
vervolgens 5 omvangrijke webpagina’s voor nodig. Al snel op de eerste pagina komt O’Reilly met de volgende ‘beschrijving’ van het Web 2.0 concept: “Like many important concepts, Web 2.0 doesn’t have a hard boundary, but rather, a gravitational core. You can visualize Web 2.0 as a set of principles and practices that tie together a veritable solar system of sites that demonstrate some or all of those principles, at a varying distance from that core”.
Veel vager dan dit kan een omschrijving niet worden. Het aanbrengen van enige structuur rondom het Web 2.0-‘zonnestelsel’ kan geen kwaad. Gartner (Gartner, 2006) deed een goede poging en hier wordt die structurering als leidraad genomen voor de verdere bespreking van Web 2.0. Gartner noemt drie doelgroepen voor Web 2.0 die elk door hun eigen bril kijken naar het begrip en er verschillende dingen belangrijk aan vinden. Voor ICT-ers gaat het vooral om het web als platform om nieuwe softwarevoorzieningen op te ontwikkelen, te implementeren en te beheren. Het gaat ICT-ers primair om het ‘programmable web’ waar softwarevoorzieningen voortdurend vernieuwd worden. Voor de consument of ‘eindgebruiker’ heeft Web 2.0 twee verschillende manifestaties. Enerzijds is het een platform waarop de ‘collective intellligence’ van de mensheid beschikbaar aan het komen is en waarbij de consument die ‘intelligence’ niet alleen tot zich kan nemen, maar er zelf ook aan kan bijdragen. De focus ligt op de content web. Anderzijds ziet de consument Web 2.0 als een platform om op uiteenlopende manieren met anderen in contact te komen, met hen samen te werken, te netwerken of gewoon met elkaar plezier te hebben. We noemen dat gemakshalve de social web. Dus consumenten zien een content en een social web in Web 2.0. De derde groep is die van de entrepreneurs, mensen en bedrijven die voortdurend op zoek zijn naar nieuwe gaten in de markt. Voor hen is Web 2.0 vooral een innovatief business web, waarmee zij economische waarde kunnen genereren.
Als we kijken naar specifieke Web 2.0-voorbeelden dan zullen die vaak alle drie de aspecten in zich hebben, maar voor de bespreking van de belangrijkste kenmerken en ‘design patterns’ van Web 2.0 is deze driedeling wel nuttig. Omdat dit boek primair voor ICT-ers geschreven is, gaat de meeste aandacht uit naar het programmable web. Programmable web
Het web is vanaf het begin primair gebruikt als kanaal om informatie te publiceren. Eerst statische informatie als in gefixeerde webpagina’s en later ook dynamisch samengestelde pagina’s die op basis van een verzoek gegevens uit een centrale database halen en die vangen in een webpagina. Een tweede veelgebruikte toepassing werd elektronisch zakendoen, waarbij de webpagina’s steeds meer het karakter kregen van ICT-applicaties. Maar het bleek onmogelijk om die applicaties dezelfde belevingskwaliteit te geven als de applicaties die op de pc draaiden en die voor de meeste gebruikers als de norm gelden. Er zijn de afgelopen jaren diverse pogingen gedaan om de gebruikservaring van webapplicaties op te krikken. Een voorbeeld hiervan is Adobe’s Flash Player, dat een ‘plug in’ is in de web browser en waarvoor zowel multimedia als meer zakelijke toepassingen geschreven kunnen worden. Maar daarnaast is er al in de jaren 90 van de vorige eeuw erg gesleuteld aan en geëxperimenteerd met technieken in en om de browser die gezamenlijk als DHTML of Dynamic HTML te boek staan: de HTML opmaaktaal, Cascading Stylesheets als presentatiedefinitie, het >>
W E B
2 . 0
l
9 1
>>
document objectmodel (DOM) en een scripting taal in de browser. Via een aantal omwegen en uitbreidingen zoals XML en asynchrone verzoeken vanuit de webpagina zijn deze technieken voor het ontwikkelen van meer interactieve webapplicaties uiteindelijk benoemd met het begrip Ajax. Dat staat voor de ietwat gekunstelde afkorting: Asynchronous JAvaScript and Xml. Ajax is dus een techniek voor het ontwikkelen van webapplicaties die rijker zijn in de beleving van gebruikers en die een beetje ‘smoelen en voelen’ als pc-applicaties of in elk geval daarbij steeds dichter in de buurt komen. In dat geval heeft men het over RIA’s: Rich Internet Applications. Een van de eerste grote RIA’s was Microsoft’s Outlook Web Access (OWA) dat veel lijkt op de Outlook clientapplicatie zoals die onder Windows draait.
Ajax Architectuur
9 2
l
W E B
2 . 0
Ajax opende niet alleen de weg voor een betere ‘look and feel’ van webapplicaties maar ook voor het gebruik van webservices in die applicaties. Daarmee werd ook de weg geopend tot samengestelde applicaties. In de context van Web 2.0 worden die samengestelde applicaties vaak met de term Mashups aangeduid. Beide zaken worden hierna wat verder uitgediept. We b s e r v i c e s ‘ l i g h t ’
Een van de kernpunten van Ajax is het asynchroon ophalen van gegevens van een server(toepassing) en deze presenteren in een webpagina zonder dat dit proces leidt tot een nieuwe webpagina (‘page refresh’). Die mogelijkheid opende de weg om vanuit een webpagina softwareservices aan te roepen, met andere woorden: webservices.
Het vorige hoofdstuk heeft het doel van SOAP webservices uitgebreid besproken en die kunnen dan ook prima in een Ajax omgeving gebruikt worden. Maar voor veel ontwikkelaars is het gebruik van SOAP webservices te complex. Dat is zeker zo als ze niet over de meer geavanceerde ontwikkelgereedschappen beschikken die de complexiteit van webservices goed onder de motorkap verstoppen. Ajax was en is vooral het domein van de semiprofessionele ontwikkelaar en die gebruikt bij voorkeur eenvoudige en gratis verkrijgbare gereedschappen en frameworks om de rijke webapplicaties mee te maken. Omdat het handmatig coderen van SOAP-berichten inderdaad niet eenvoudig is, zijn die ontwikkelaars op zoek gegaan naar alternatieven. Drie van de meest gebruikte alternatieven voor SOAP webservices zijn respectievelijk POX, REST en RSS. Gezamenlijk zou je deze alternatieven webservices ‘light’ kunnen noemen.
De SOAP-versie inclusief de adressering die het verzoek onafhankelijk maakt van het onderliggende http-communicatieprotocol: <s:Envelope xmlns:s=“…” xmlns:a=“…”> <s:Header>
urn:IStockQuoteService/GetStockQuote urn:uuid:abbd8c03-cc75-44e4-843b3ae57e64f19c http://www.w3.org/2005/08/addressing/ anonymous http:// Quoteprovider.com/Stocks/
POX
POX staat voor Plain Old XML en zegt eigenlijk niets anders dan dat er gebruik wordt gemaakt van de basisvoorzieningen van XML. In het kader van webservices light gaat het dan om het aanroepen van een softwareservice zonder de overhead en complexiteit van SOAP. POX maakt daarbij gebruik van alle faciliteiten die het httpcommunicatieprotocol biedt zoals adressering, soort aanroep en eventueel berichtbeveiliging. Dat POX handmatig veel simpeler te coderen is, blijkt wel uit het volgende voorbeeld waarin aan een webservice voor aandelenkoersen het verzoek wordt gedaan de waarde van het aandeel ‘Microsoft’ terug te geven.
<s:Body>
<symbol>MSFT
Het POX-voorbeeld dat gewoon gebruik maakt van de faciliteiten die het http-communicatieprotocol biedt, is: GET /Stocks/GetStockQuote?symbol=MSFT Host: Quoteprovider.com Met het juiste ontwikkelgereedschap hoeft er geen verschil in inspanning te zijn voor een ontwikkelaar om de SOAP- of POX-variant te maken. Het in hoofdstuk 12 te bespreken WCF (Windows >>
W E B
2 . 0
l
9 3
>>
Communication Foundation), dat onderdeel is van het .NET Framework, kan namelijk beide varianten genereren op basis van de volgende code: [ServiceContract( Namespace=”” )] interface IStockQuoteService { [OperationContract] StockQuote GetStockQuote(string symbol); }
Maar als je als ontwikkelaar niet een dergelijk ontwikkelgereedschap tot je beschikking hebt en het voor een groot deel allemaal handmatig moet coderen, is het logisch dat de ontwikkelaar de mooie standaard links laat liggen en zijn toevlucht neemt tot een pragmatische en veel simpeler oplossing. REST
REST staat voor REpresentational State Transfer en is bedacht en beschreven door Roy Fielding – één van de auteurs van http – in zijn dissertatie in 2000. REST is een architectuurstijl die te vergelijken is met de client/server architectuurstijl, maar eentje die volledig gericht is op het wereldwijde web en het maken van daarvoor geschikte schaalbare applicaties. Wat zich binnen die applicaties bevindt, doet er voor REST niet toe. In feite gebruikt iedereen REST die vanuit de browser over het web surft. Want als de browser een bepaalde pagina laadt dan vertegenwoordigt dat een representatie en daarmee een bepaalde staat. Als er vervolgens op een link op die pagina geklikt wordt, wordt er een andere pagina geladen en dat is de transfer naar een andere representatie; vandaar REST.
9 4
l
W E B
2 . 0
De voornaamste architectuurprincipes van REST zijn: Een ‘stateless’ client/server protocol: elk httpbericht bevat alle informatie die nodig is om dat verzoek te begrijpen. Als gevolg daarvan hoeven noch de client noch de server enige status van een dialoog te onthouden. Bij REST is er geen gebruik van cookies dus. Een kleine set van operaties die gelden voor alle informatie-eenheden (‘resources’). Http bevat die kleine set van operaties zoals POST, GET, PUT and DELETE. Een universele syntax voor resource-identificatie: elke resource is uniek adresseerbaar door een URL/URI (Uniform Resource Locator/Identifier). Het gebruik van ‘hypermedia’ om de representaties vorm te geven zoals XML of HTML waarin ook de links naar andere resources zijn opgenomen. -
Deze principes maken gebruik van wat door middel van de internetstandaarden algemeen voor handen is zoals de volledige benutting van het http-protocol, HTML/XML en URL’s; kortom alles waarmee iemand een standaard webpagina kan maken. En het zijn deze principes die door een stel enthousiaste ontwikkelaars vertaald zijn naar REST webservices. Het toepassen van de REST architectuurprincipes voor gebruik bij webservices vereist een andere manier van denken dan bij SOAP en POX. Zowel SOAP als POX zijn immers voornamelijk XML-representaties van de RPC (Remote Procedure Call) ontwikkelbenadering, waarin een applicatie zichzelf aan de buitenwereld toont als een ‘remote’ netwerkobject dat bepaalde publiek toegankelijke operaties/procedures heeft die men kan aanroepen. Bij die aanroep worden meestal parameters meegegeven. Het hierboven gebruikte GetStockQuote() is een voorbeeld van een RPC binnen de applicatie QuoteProvider waaraan als parameter ‘MSFT’ is meegegeven.
REST gaat daarentegen uit van resources waarop men een basaal aantal acties pleegt zoals een (representatie van de) resource ophalen, wijzigen, aanmaken of verwijderen. In plaats van een parameter mee te geven aan de aanroep, heeft in het voorbeeld elk aandelensymbool zijn eigen resource (unieke adres van een webpagina). Dus het Microsoft aandeel zou als uniek geadresseerde resource kunnen hebben: http://QuoteProvider. com/Stocks/MSFT. De codering om de waarde van het aandeel op te halen zou als volgt kunnen zijn: userResource = new Resource(“http://QuoteProvider. com/Stocks/MSFT”) userResource.get()
Applicaties die voldoen aan de REST-principes noemt men RESTful-applicaties en de meest religieuze volgers van deze principes noemen zichzelf RESTafarians.
Het bovenbeschreven proces in de aggregator is eigenlijk niet veel meer dan het asynchroon uitvoeren van operaties op een resource met een adres en dit zou net zo goed een lichtgewicht variant van een webservice kunnen zijn. Volgens Ray Ozzie, Chief Software Architect bij Microsoft, zijn RSS-feeds te beschouwen als de ‘Unix pipes van het Internet’ waarmee iedere (web)applicatie met iedere andere applicatie ‘loosely coupled’ kan worden. Het summum daarbij is een tweezijdig asynchroon communicatiekanaal tussen (web)applicaties. Dat is niet iets wat RSS zelf kan doen – die werkt slechts een kant op en brengt informatie van de ‘uitgever’ naar de ‘abonnee’ - , maar wat wel op basis van RSS is te ontwikkelen. Daarom heeft Microsoft begin 2006 de voorlopige specificatie van SSE gelanceerd. SSE staat voor Simple Sharing Extensions en maakt op basis van RSS een tweezijdig, asynchroon communicatiekanaal tussen applicaties of services.
RSS
RSS staat voor Really Simple Syndication en is een technologie om ‘content ‘ te publiceren die regelmatig ververst en bijgewerkt wordt zoals websites met nieuws, blogs of pod/videocasts. De aanbieder van de content publiceert een link op zijn site waarop zijn bezoekers zich kunnen abonneren door die link naar een browser of een ander ‘aggregator’ programma te slepen. Die aggregators informeren periodiek of er nieuwe content is. Zodra die er is, wordt een samenvatting daarvan, een ‘web feed’, naar de aggregator overgebracht. Zo kunnen mensen eenvoudig op de hoogte blijven van nieuwe publicaties zonder deze zelf steeds actief op te moeten zoeken. Daarmee wordt alle informatie op het web net weer iets toegankelijker.
Er circuleert ook al een RSSBus (www.rssbus. com) dat door de makers gepositioneerd wordt als een Service Bus en dus geen Enterprise Service Bus. In hun eigen woorden: “With RSSBus, our goal is to build general purpose software that connects or has the ability to easily connect to every system, data, or information source of any significance. Our core focus is to enable connectivity as simply and as easily as possible”. Kortom ook RSS is een kandidaat om naast of in plaats van POX en REST een lichtgewicht variant van de officiële webservices te bieden. Maar van de drie besproken alternatieven is deze nog de minst ontwikkelde en geaccepteerde vorm.
>>
W E B
2 . 0
l
9 5
>>
SOAP vs de ‘REST ’
De hierboven beschreven lichtgewicht alternatieven voor SOAP vinden steun bij een groeiend aantal – vooral onafhankelijke - ontwikkelaars en een paar grote serviceverleners zoals Amazon.com. Deze alternatieven zijn inderdaad ‘lean and mean’ maar daardoor ook beperkt. Bij deze varianten moet de ontwikkelaar alle infrastructurele aspecten zoals authenticatie/autorisatie, gegarandeerde aflevering en transacties zelf regelen of ze achterwege laten. Bij iedere applicatie moeten serviceverlener en serviceafnemer met elkaar onderhandelen hoe al deze zaken geregeld gaan worden. Bij SOAP is dit allemaal vastgelegd in industriestandaards. Webservices light lijken dus niet erg geschikt voor robuuste (inter)enterprise scenario’s. Een grote serviceverlener zoals Amazon.com kan aan de afnemers voorschrijven hoe er met hem gecommuniceerd moet worden, maar dat werkt minder goed in een omgeving waarbij verlener en afnemer gelijkwaardig zijn. Overigens zal elke grote serviceverlener zijn voorschriften weer anders opstellen; er zijn immers geen standaarden voor gedefinieerd.
Mashup
9 6
l
W E B
2 . 0
Mashup
Ajax technologie en (de lichtgewicht varianten van) webservices laten zich uitstekend combineren tot samengestelde applicaties op het niveau van de gebruikersinterface. Omdat die samenstelling niet alleen snel maar ook ‘quick & dirty’ kan, wordt deze vorm ‘Mashup’ genoemd. Wikipedia omschrijft een Mashup als “a website or application that combines content from more than one source into an integrated experience”. Een veelvoorkomende Mashup is die waar geografische informatie zoals via Google Earth of Microsoft Virtual Earth met andere informatie wordt samengevoegd. Voorbeelden van dergelijke Mashups zijn www.misdaadkaart.nl waar informatie over recent gepleegde misdaden geografisch wordt weergegeven of www.johnlscott.com met geografisch ondersteunde informatie over de huizenmarkt. Het maken van Mashups komt ook in het bereik van de (power) eindgebruikers. Eindgebruikers programmeren niet en doen bij voorkeur ook niet aan scripting. Wat ze echter wel gewend zijn is: ‘drag and drop’ en waarden geven aan een paar attributen. Live.com is een van de services van Windows Live (zie hoofdstuk 12) en is een persoonlijk portaal waarop de eindgebruiker zelf niet alleen zijn favoriete RSS-feeds kan plaatsen maar ook Web gadgets, een soort ‘mini-applicaties’ met UI-componenten die webservices aanroepen. Veel voorkomende gadgets geven bijvoorbeeld weeren aandeleninformatie. Verder komen er steeds meer Mashupcreators/editors op de markt waarmee eindgebruikers hun eigen Mashup-websites kunnen maken en deze delen met anderen.
’Perpetual Beta’
Een aspect van het programmable web betreft ook het verspreiden en beheren van nieuwe versies van softwarevoorzieningen. O’Reilly spreekt over het einde van de ‘Software Release Cycle’. Omdat de meeste Web 2.0-applicaties als services geleverd worden - SaaS! - en niet als een product in een doos, biedt dit andere perspectieven voor het leveren en onderhouden van de software. Er wordt daarbij niet langdurig gewerkt aan een product dat op een bepaald moment klaar is en dan verpakt en gedistribueerd wordt; zoals bij veel traditionele pc-software. Maar er wordt continu aan een product gewerkt en nieuwe versies (‘builds’) van het product worden zeer vaak als softwareservice ter beschikking gesteld. O’Reilly haalt de hoofdontwikkelaar van fotosite Flickr aan die vertelde dat er soms elk half uur wel een nieuwe versie van de Flickr site gelanceerd wordt. Vaak wordt in dat verband gesproken van een ‘Perpetual Beta’ stadium. Het product is nooit klaar en altijd in beweging. Het is duidelijk dat dit een andere projectstructuur en werkwijze van softwareontwikkeling vereist. Content & social web
Is Web 2.0 voor ontwikkelaars al heel interessant, het is nog veel mooier voor de consumenten. Dat zijn wij allemaal en het aantal deelnemers groeit elke dag. De technologische ontwikkelingen van de afgelopen jaren hebben daarbij flink geholpen. In vrijwel elk huis staan een of meer pc’s of laptops, elk individu heeft zijn eigen steeds ‘smarter’ wordende mobiele telefoon en er komen steeds nieuwe soorten devices bij zoals de Ultra Mobile PC (UMPC) die in 2006 gelanceerd werd. Steeds meer mensen met een internetverbinding beschikken over breedband- en draadloze verbindingen. Volgens Internetworldstats (www.internetworldstats.
com ) gebruiken in 2007 al meer dan 1 miljard mensen het internet en is de groei percentueel gezien het hardst bij de achtergebleven gebieden zoals Afrika (>600%) en het Midden-Oosten en Latijns-Amerika (beiden rond de 500%). Mensen zijn van nature zowel nieuwsgierige als sociale wezens. Dat betekent dat ze voortdurend op zoek zijn naar voor hen relevante informatie maar ook dat ze die informatie graag met elkaar willen delen en elkaar graag opzoeken: zowel fysiek als in toenemende mate ook virtueel. Vertaald in Web 2.0-termen zijn mensen op zoek naar content en social networking. De belangrijkste ontwikkeling die het web de afgelopen jaren heeft doorgemaakt voor de gebruikers is die van consumptieplatform naar participatieplatform. Gebruikers kunnen niet alleen informatie consumeren maar zelf ook informatie toevoegen. In die zin wordt Web 2.0 ook wel eens benoemd met ‘read/write’ of ‘participative’ web. De tagline van YouTube is “Broadcast Yourself” en volgens statistieken van juli 2006 werden er toen dagelijks 100 miljoen videoclips bekeken en 65 duizend nieuwe videoclips toegevoegd. Van de vele innovaties die er voor consumenten de afgelopen jaren zijn geweest, staat blogging waarschijnlijk wel bovenaan de lijst. Het is niet alleen een manier van een persoon om zijn of haar gedachten op een gemakkelijke manier te publiceren, maar ook een manier om op elkaar te reageren. Voor velen in de ‘blogosphere’ is bloggen een levensstijl geworden. Het gebruik van RSS-feeds maakt dat geïnteresseerde lezers zich op de gedachtespinsels van hun favoriete bloggers en/of onderwerpen kunnen abonneren en zo steeds geattendeerd worden op nieuwe blogs. Volgens Technorati waren er in mei 2007 ongeveer 71 miljoen verschillende blogs. >>
W E B
2 . 0
l
9 7
>>
Social networking sites zijn omgevingen waar mensen elkaar virtueel opzoeken op grond van hun interesses en waarbij ze content met elkaar delen en hun netwerk onderhouden. Vaak kunnen deelnemers er ook hun blog op neerzetten. De meest populaire social networking sites zijn MySpace met 190 miljoen gebruikers en Windows Live Spaces met 120 miljoen. Beide sites geven goed het netwerkeffect weer, namelijk dat een softwareservice waardevoller wordt naarmate er meer deelnemers zijn en dat meer deelnemers steeds weer nieuwe deelnemers doet toestromen. Social networking sites zijn een bijzondere vorm van social software. Andere vormen van social software zijn instant messaging zoals Windows Live Messenger en social bookmarking zoals del.ico. us of Digg en virtuele werelden zoals Second Life en World of Warcraft. Het voert te ver om al deze vormen te bespreken of zelfs maar te noemen. Wikipedia mag niet ontbreken in een bespreking van content en social web, al was het alleen maar omdat Wikipedia bij het schrijven van dit boek veelvuldig als een van de bronnen is geraadpleegd. Op 20 juli 2007 had deze webencyclopedie bijna 8 miljoen artikelen in ruim 250 talen. Wikipedia wordt onderhouden door vele duizenden vrijwilligers. Er is veel discussie over de kwaliteit en het redactieproces van Wikipedia. Die discussie is illustratief voor veel Web 2.0-discussies: er zit een hoog emotioneel en bijna religieus gehalte bij zowel de voorstanders als de tegenstanders. Voor wat betreft Wikipedia roemen de voorstanders
9 8
l
W E B
2 . 0
het kwaliteitsniveau en het feit dat iedere geïnteresseerde leek zijn bijdragen mag leveren. Het zelf regulerende proces van controleurs zou de fouten van leken er ‘automatisch’ uithalen. Een onderzoek van het tijdschrift Nature in december 2005 vergeleek 43 artikelen van Wikipedia met die van de Encyclopedia Brittanica en kwam tot de slotsom dat de EB maar iets beter scoorde. Een andere onderzoeker maakte bewust dertien fouten in verschillende artikelen van Wikipedia en merkte dat binnen een paar uur al die fouten hersteld waren. Tegenstanders vinden de kwaliteit vaak beneden de maat en gebruiken daarvoor citaten uit artikelen die vaak een onzinnige hoeveelheid details bevatten. Daarnaast vinden sommige tegenstanders dat het democratische gehalte sterk gereduceerd is, omdat sommige gevoelige artikelen niet meer anoniem geredigeerd mogen worden. Andere criticasters hekelen juist het anti-elitaire gedrag waarbij leken juist ruimte krijgen, maar erkende experts juist geweerd lijken te worden. Een groot aantal docenten aan scholen en universiteiten verbiedt de studenten Wikipedia als bron te gebruiken bij het schrijven van documenten. Maar ondanks alle controverse staat Wikipedia in juli 2007 in de top 10 van meest bezochte websites (www.alexa.com) . B u s i n e s s We b
Met al die innovaties en de inmiddels miljoenen Web 2.0-sites zou je haast vergeten dat er kosten zijn gemoeid met het opzetten en onderhouden van die sites. Voor de consument is het gebruik van Web 2.0-functionaliteit vrijwel altijd gratis. Waar komt
het geld vandaan en wordt er ook nog wat verdiend? De stormachtige ontwikkelingen rondom Web 2.0 hebben toch veel weg van het evolutieparadigma zoals dat in de eerdere hoofdstukken van die boek is beschreven: diversificatie, selectie en versterking. Maar een economische prikkel is daarbij vrijwel altijd de belangrijkste drijfveer. Hoe zit dat dan bij al die gratis functionaliteit van de Web 2.0softwarevoorzieningen? Online advertenties blijken vooralsnog de belangrijkste bron van inkomsten te zijn in de Web 2.0-wereld. Online adverteren leent zich goed voor het gericht en contextafhankelijk adverteren. Het pay per click (PPC) model wordt daarbij veel toegepast, primair bij zoekmachines zoals Google en Live search maar ook bij content sites zoals Flickr en YouTube. Bij PPC betaalt een adverteerder pas als er op zijn advertentie geklikt wordt en is het tonen van de advertentie contextafhankelijk. Wie bijvoorbeeld op Flickr.com zoekt naar ‘Carribean sunset’ foto’s krijgt behalve foto’s met die naam of dat label ook vakantiemogelijkheden in die contreien voorgeschoteld. Maar niet alle Web 2.0 wordt op deze manier gefinancierd en soms speelt financiering en de economische prikkel geen rol; althans niet in het begin. Bij social bookmarking site del.ico.us (http:// del.ico.us) ontbreekt vanaf de oprichting eind 2003 iedere vorm van reclame. Oprichter Joel Schachter programmeerde de site in zijn vrije tijd en betaalde zelf de hosting ervan. In een interview in december 2004 zei hij: “I probably could put ads on it to cover
the bandwidth costs. I’m not really trying to make a business, just have fun.” Joel verkocht del.ico.us op 9 december 2005 aan MySpace! voor ergens tussen de 15 en 30 miljoen dollar (bron: Wikipedia). Wat de motivatie ook is om een nieuwe Web 2.0-site of -service te starten, het is duidelijk dat de bijna oneindige mogelijkheden om content aan te bieden en mensen met elkaar samen te laten werken de creatieve entrepreneur zeer aanspreekt. Web 2.0 is ‘hot’, leidt tot veel innovatie en werkt helemaal volgens het eerder besproken evolutieparadigma. We b 2 . 0 i n d e E n t e r p r i s e ?
Web 2.0 prikkelt de creatieve entrepreneurs en is voor bepaalde bedrijven de hoofdbron van inkomsten zoals bij Google en MySpace. Maar vooralsnog richt Web 2.0 zich vooral op de consument, de individuele gebruiker, en niet op de grotere bedrijven. Vandaar ook dat advertenties de voornaamste bron van inkomsten zijn. Maar de enorme stroom aan innovaties die Web 2.0 heeft voortgebracht op het gebied van content maken en presenteren als ook het virtuele samenzijn kan ook binnen de context van de grotere onderneming zinvol zijn. Vooral in ondernemingen die kennisintensief zijn, kunnen Web 2.0-technieken en -oplossingen een uitkomst zijn vooral op het vlak van kennismanagement en virtuele samenwerking. Dit wordt gevangen onder de noemer Enterprise 2.0, wat dus betekent: het gebruik van Web 2.0technieken en -oplossingen binnen de context van de onderneming. Het volgende hoofdstuk gaat verder in op deze nieuwe ontwikkeling.
<<
W E B
2 . 0
l
9 9
SOA VERSUS WEB 2.0?
1 0 0
l
W E B
2 . 0
Er lijkt op het eerste gezicht een tweedeling te zijn in het service georiënteerde applicatielandschap. Aan de ene kant staat SOA - inclusief BPM, ESB en SOAP – dat wordt gedreven vanuit de traditionele software-industrie en zich richt op de enterprise. Betrouwbaarheid en zakelijkheid gaan hier voorop. Aan de andere kant staat Web 2.0 - inclusief Ajax, POX, REST en RSS – dat wordt gedreven vanuit een nieuwe generatie technische entrepreneurs en zich primair richt op de consument. Vernieuwing en speelsheid springen hierbij in het oog. Maar staan beide richtingen wel zo diametraal tegenover elkaar? Of kunnen ze van elkaar leren en naar elkaar toegroeien? Web 2.0 in de enterprise? En wellicht Web 2.0 als aanvulling op SOA?
W E B
2 . 0
l
1 0 1
>>
In de afgelopen hoofdstukken zijn beide richtingen aan bod gekomen en beide geven op eigen wijze invulling aan het gedachtegoed rond service oriëntatie. SOA is de meest zuivere vorm van service oriëntatie in de ICT. Het schept een ruimte met spelregels waarin softwareservices kunnen leven volgens de vier basisprincipes: duidelijk afgebakende services (1) die autonoom zijn (2), die alleen het hoogst noodzakelijke met elkaar delen om te kunnen samenwerken (3) en onderling afspraken hebben over de kwaliteit van die samenwerking (4). SOA is een fraai staaltje architectuur met de potentie om waarde toe te voegen, maar het is niet meer dan een middel. BPM maakt dat SOA in beweging komt en praktische waarde krijgt: het maken van wisselende combinaties van ‘loosely coupled’ services om businessprocessen optimaal te ondersteunen. BPM is zoals de naam al aangeeft uitsluitend gericht op de business: het gaat om de structuur en stroomlijning van de ‘harde’ werkprocessen binnen het bedrijf. En dus is de insteek ook heel zakelijk en gericht op maximale effectiviteit en efficiëntie. BPM probeert een einde te maken aan de logheid van de ‘enterprise applicatie’ door deze om te vormen van een onverzettelijke monoliet in een dynamisch en lenig organisme. ESB is de loodgieter in dit universum. ESB is wars van het schoonheidsideaal van SOA en zorgt gewoon dat het werk uitgevoerd wordt. Het houdt zich in principe aan de spelregels van SOA, maar als dat knelt wordt een pragmatische oplossing gezocht en gevonden. SOAP webservices wil wel het schoonheidsideaal van SOA bereiken en is daartoe in de afgelopen jaren ‘wijs’ geworden. Het bevat via de WS-* zo een beetje alle kennis die
1 0 2
l
S O A
V E R S U S
W E B
2 . 0 ?
de software-industrie de afgelopen 30 jaar heeft opgebouwd over de gedistribueerde verwerking: beveiliging, betrouwbaarheid, transactiegerichtheid, werkstromen en dergelijke. Maar met die wijsheid is ook de complexiteit ingetreden bij SOAP webservices. De complexiteit wordt weliswaar onder de motorkap gestopt bij de meer geavanceerde ontwikkelgereedschappen, maar veel ontwikkelaars roepen toch om vereenvoudiging. Web 2.0 is geen fraai staaltje architectuur, maar het heeft ook niet de intentie dat te zijn. Het wil de techniek van het bestaande en universele web zodanig oprekken dat alles mogelijk wordt. Waarom een nieuwe ruimte scheppen als er al een universele ruimte is met voldoende universele protocollen en talen – tcp/ip, http, HTML/XML, RSS, scripting – om daarbinnen softwareservices te ontwikkelen en ‘loosely’ aan elkaar te koppelen? Er mag best ‘gehacked’ worden in deze omgeving. Graag zelfs, als je maar deelt met anderen hoe je dat gedaan hebt. De focus ligt op vernieuwing, verandering en het laten meedoen van iedereen. Waar zakelijkheid overheerst bij SOA daar bruist Web 2.0 van energie. Web 2.0 is niet gericht op het optimaal stroomlijnen van de businessprocessen maar wel op het toevoegen van waarde aan de consument. De verschillen
Onderstaande figuur toont beide werelden en de mens die van beide gebruikt maakt. Die mens voelt dagelijks het verschil in zakelijk- en privégebruik van ICT. Als hij ’s ochtends op kantoor aanlogt komt hij in een heel andere ICT-wereld dan waar hij die avond en nacht ervoor vertoefde vanachter zijn pc thuis.
Links staat de wereld van SOA met BPM, ESB en SOAP. In deze wereld proberen technocraten orde te scheppen in de chaos die de afgelopen dertig jaar is ontstaan. Door de voortdurende technologische ontwikkelingen werden steeds weer nieuwe smaken van oplossingen ingevoerd. Het omvormen van dit historische landschap van ‘stovepipe’ applicaties naar een op SOA leest geschoeide constellatie van services is een gigantische operatie die zowel een goede visie als doorzettingsvermogen bij de realisatie ervan vereist; zelfs al kiest men voor de aanpak van ‘Think big, act small and incremental’ (hoofdstuk 6). En die operatie moet van bovenaf bestuurd worden door de beste ICT-professionals. Er staat teveel op het
spel. Falen is geen optie en dus is voorzichtigheid geboden. Het gaat immers om de ondersteuning van de belangrijkste businessprocessen en die ondersteuning is bedrijfskritisch. Vandaar dat betrouwbaarheid, beschikbaarheid en veiligheid voorop staan en dat men op zoek is naar ‘best practices’, bewezen ‘design patterns’ en zorgvuldig ontworpen ‘composite’ applicaties. Al deze ‘ernstige’ aspecten klinken door in de resultaten: een tikkeltje saai wellicht en niet ‘het nieuwste van het nieuwste’, maar degelijk, betrouwbaar, efficiënt en altijd beschikbaar. Dit is de wereld die de meeste informatiewerkers tegenkomen als ze zich op kantoor bevinden en hun dagelijkse werk uitvoeren.
>>
SOA versus Web 2.0
S O A
V E R S U S
W E B
2 . 0 ?
l
1 0 3
>>
Maar ’s avonds en in het weekend komt de informatiewerker thuis met zijn eigen pc in een heel andere ICT-wereld terecht. Daar ontmoet hij zijn ‘peers’ en deelt met hen informatie over onderwerpen die hem aanspreken. Hij vindt niet alleen waardevolle informatie, maar kan op die informatie ook reageren en nieuwe informatie toevoegen. Hij kan met anderen in contact komen door met ze te e-mailen, te chatten, te bloggen, te ‘skypen’, door video’s te bekijken en met een eigen video te antwoorden. Er is heel veel mogelijk en er valt elke dag wel iets nieuws te beleven. Soms is een bepaalde service ook zomaar weg, opeens verdwenen. En het lijkt wel of de favoriete sites elke dag in een ander jasje gestoken worden; het zijn ‘perpetual betas’ en het werk is nooit af. Het is een vernieuwende, verfrissende wereld waarin veel geëxperimenteerd wordt. Best practices zijn oubollig; men doet liever aan ‘next practices’ en falen mag; zolang je maar nieuwe dingen blijft proberen. De consument kan zijn eigen beleving van die ICT-wereld samenstellen door een persoonlijke startpagina te maken die een ‘Mashup’ is van alle softwareservices waarin hij geïnteresseerd is. En hij kan die ‘Mashup’ op elk moment aanpassen of gewoon opnieuw aanmaken. Enterprise 2.0
Die consument is overdag op kantoor weer de bedrijfsmedewerker en vraagt zich af: waarom kunnen al die geweldige manieren van informatie delen en virtueel samenwerken niet in mijn werkomgeving plaatsvinden? Zou dat mijn collega’s en mij niet veel productiever maken? In het voorjaar van 2006 publiceerde het gerenommeerde MIT Sloan Management Review een artikel van Professor Andrew McAfee met de titel: “Enterprise 2.0: The dawn of emergent collaboration” (McAfee, 2006). McAfee stelt dat we met wiki’s, blogs, group-messaging en dergelijke eindelijk de
1 0 4
l
S O A
V E R S U S
W E B
2 . 0 ?
technologie te pakken hebben om het statische corporate intranet om te vormen in een dynamisch ‘collaborative’ platform dat opgebouwd en ingevuld wordt door de medewerkers zelf. Hij pleit voor het toepassen van Web 2.0-methodes en -technieken binnen de muren van het bedrijf en noemt dat ‘Enterprise 2.0’. Daarmee stapt Web 2.0 de enterprise binnen en brengt verandering in de manier van kennismanagement en van samenwerken. De structuur van een corporate intranet wordt topdown ingericht en is veelal statisch. Er wordt gebruik gemaakt van een vooraf gedefinieerde taxonomie om het intranet te navigeren en doorzoeken. Medewerkers kunnen zelf niet of nauwelijks informatie toevoegen aan dat intranet. Er is meestal een formeel content management proces. Dus zoeken de informatiewerkers liever hun toevlucht tot e-mail om hun kennis te delen of hun informatievragen te stellen. Het schrijven van een e-mail is immers zo gedaan en er zijn genoeg distributielijsten waarop men zich kan inschrijven. E-mail is bij veel bedrijven de primaire vorm van virtuele samenwerking en kennisuitwisseling. Maar het is niet erg effectief en efficiënt als kennis- of samenwerkingsinstrument. Veel gebruikers van email voelen zich overweldigd door het grote aantal mails dat ze krijgen en kunnen hun dag vullen met het wegwerken van mail. E-mail is de voornaamste veroorzaker van het gevoel van ‘information overload’ bij informatiewerkers. Daarnaast lekt de kennis weg zodra de mails verwijderd worden. Het toepassen van Web 2.0-technieken biedt een uitkomst omdat het veel dynamischer is dan de bestaande systemen voor kennismanagement en content management. Web 2.0 is juist helemaal gericht op het vereenvoudigen van de participatie van en communicatie tussen gebruikers (zie hoofdstuk 9). De kennis wordt ‘bottom-up’
gecreëerd en beheerd door de ad hoc samenwerking tussen de producenten en consumenten van die kennis. Taxonomie wordt ‘Folksonomy’ omdat gebruikers zelf de taxonomie samenstellen; door aan te geven welke ‘tags’ horen bij een bepaald stuk informatie. Een aantal bedrijven experimenteert al met Web 2.0 binnen de muren van het bedrijf. Ze komen tot de conclusie dat het ter beschikking stellen van Web 2.0-technologie alleen niet voldoende is. Er moet een Web 2.0-cultuur gekweekt worden in het bedrijf. McAfee constateerde dat de corporate wiki’s pas een succes werden toen de CEO van het onderzochte bedrijf aangaf over bepaalde onderwerpen zoals vergaderingen – agenda’s, verslagen - geen e-mails meer te lezen, maar uitsluitend nog wiki’s te gebruiken.
S OA e n We b 2 . 0
Als Web 2.0 het bedrijf binnenstapt dan wordt de afstand tussen SOA en Web 2.0 onherroepelijk verkleind. Beide zullen kenmerken van elkaar gaan overnemen maar ook elkaar aanvullen. We krijgen dan de situatie van de onderstaande figuur die op twee manieren gelezen kan worden. De ene manier is dat SOA en Web 2.0 inderdaad voor een deel elkaars kenmerken gaan overnemen wat tot hybride vormen gaat leiden. Er komt wat meer zakelijkheid, betrouwbaarheid en beschikbaarheid in de Web 2.0-toepassingen in de enterprise. Zo zullen Web 2.0-softwareservices in de enterprise niet elke dag in een nieuw jasje gestoken worden of zomaar opeens verdwenen zijn. Er komen vast meer gedragsregels voor het gebruik. Wellicht dat niet iedereen alle wiki’s mag
>>
SOA en Web 2.0
S O A
V E R S U S
W E B
2 . 0 ?
l
1 0 5
>>
wijzigen; dat bepaalde afdelingen wijzigrechten op bepaalde wiki’s krijgen en de rest alleen mag lezen. Corporate bloggers worden wellicht wat nauwlettender in de gaten gehouden als ze zich kritisch uitlaten over het eigen bedrijf. Maar teveel sturing en controle van bovenaf zal het Enterprise 2.0-initiatief doodslaan. De SOA-initiatieven zullen wellicht wat meer overnemen van de mogelijkheden tot Rich Internet Applications (RIA) en Ajax-programmeerstijlen. En niet in alle gevallen zal SOAP noodzakelijk zijn, maar kan en mag men ook POX, REST of RSS gebruiken om de wat eenvoudiger en minder bedrijfskritische services aan elkaar te koppelen. Een andere manier waarop SOA en Web 2.0 binnen de enterprise naar elkaar kunnen toegroeien, is het toepassen van beide technieken in bepaalde end to end business scenario’s. SOA en BPM zijn krachtig
Formeel en informeel business process
1 0 6
l
S O A
V E R S U S
W E B
2 . 0 ?
in het stroomlijnen van ‘harde’ businessprocessen met maximale automatisering van de stappen uit die businessprocessen. Maar niet alle onderdelen van businessprocessen worden effectiever door rigoureuze stroomlijning en automatisering. Wat te denken van het volgende voorbeeld? Een system integrator wordt uitgenodigd om een aantal architecten in te schrijven voor een training van een softwareleverancier. Deelname aan die training kost de system integrator een paar duizend euro per ingeschreven architect en kost de architect ongeveer 10 dagen inclusief een vijfdaagse trip naar het hoofdkantoor van de softwareleverancier. De system integrator heeft een businessproces gedefinieerd voor de ‘inkoop’ van trainingen voor medewerkers. Dat proces bestaat uit een aantal stappen, waarin diverse informatiesystemen betrokken worden. Daarin wordt onder meer
gekeken of de architect al niet een vergelijkbare training heeft gevolgd en of er voor de architect nog wel opleidingsbudget beschikbaar is. Uiteindelijk genereert het inkoopsysteem een inkoopnummer en stuurt de inkooporder naar de softwareleverancier met het verzoek bij de facturering het inkoopnummer te vermelden. Dit businessproces kan prima met SOA, BPM en ESB worden ingevuld. Maar hoe zit het met het informele overleg om te bepalen hoeveel en welke architecten af te vaardigen naar die training? Hoe wordt aan de architect gevraagd of die wil meedoen? Worden er discussies gehouden over wie het meest geschikt is? Waar kan de architect informatie over de training vinden en eventueel de bevindingen van collega’s die de training al gevolgd hebben? Al deze zaken maken geen deel uit van het formele businessproces, maar wel van het feitelijke proces. Met de toevoeging van onder meer Web 2.0-technieken kan het formele businessproces worden uitgebreid met meer ongestructureerde onderdelen en daardoor de werkelijkheid dichter benaderen. Consumerization van de ICT
Het succes van Web 2.0 in de consumentenwereld legt ook druk op de handelswijze van de corporate ICT-organisatie. De groeiende stroom van goedkope, mobiele internet devices zoals smartphones, pda’s en umpc’s gekoppeld aan het feit dat breedbandinternet vrijwel overal beschikbaar is en goedkoper wordt, zorgt dat steeds meer consumenten dit soort apparaten aanschaffen en overal gebruiken; ook op het werk als het aan hen ligt. Corporate ICT kan daar op verschillende manieren op reageren. Er kan defensief gereageerd worden door alle niet corporate ICT-middelen gewoon te verbieden. Veel organisaties nemen deze houding nu nog aan. Maar die is niet lang vol te houden als de druk vanuit de gebruikers groeit en corporate ICT steeds meer besef krijgt van het feit dat ze primair een ondersteunende en geen voorschrijvende taak heeft.
Een groeiend aantal ICT-organisaties neemt een andere houding aan en maakt van de nood een deugd. Zij nodigen gebruikers juist uit om bepaalde ICT-voorzieningen niet bij corporate ICT maar direct van het internet af te nemen. Dit kan leiden tot enorme kostenbesparingen bij de ICT en geeft tegelijk de gebruikers het gevoel dat zij meer controle over hun eigen ICT-middelen krijgen. Voorbeelden van generieke softwareservices die men gemakkelijk en meestal gratis van het internet kan afnemen zijn e-mail, instant messaging, virus scanning en backup & restore services. Sommige bedrijven zijn ertoe overgegaan hun medewerkers een budget te geven en ze zelf hun eigen ICT-middelen te laten aanschaffen en beheren. Corporate ICT beheert dan alleen nog de centrale bedrijfsapplicaties waar de gebruiker via zijn browser op een veilige manier toegang toe krijgt. Het interne bedrijfsnetwerk houdt op te bestaan en iedere medewerker leeft in het publieke internet. Conclusie
Hoewel SOA en Web 2.0 op het eerste gezicht diametraal tegenover elkaar lijken te staan in de toepassing van service oriëntatie in de ICT, blijken zij beide naar elkaar toe te groeien en elkaar ook aan te vullen. Het toepassen van Web 2.0 in de enterprise begint hier en daar al de kop op te steken, maar het zal nog wel even duren voordat dit gemeengoed wordt. De ‘consumerization’ van de ICT verhoogt de druk op corporate ICT om vaart te maken met de liberalisering van het bijna dictatoriale ICT-regime. Het uitbreiden van formele businessprocessen met informele samenwerking en informatievoorziening is een stap die pas daarna zal kunnen volgen. De ontwikkeling van service oriëntatie in de ICT-applicaties staat voorlopig in elk geval niet stil.
<<
S O A
V E R S U S
W E B
2 . 0 ?
l
1 0 7
MICROSOF TS VISIE, MISSIE
1 0 8
l
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
Bij service oriëntatie in de ICT gaat het vooral om de architectuur en implementatie van softwarevoorzieningen. Microsoft is de grootste softwareleverancier ter wereld en biedt een breed spectrum aan oplossingen en platforms. Klanten en partners gebruiken de kant-en-klare oplossingen van Microsoft, maar bouwen ook hun eigen softwarevoorzieningen op de platforms
EN STRATEGIE van Microsoft. Zo heeft Microsoft in de afgelopen 30 jaar een ecosysteem opgebouwd waar tienduizenden bedrijven in deelnemen.
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
l
1 0 9
>>
Een goede visie, missie en strategie ten aanzien van software en service oriëntatie is niet alleen belangrijk voor het voortbestaan van Microsoft zelf maar voor het hele ecosysteem. Dit hoofdstuk bespreekt de voornaamste strategieën rondom service oriëntatie in de softwarevoorzieningen en geeft met name aandacht aan de door Microsoft benoemde ‘Software Plus Services’ visie, missie en strategie. In hoofdstuk drie werd beschreven dat een bedrijf een visie, een missie en vaak meerdere strategieën heeft. De visie is de blik van het bedrijf op (een relevant stukje van) de wereld en wat dat bedrijf met zijn producten of diensten in die wereld kan betekenen. De missie is vervolgens dat wat het bedrijf wil bewerkstelligen in die wereld. De strategieën vormen het langetermijnbeleid om die missie uit te voeren. Microsoft heeft in zijn ruim dertigjarig bestaan meerdere visies en missies gehad die allemaal betrekking op software hebben. Legendarisch zijn de visies van Bill Gates met betrekking tot de universele doorbraak van de pc: “op elk bureau en in elk huis een pc” (begin tachtiger jaren) en de universele beschikbaarheid van informatie: “information at your fingertips” (1990). Wat minder bekend is de platformgedachte die ook achter deze visies zat. Microsoft ziet een platform als een softwareomgeving die plaats biedt aan een ecosysteem van partners die daaronder (de hardware), daarnaast (zoals perifere apparaten zoals printers, scanners en modems) en daarboven (softwarevoorzieningen maar ook diensten zoals adviseren, ontwerpen, installeren en beheren) waarde toevoegen. Het eerste product waarmee Microsoft op de markt kwam, was een Basic interpreter waarmee softwareontwikkelaars applicaties konden schrijven voor de Altair 8800 machine. Deze platformgedachte is tot op de dag
1 1 0
l
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
van vandaag essentieel in alles wat Microsoft doet; of dat nu gaat over het platform van de traditionele pc, de server, de mediacenter, de Xbox of de softwareservices. Microsoft heeft daarnaast door de businessstrategie van ‘hoge volumes, lage prijzen’ softwareoplossingen financieel bereikbaar gemaakt voor grote groepen, zowel in de zakelijke- als in de consumentenmarkt. Deze visies en strategieën, de altijd aanwezige passie voor software en een sterke businessmentaliteit hebben Microsoft tot het grootste softwarebedrijf ter wereld gemaakt. Beweeglijkheid en doorzettingsvermogen
Opvallende eigenschappen van Microsoft zijn haar beweeglijkheid en doorzettingsvermogen. Microsoft heeft in haar historie meerdere malen rigoureuze koerswijzigingen ondernomen. Dat gebeurde op momenten dat anderen of dachten dat die nieuwe koers onzinnig was of juist dat die koerswijziging veel te laat werd ingezet. Een voorbeeld van het eerste was het strategisch inzetten op de grafische gebruikersinterface in het midden van de jaren tachtig toen de concurrentie (zoals Lotus, Wordperfect) dat nog helemaal niet zag zitten. Een voorbeeld van het tweede was het strategisch inzetten op het internet in het midden van de jaren negentig, waarvan de concurrentie (zoals Netscape) dacht dat die stap veel te laat kwam. Microsoft heeft zich in de loop der jaren ontwikkeld van een ‘desktopbedrijf’ tot een meer compleet ‘enterprise-bedrijf’ zonder daarbij de consument uit het oog te verliezen. De eerste 15 jaar van haar bestaan richtte Microsoft zich vrijwel uitsluitend op softwarevoorzieningen voor de pc. Vanaf de jaren negentig kwam er met Windows NT ook aandacht voor de server en de verbinding tussen pc en
server. De eerste versies van Windows NT en (semi)oplossingen daarvoor zoals SQL Server waren niet altijd even ‘enterprise ready’. Forse kritiek daarop van buitenaf leidde bij Microsoft nooit tot wanhoop, maar zorgde juist voor het voortdurend verbeteren van hun producten. Anno 2007 zijn vriend en vijand ervan overtuigd dat de Microsoft propositie voor de enterprise wel volkomen ‘enterprise ready’ is. Vanaf 1995 is Microsoft ook een webbedrijf geworden. De website MSN staat al jaren in de top-3 van meest bezochte sites. De e-mailservice Hotmail (nu: Windows Live Hotmail) en chatservice MSN Messenger (nu: Windows Live Messenger) zijn de populairste in hun categorie met honderden miljoenen actieve gebruikers.
webbedrijf van nu af aan ook een advertentiebedrijf en een devices-bedrijf zal zijn; met name om zich een leiderspositie te verwerven in de sterk groeiende softwareservicesmarkt. Deze nieuwe visie, missie en strategie van Microsoft wordt ‘Software Plus Services’ genoemd en wordt in dit hoofdstuk verderop uitgebreid beschreven. De ‘Software Plus Services’ visie, missie en strategie valt echter binnen een breder kader; en dat komt nu eerst aan bod. Daaruit blijkt al wel dat Microsoft niet onvoorbereid het softwareservicestijdperk ingaat. Huidige missie en strategie
Het huidige officiële missiestatement van Microsoft is “to enable people and businesses throughout the world to realize their full potential”. Microsoft draagt daaraan bij door het ontwikkelen en leveren van geavanceerde softwaretechnologie voor zowel de Anno 2007 staat Microsoft voor nieuwe uitdagingen consument als het bedrijfsleven. Microsoft heeft een en daarbij lijkt de geschiedenis zich te herhalen. aantal strategische initiatieven gelanceerd die het Veel sceptici stellen dat Microsoft niet mee zal bedrijf op koers houden voor wat betreft deze missie. kunnen komen in het softwareservicestijdperk Die strategieën hebben een reikwijdte van ongeveer omdat het teveel afhankelijk is van de inkomsten 10 jaar en adresseren steeds een belangrijk gebied uit softwarelicenties en het de koers daarbij niet binnen (de toepassing van) ICT-voorzieningen. opnieuw rigoureus kan wijzigen. Die boodschap Voorbeelden zijn: is bepaald niet ongemerkt voorbijgegaan binnen Trustworthy Computing uit 2002 op het vlak van Microsoft. Deze ‘services disruption’ en de de beveiliging, de privacy en de betrouwbaarheid gelijknamige memo uit oktober 2005 van de toen van het gebruik van ICT-middelen; net aangetreden Chief Technology Officer, Ray Dynamic Systems Initiative in 2003 op het vlak Ozzie, heeft een schokgolf door het bedrijf gestuurd. van een eenvoudiger en automatischer beheer Het zou arrogant zijn om te stellen dat Microsoft van softwarevoorzieningen; zoals zo vaak ook op deze uitdaging wel weer het New World of Work/People Ready Business passende antwoord zal vinden, maar een feit is in 2005 en 2006 op het vlak van het dat het bedrijf zich zeer bewust is van de dreiging verbeteren van de softwarevoorzieningen voor – en de kans! – die de softwareservicesmarkt informatiewerkers. biedt. CEO Steve Ballmer heeft onlangs op de jaarlijkse Financial Analyst Meeting (FAM, De strategische initiatieven die het meest relevant 2007) aangegeven dat Microsoft behalve een zijn voor het onderwerp van dit boek stammen uit desktopbedrijf, een enterprise-bedrijf en een respectievelijk 1999 en 2005. >>
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
l
1 1 1
>>
We b s e r v i c e s - s t r a t e g i e
Microsoft maakte zijn webservices-strategie publiek in 1999 toen CEO Steve Ballmer voor het eerst sprak over ‘software as a service’. Bijna een jaar later presenteerde Microsoft de .NET-strategie en technologie. Daarbij deed Microsoft een ‘big bet’ op webservices en het beloofde daarbij al haar softwaretechnologie geschikt te maken voor webservices. In eerste instantie door de bestaande softwaretechnologie via ‘wrapping’ voor webservices geschikt te maken, om het in latere releases tot in de kern van de producten door te voeren zodat het ‘native’ webservices zou ondersteunen. Die keuze was indertijd behoorlijk gewaagd omdat toen niemand zeker wist of webservices een succes zouden worden. Het .NET Framework uit 2002 was helemaal opgebouwd rondom XML en webservices. Microsoft maakte zich ook sterk in de gemeenschap om aan het webservices-initiatief te trekken. In 2001 startte Microsoft de samenwerking met IBM om de nog wat sobere webservices-specificaties uit te breiden tot een veilige, betrouwbare en transactiegerichte webservices-architectuur. In 2002 richtte Microsoft samen met IBM, BEA en Intel de WS-I op. WS-I ziet erop toe dat de verschillende leveranciersimplementaties van webservices conform de specificaties zijn zodat deze implementaties ook echt met elkaar samenwerken (zie hoofdstuk 8). Anno 2007 zijn webservices bij Microsoft daadwerkelijk tot in de kern van alle softwaretechnologie doorgedrongen. De .NET-strategie omvatte indertijd ook al een softwareservices-strategie die de codenaam ‘Hailstorm services’ droeg. Tijdens de annoncering ervan op 19 maart 2001 werd Hailstorm als volgt omschreven: “HailStorm is a new breed of platform, consisting of a set of XML-based Web services and an underlying services architecture. The HailStorm
1 1 2
l
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
services are oriented around the individual and allow developers, with the user’s consent, to access for example an individual’s calendar, contact information or documents, from any application, device or service connected to the Internet”. Deze services zouden beschikbaar zijn en over het internet en draaien op een infrastructuur gehost door Microsoft zelf of haar partners. Ontwikkelaars konden de Hailstorm services gebruiken in de toepassingen die zij ontwikkelden voor consumenten en zakelijke gebruikers. Om verschillende redenen heeft Hailstorm het niet gered. Voor een deel liepen deze visie en strategie te ver voor de muziek uit. Webservices werden in het begin vooral binnen de enterprise toegepast en niet op het publieke internet. Daarnaast waren breedband- en draadloze netwerktechnologie nog maar net beschikbaar en vrij onbekend bij het grote publiek. Ook commercieel en qua marketing bleek Hailstorm - op dat moment - niet waar het publiek op zat te wachten. Eind 2002 werd het project min of meer de nek omgedraaid. Maar de visie, kennis en expertise bleven bewaard binnen Microsoft. Services Disruption
Op 28 oktober 2005 schreef Ray Ozzie zijn memo ‘Services Disruption’; een oorspronkelijk interne memo die echter uitgelekt is op het internet (o.a. ZDNet, 2005). Ozzie was eerder dat jaar bij Microsoft in dienst getreden en kreeg direct de functie van Chief Technology Officer. Een jaar later werd hij Chief Software Architect en daarin de opvolger van Bill Gates. De memo beschrijft het veranderende ICTlandschap met de kansen en de bedreigingen voor Microsoft. De steeds goedkoper wordende computertechnologie en de inmiddels overal
aanwezige breedband- en draadloze netwerken veranderen de manier waarop mensen omgaan met technologie. De consument wordt door alle Web 2.0-ontwikkelingen (zie hoofdstuk 9) steeds meer gedreven in de richting van services en ‘service-enabled’ software. Ook bedrijven kijken steeds meer uit naar servicegebaseerde oplossingen die de kosten van de eigen ICT-infrastructuur verlagen en die veel sneller kunnen worden geïmplementeerd in het bedrijf. Een nieuw businessmodel is aan het ontstaan in de vorm van advertentiegedreven services en software die grote invloed hebben op hoe softwareontwikkelaars hun softwarevoorzieningen bouwen, uitleveren en er inkomsten uit genereren. Het klassieke softwarelicentie businessmodel zal op zijn minst aangevuld moeten worden met dit nieuwe model. Niemand weet nog hoe dit zich precies gaat ontwikkelen, maar als bedrijf moet Microsoft snel en gedecideerd hierop inspelen. Vervolgens geeft Ozzie een beeld vanwaar Microsoft op dat moment staat. Hij begint ermee dat de Microsoft-producten het internet en de internetstandaards hebben omarmd en dat .NET het meest populaire ontwikkelplatform is. Tegelijkertijd heeft Microsoft volgens Ozzie onvoldoende uit zijn eigen potentieel gehaald en had het marktleider kunnen en zelfs moeten zijn op technologieën als Ajax, RSS, VOIP en standaard documentformaten. Ook heeft Microsoft de enorme potentie van zoekfunctionaliteit onderschat alsook het toenemende gebruik van e-mail op mobiele devices. Op al deze gebieden had Microsoft een technologievoorsprong, maar hebben anderen – vaak nieuwkomers – de leiding genomen. Dagelijks komen er nieuwe starters bij die steeds weer nieuwe services verzinnen die aanslaan bij het grote publiek zoals YouTube en Flickr. Al die startende
bedrijven zouden enorm geholpen zijn met een servicesplatform waarop zij hun softwareservices veel sneller kunnen ontwikkelen en implementeren. Het bieden van zo’n platform zit in de genen van Microsoft, maar Microsoft heeft nagelaten daarin te investeren. Ozzie gaat ten slotte in op de mogelijkheden van Microsoft en geeft aan dat het bedrijf uniek gepositioneerd is om ‘naadloze ervaringen’ (‘seamless experiences’) te bieden aan al haar klanten die bestaan uit services (uit de ‘cloud’) en service-enhanced software (op de lokale machines). Deze memo vormde de start van Microsofts ‘Software Plus Services’ strategie. Software Plus Services
De Software Plus Services (S+S) strategie is medio 2007 gelanceerd en rust op twee pijlers. De ene pijler bestaat uit software, of liever gezegd uit ‘onpremise’ software, dat is software die draait binnen het domein van de gebruiker. De andere pijler is uit de ‘cloud’ af te nemen services met andere woorden software die niet draait in het domein van de gebruiker maar wel door die gebruiker wordt gebruikt. Complete softwarevoorzieningen zullen vaak bestaan uit een combinatie van Software Plus Services. Microsoft is het bedrijf dat het best toegerust is om aan deze S+S strategie invulling te geven, omdat het als enige een bewezen historie heeft zowel op het gebied van het ontwikkelen en verkopen van software - zoals Windows, Office, Exchange of Sharepoint - als op het gebied van het ontwikkelen en implementeren van softwareservices – zoals MSN en Windows Live Hotmail – als op het gebied van het ontwikkelen, verkopen en implementeren van ‘service-enabled’ software - zoals Windows Live Messenger en Xbox Live. >>
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
l
1 1 3
>>
en persoon. Het is het afwegen van de voor- en nadelen van software versus services. ‘On-premise’ software geeft de gebruiker meer controle, meer flexibiliteit en betere integratie met andere softwarevoorzieningen; ‘cloud’ services zijn in de regel sneller te realiseren, goedkoper in het gebruik en vergen minder beheer.
Het woord ‘domein’ van hierboven verdient wellicht enige verduidelijking. Voor de individuele gebruiker bestaat dat domein uit zijn pc, notebook, smartphone of welk device dan ook waarmee hij zijn elektronische handelingen doet. Er zal op die devices altijd software geïnstalleerd worden: minimaal een besturingssysteem, maar in de regel ook andere toepassingssoftware waarvan de gebruiker vindt dat die altijd beschikbaar moet zijn en die hij volledig kan controleren. Voor het bedrijf betekent het domein de eigen ICTinfrastructuur. De ‘on-premise’ software daar is al die software die de ICT-organisatie in zijn eigen domein installeert en beheert. Dat kunnen dus ook webservices zijn die draaien in een SOA die opgezet en onderhouden wordt binnen de muren van het bedrijf. Er zal bij de meeste bedrijven altijd een behoefte zijn om bepaalde software in eigen beheer te hebben zodat het daarover maximaal de eigen controle behoudt. Welke software dat is, verschilt per organisatie en ook in de loop van de tijd. Er is onmiskenbaar en onomkeerbaar een tendens om softwarevoorzieningen niet zelf te beheren maar uit de ‘cloud’ af te nemen. Die tendens en dat tijdpad verschillen echter per bedrijf
1 1 4
l
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
Daarom zullen bepaalde oplossingen zowel beschikbaar komen als ‘onpremise’ software met softwarelicenties als uit de ‘cloud’ beschikbare softwareservices. Een voorbeeld daarvan is Microsoft Dynamics CRM. Een bedrijf kan op drie manieren deze CRM-functionaliteit tot zich nemen. Allereerst op de klassieke manier namelijk als ‘on-premise’ software via een softwarelicentieovereenkomst met Microsoft. Een tweede manier is om Microsoft Dynamics CRM als service af te nemen bij een van Microsofts vele partners die aan CRM hun eigen functionaliteit toevoegen. De derde mogelijkheid is om CRM bij Microsoft zelf af te nemen: Microsoft Dynamics Live CRM (zie www.crmlive.net). Microsoft zal veel van zijn software in de loop der tijd op deze manieren gaan aanbieden, waarbij de klant de keuze krijgt uit verschillende opties. Behalve het bieden van keuzemogelijkheden zal Microsoft vrijwel al zijn software ‘service-enabled’ maken, dat wil zeggen ‘on-premise’ software aangevuld met ‘cloud’ services. Microsoft noemt dit hybride applicaties. Microsoft heeft al veel ervaring met dit hybride model zoals Windows Live Messenger en Windows Update. Windows Update is een kleine applicatie in de Windows ‘control panel’ die geconfigureerd kan worden om op gezette tijden automatisch updates op
het besturingssysteem en Office-toepassingen uit te voeren op het systeem. Ook voor de serverproducten van Microsoft bestaan vormen van ‘service-enabled’ software. Een voorbeeld daarvan is Exchange Hosted Services, een set van optionele services die Microsoft levert aan bedrijven die Exchange gebruiken zoals spam filters, archivering van oudere e-mails, uitwijkfunctionaliteit en encryptie van e-mails. Met alle aandacht voor de services zou bijna vergeten worden dat Microsoft ook gewoon
doorwerkt aan zijn ‘on-premise’ softwareportfolio. De figuur hieronder geeft de vlaggenschipproducten van het enterprise softwareplatform aan. In november 2006 zijn nieuwe versies van Windows en Office gelanceerd. Voor februari 2008 staan op de rol nieuwe versies van Windows Server, SQL Server en Visual Studio. Ook voor de langere termijn zijn productvernieuwingen aangekondigd. Voor bijna al deze nieuwe softwareversies geldt dat ze in toenemende mate ook uit de ‘cloud’ kunnen worden afgenomen.
Microsoft Enterprise Softwareplatform
>>
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
l
1 1 5
>>
Online Adverteren
Een belangrijk onderdeel van de S+S strategie is dat Microsoft zich meer en meer begeeft op het terrein van online adverteren. In de woorden van Steve Ballmer: we worden een online advertentiebedrijf. Het online adverteren is een nieuw businessmodel voor softwareontwikkelaars om hun inkomsten mee te verdienen; ook voor Microsoft. Maar in plaats van alleen advertentieruimte ter beschikking te stellen binnen de ontwikkelde softwareservices, is het ook mogelijk om in de ‘driver seat’ te gaan zitten en zelf online advertentiemakelaar te worden. En precies dat is Microsoft aan het doen. Recente overnames zoals Massive Inc. (mei 2006), aQuantive (mei 2007) en AdECN (juli 2007) tonen aan dat Microsoft een toonaangevende speler aan het worden is op het vlak van de online advertentiebusiness. Niet alleen wordt het aandeel van online adverteren in de totale advertentieinkomsten steeds groter, de manieren waarop geadverteerd wordt, breiden zich steeds uit. Zo ontwikkelt zich een nieuwe markt op het dynamische ‘in-game’ adverteren. Volgens recente onderzoeken zal in die markt in 2012 ongeveer 800 miljoen dollar omgaan (tegen 55 miljoen dollar in 2006). Massive Inc, is een Microsoft bedrijf dat door zijn netwerk - Massive Network - spelontwikkelaars, uitgevers, adverteerders en gamers samenbrengt. Electronic Arts (EA) heeft een contract getekend om diverse spellen met dynamische ‘in-game’ advertenties te publiceren voor Xbox 360 en de pc. Ook op het vlak van dit online adverteren heeft Microsoft een advertentieplatform ontwikkeld waarvan niet alleen Microsoft zelf maar ook haar partners gebruik kunnen maken. Dit adCenterplatform veilt advertentieruimte aan de hoogst biedende adverteerders met de meest gebruikte
1 1 6
l
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
advertenties, dat wil zeggen met de hoogste ‘click through rate’. Bekende softwareservicepartners die een contract hebben getekend met Microsoft adCenter zijn Facebook, een populaire social networking site met 30 miljoen leden, en Digg, een social bookmarking site. Het adCenter-platform maakt onderdeel uit van het hierna te bespreken servicesplatform. Servicesplatform
Ruim anderhalf jaar na zijn ‘Services Disruption’ memo presenteerde Ray Ozzie in juli 2007 op de Financial Anaylst Meeting (FAM, 2007) het lang verwachte servicesplatform. Dat platform moet in de 12-18 maanden na juli 2007 compleet vorm gaan krijgen. Precies zoals men dat in Web 2.0-tijdperk gewend is, zal het platform in brokjes functionaliteit verschijnen en steeds verder uitgebouwd gaan worden in plaats van een ‘big bang’ scenario zoals men dat bij ‘on-premise’ software gewoon is. Een groot aantal functionaliteiten is al beschikbaar en wordt gebruikt door de softwareservices die Microsoft zelf biedt zoals Windows Live, Office Live, Dynamics Live CRM en Xbox Live. Microsoft is zelf de eerste (test)gebruiker van dit servicesplatform. Het eerst zelf gebruiken wat later aan de markt wordt aangeboden behoort ook tot de basisstrategieën van Microsoft; binnen Microsoft wordt dat ‘eat your own dogfood’ genoemd. Wat de vanaf juli 2007 gerekend in ongeveer 18 maanden moet gebeuren is dat de verschillende lagen van het servicesplatform extern voor partners en klanten beschikbaar komen. Microsoft zal API’s naar dat servicesplatform ter beschikking stellen aan externe ontwikkelaars zoals het met de Win32 API’s de Windows functionaliteit ter beschikking stelde en later met de .NET API’s het ‘managed’
Microsoft Services Platform voor Microsoft services
.NET Framework openstelde. In de lijn met wat externe ontwikkelaars van Microsoft gewend zijn, zullen die Service API’s ook ondersteund worden door en binnen ontwikkelgereedschappen; naar alle waarschijnlijkheid extensies op Visual Studio. Het servicesplatform bestaat uit vier lagen. De onderste laag betreft de Global Foundation Services en bestaat uit gigantische datacenters die Microsoft aan het bouwen is op diverse plaatsen in de wereld. Het gaat om de fysieke eenheden zoals ruimtes, computers, opslagcapaciteit en bandbreedte. Een van de plaatsen is het dorpje Quincy, Washington met krap zesduizend inwoners. Microsoft bouwt daar een datacenter van enorme omvang vooral omdat de energie betrokken wordt van de nabijgelegen dammen in de Columbia rivier die zowel ‘groene’ energie leveren als het datacenter minder afhankelijk maken van de algemene stroomvoorziening. Waar deze data center capaciteit nu nog vrijwel
helemaal ter beschikking van Microsoft zelf staat, is het de bedoeling om die capaciteit ook ter beschikking te stellen aan partners – ontwikkelaars – en op termijn ook aan bedrijven die hun applicaties extern willen laten hosten. De volgende laag is die van Cloud Infrastructure Services. Waar de vorige laag fysieke capaciteit bood, biedt deze laag virtuele capaciteit in de vorm van storage, computing en networking. Het vormt in zekere zin een nutsbedrijf dat de meest rauwe en basale vorm van softwareservices aanbiedt zoals ‘computing in the cloud’ en ‘storage in the cloud’. Alle typen softwareservices hebben deze basale functionaliteit nodig. Uiteenlopende softwareservices als Xbox Live en Windows Live Hotmail maken van deze laag gebruik. Maar ze komen dus ook beschikbaar voor de externe wereld.
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
>>
l
1 1 7
>>
Het vierlagen servicesplatform
De derde laag betreft de Live Platform Services en biedt een aantal ‘building block’ services die ontwikkelaars kunnen gebruiken in de softwareservices die zij bouwen. Het gaat om zaken als identiteit (Windows Live ID), contacten (Windows Live Contacts) , foto’s (Windows Live Spaces), streaming video en audio (Silverlight Streaming), locaties (Virtual Earth) en zoeken (Live Search). Microsoft biedt een Windows Live SDK voor deze en andere functionaliteiten (o.a. adCenter) die ontwikkelaars kunnen gebruiken bij het bouwen van hun eigen oplossingen. Deze laag met bruikbare componenten lijkt nog het meest op de Hailstorm Services uit 2002. De tijd lijkt er nu wel rijp voor en Microsoft heeft ook commercieel de zaken veel beter uitgewerkt. Zo hoeven ontwikkelde softwareservices met minder dan 1 miljoen unieke gebruikers niet te betalen voor het gebruik van Silverlight streaming services en geldt het gratis gebruik inclusief de upload van video en audio (zoals op 1 augustus 2007 stond op: http:// dev.live.com/terms/silverlightoverview.aspx ). Meer informatie over het gebruik van deze Live Platform Services is te vinden op http://dev.live.com.
1 1 8
l
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
De vierde en laatste laag bestaat uit de applicaties en oplossingen die Microsoft zelf aan zijn gebruikers biedt zoals de eerder genoemde Windows Live Services, Office Live, Xbox Live, de bij Windows Update behorende services, Exchange Hosted Services en Dynamics Live CRM. Daarbij maakt Microsoft onderscheid tussen ‘finished services’ zeg maar kant-en-klare softwareservices bestemd voor direct gebruik door consument (Windows Live) of bedrijf (Dynamics Live CRM) en ‘attached services’ die gekoppeld zijn aan bepaalde ‘on-premise’ software zoals Windows Live Messenger, Xbox Live en Exchange Hosted Services. Het aantal services dat Microsoft biedt aan consument en bedrijf zal in de komende tijd fors uitgebreid gaan worden zowel met finished als attached services. User Experience
De softwareservices van Microsoft en haar partners zullen uiteindelijk vaak geconsumeerd moeten worden door mensen: consumenten en zakelijke gebruikers. Voor de meeste mensen zal de kwaliteit van de gebruikersinterface – de ‘user experience’ – een belangrijke rol spelen bij de overweging om al dan niet van de softwareservices gebruik te maken. Hoofdstuk 9 over Web 2.0 heeft in
dat kader al gesproken over RIA’s (Rich Internet Applications) en de mogelijkheden die Ajax biedt om webapplicaties een betere gebruikersinterface, een betere gevoelservaring te geven. In het Web 2.0-tijdperk moeten gebruikers verleid worden bij het kiezen uit het grote aanbod aan softwareservices en dus wordt een goede presentatie van de services steeds belangrijker. Microsoft heeft daarom een nieuwe technologie ontwikkeld met de naam Silverlight die als een ‘plug-in’ in de browser draait en een rijke, multimedia interface biedt. Silverlight komt inclusief een subset van het .NET Framework waardoor ontwikkelaars Silverlightapplicaties kunnen schrijven in iedere door .NET ondersteunde taal (zie hoofdstuk 12). In feite maakt Silverlight de browser tot een krachtig runtimeplatform. Silverlight biedt eenvoudig toegang tot de hiervoor genoemde Live Platform Services waaronder de Silverlight streaming service, waarmee opslag en streaming van multimedia mogelijk is. Browsergebaseerde applicaties met Ajax of Silverlight geven de ontwikkelaar potentieel toegang tot de hele wereld, want iedereen met een internetverbinding beschikt over een browser. Het willen bereiken van iedereen geldt vooral voor applicaties die gebaseerd zijn op het online advertentie businessmodel:
hoe meer gebruikers van de softwareservice gebruik maken, hoe groter de inkomsten voor de ontwikkelaar. Maar er zijn ook applicaties die een nog rijkere interface nodig hebben en waarbij gebruikers bijvoorbeeld ‘offline’ moeten kunnen werken of waarbij alle functionaliteit van het grafische systeem moet worden gebruikt. In dat geval biedt Microsoft de rijke cliëntomgeving van Windows waar het volledige .NET Framework ter beschikking staat. Veel zakelijke gebruikers zijn informatiewerkers die het grootste deel van hun tijd in Microsoft Office-toepassingen doorbrengen. Voor deze gebruikers is het wenselijk om de informatie en services uit verticale bedrijfsapplicaties direct in Office beschikbaar te hebben. Dat verhoogt hun productiviteit. Daarmee ontstaat een ‘composite application’ (zie hoofdstuk 6) waarbij een Officetoepassing zoals Outlook, Word of Excel als frontend dient en waarbij van daaruit services
>>
Composite Application
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
l
1 1 9
>>
worden afgenomen bij bedrijfsapplicaties die hetzij ‘on-premise’ zijn of uit de ‘cloud’ komen. Deze samengestelde applicaties worden Office Business Applications (OBA) genoemd. Ontwikkelaars kunnen deze OBA’s zelf bouwen, maar er zijn ook kant-en-klare OBA’s zoals het gezamenlijk door Microsoft en SAP ontwikkelde Duet (www.duet. com). Eenzelfde softwareservice kan meerdere typen frontend applicaties hebben. Een goed voorbeeld daarvan is Exchange dat out-of-the-box drie soorten frontend applicaties ondersteunt: Outlook, een rijke client, dat onderdeel is van Microsoft Office onder Windows; Outlook Web Access (OWA) een met Ajax ontwikkelde browserapplicatie; Outlook Mobile onderdeel van Office Mobile voor het Windows Mobile besturingssysteem. Dus hier hebben gebruikers de keuze om een of meer van deze frontend-applicaties te gebruiken, desgewenst tegelijkertijd.
1 2 0
l
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
Conclusie
De wortels van Microsoft liggen op het gebied van de ‘on-premise’ software en dat genereert voor Microsoft momenteel veruit de belangrijkste bron van inkomsten. De ICT-wereld is langzaam aan het verschuiven naar een situatie waarin softwarevoorzieningen in toenemende mate als service uit de ‘cloud’ worden afgenomen. Microsoft is zich terdege bewust van de kansen en bedreigingen die de verschuiving met zich meebrengt. Microsoft gelooft in een wereld waarbij zowel behoefte zal zijn aan ‘on-premise’ software als aan ‘cloud’ services, soms als twee alternatieven van dezelfde functionaliteit maar meestal in de vorm waarbij ‘on-premise’ software wordt uitgebreid met ‘attached’, ‘cloud’ services. Voor die gemengde Software Plus Services-wereld is Microsoft zichzelf aan het omvormen en aanpassen . De ontwikkeling van het servicesplatform en het platform voor online adverteren krijgen daarbij veel aandacht, maar Microsoft investeert ook in de verdere ontwikkeling van ‘on-premise’ software.
<<
M I C R O S O F T S
V I S I E ,
M I S S I E
E N
S T R A T E G I E
l
1 2 1
MICROSOF TS TECHNOLOGIE
1 2 2
l
M I C R O S O F T S
T E C H N O L O G I E
In dit laatste hoofdstuk is er beknopt aandacht voor de belangrijkste technologieën en producten die invulling geven aan de strategieën van Microsoft op het gebied van service oriëntatie in de ICT. Dat het desondanks toch een betrekkelijk omvangrijk hoofdstuk is geworden, geeft alleen maar aan hoeveel Microsoft te bieden heeft op dit vlak.
M I C R O S O F T S
T E C H N O L O G I E
l
1 2 3
>>
De ontwikkeling van de softwaretechnologie ging altijd al betrekkelijk snel, maar het Web 2.0-tijdperk heeft die snelheid alleen maar verder verhoogd. Volgens O’Reilly (2005) zijn veel Web 2.0-technologieën en -producten in voortdurende ontwikkeling en in een staat van ‘perpetual beta’. Sommige Web 2.0-softwareservices kennen meerdere releases per dag. Voor de traditionele software zijn de ontwikkelcycli weliswaar een stuk langer maar ook daar treedt versnelling in releasecycli op. Een uitgebreide beschrijving van de diverse technologieën en producten van Microsoft die invulling geven aan de webservices en Software Plus Services-strategieën loopt dan ook het gevaar snel te verouderen. Dat zou de houdbaarheidsdatum van dit boekje aanzienlijk verkorten en dat is niet de bedoeling. Vandaar dat gekozen is om de bespreking per technologie en product kort te houden en verwijzingen op te nemen naar websites die actuele informatie geven. De indeling van dit hoofdstuk is als volgt. Eerst komen de technologieën en producten aan bod die invulling geven aan SOA, BPM, ESB en webservices. Vooral op het vlak van webservices heeft Microsoft van 1999 een voortrekkersrol gespeeld en het resultaat is er dan ook naar: alle producten en technologieën zijn tot op het bot op webservices gebaseerd. Vervolgens komen Web 2.0- en Enterprise 2.0technologieën en producten ter sprake. Ten slotte een bespreking van de voornaamste technologieën en producten in het kader van de Software Plus Services-strategie.
In de bespreking wordt regelmatig verwezen naar de ‘guidance’ die Microsoft biedt aan architecten, ontwikkelaars en beheerders. Deze ‘guidance’ betreft beschrijvingen, ‘software factories’ en kant-en-klare code die het resultaat zijn van het toepassen van ‘design patterns’ en ‘best practices’ rondom Microsofts technologieën en producten. In hun eigen woorden: “Microsoft patterns & practices are Microsoft’s recommendations for how to design, develop, deploy, and operate architecturally sound applications for the Microsoft application platform.” Een up-to-date overzicht van deze ‘patterns & practices’ is te vinden op www.microsoft.com/ practices . Alle ‘guidance’ is in elektronische vorm gratis beschikbaar. SOA , BPM, ESB en webser vices
In hoofdstuk 6 werd gesproken over de verschillende manieren waarop SOA in een organisatie kan worden ingevoerd. Daarbij werd onder meer de pragmatische aanpak genoemd die uitgaat van het principe ‘Think big, act small and incremental’.
Real World SOA
1 2 4
l
M I C R O S O F T S
T E C H N O L O G I E
Microsoft is voorstander van deze pragmatische aanpak en noemt dit ‘Real World SOA’. Die aanpak onderscheidt de volgende iteratieve fasen: -
-
-
-
‘Business Drivers’: het op basis van businessoverwegingen selecteren van een eerstvolgend SOA-project; ‘Expose’: het creëren van webservices binnen dat project; zowel het maken van nieuwe webservices als het omvormen van bestaande softwarevoorzieningen tot webservices; ‘Compose’ : het samenstellen - orkestreren - van business processen op basis van webservices die zelf weer als webservices worden ‘exposed’; ‘Consume’: het consumeren van (samengestelde) webservices in ‘service enabled’ frontendapplicaties.
Langs de lijn van expose, compose en consume worden nu de diverse technologieën en producten van Microsoft besproken. Expose – nieuw: .NET Framework
Het ontwikkelen van ‘native’ webservices of van iedere andere softwarevoorziening die draait onder Windows is het domein van het Microsoft .NET Framework. De eerste versie van het .NET Framework stamt uit 2002. Anno 2007 is het toe aan de vierde release (.NET Framework 3.0) en staat de vijfde op stapel (.NET Framework 3.5) voor later in 2007 of begin 2008.
>>
.NET Framework
M I C R O S O F T S
T E C H N O L O G I E
l
1 2 5
>>
De Common Language Runtime (CLR) is de runtime omgeving voor .NET-applicaties. Deze omgeving zorgt ervoor dat de door ontwikkelaars geschreven code veilig wordt uitgevoerd; vandaar dat gesproken wordt over ‘managed code’. De .NET Framework Class Library is een omvangrijke object georiënteerde bibliotheek van functies en klassen die ter beschikking staat van de ontwikkelaars en waarmee ze webapplicaties, Windows-applicaties en webservices-applicaties kunnen schrijven. De bovenste laag uit de figuur is een recente uitbreiding van het .NET Framework dat een zeer goede ondersteuning biedt voor service georiënteerde applicaties, met name op volgende aspecten: De eisen aan de gebruikersinterface: Windows Presentation Foundation (WPF) maakt het mogelijk om rijke gebruikersinterfaces te ontwikkelen waaronder 2D en 3D grafische animaties, video, audio en documenten; Proces georiënteerde applicaties: Windows Workflow Foundation (afgekort: WF) biedt de technologie om werkstromen expliciet in applicaties op te nemen. Service georiënteerde applicaties: Windows Communication Foundation (WCF) biedt de technologie om heel eenvoudig specifieke functionaliteit in een applicatie naar buiten toe open te stellen als een of meer webservices. Daarbij ondersteunt WCF niet alleen SOAP webservices, .NET remote objects of message queues, maar - vanaf versie 3.5 - ook POXservices, REST-services of RSS-Feeds. Veilige en betrouwbare authenticatie: Windows Cardspace biedt een metasysteem waarmee gebruikers zich op een consistente manier kunnen authenticeren met een van hun vele digitale identiteiten.
1 2 6
l
M I C R O S O F T S
T E C H N O L O G I E
Een belangrijk aspect waarmee het .NET Framework zich van andere – met name: Java omgevingen onderscheidt, is het ondersteunen van meerdere programmeertalen zoals C#, Visual Basic, Cobol zodat de ontwikkelaar zijn favoriete taal kan kiezen. Al die verschillende programmeertalen compileren naar een ‘intermediate language’ die door de CLR ‘just in time’ wordt gecompileerd tot een ‘executable’. Het .NET Framework is uitgebreid met een DLR (Dynamic Language Runtime), een schil rondom de CLR, waardoor ook dynamische talen als Python, Ruby en JavaScript worden ondersteund in .NET. Het volledige .NET Framework is beschikbaar onder Windows zowel op de client (XP, Vista) als op de server (Windows Server 2003, Windows Server 2008). Ook is een compacte versie beschikbaar voor Windows Mobile en kent zelfs Silverlight, de recent verschenen browser plug-in (zie hoofdstuk 11), een bepaalde subset van het .NET Framework. Voor ontwikkelaars biedt dit het voordeel dat ze dezelfde kennis en vaardigheden kunnen gebruiken voor alle soorten van hardwaresystemen zoals pc’s, servers, pda’s en smartphones. Daarmee biedt het .NET Framework feitelijk een virtueel platform. Een uitstekende introductie op het .NET Framework en de vier nieuwe onderdelen WPF, WF, WCF en Cardspace is te vinden op de website van schrijver, consultant en Microsoft-kenner David Chappell die vaak in opdracht van Microsoft zeer informatieve en toegankelijke whitepapers heeft geschreven over Microsofts SOA- en webservicestechnologieën (zie: www.davidchappell.com). Kijk voor nog meer informatie over .NET bij www.microsoft.com/net.
Expose – omvormen: Biztalk Ser ver
Waar het .NET Framework met WCF vooral bestemd is voor het ontwikkelen van nieuwe, ‘native’ webservices daar is Biztalk Server dé technologie voor het omvormen en inkapselen (‘wrappen’) van bestaande softwarevoorzieningen tot webservices. Daartoe heeft Biztalk Server een architectuur met adapters naar de buitenwereld waardoor in principe met elke willekeurige externe applicatie gecommuniceerd kan worden. Er zijn tientallen adapters naar externe applicaties en er is ook een adapter toolkit om zelf adapters mee te ontwikkelen.
Biztalk Server doet echter veel meer dan alleen het omvormen en inkapselen van ‘legacy’ applicaties. De architectuur van Biztalk Server staat in de onderstaande figuur. Veel van wat met Biztalk Server mogelijk is, is beschreven in de ESB Guidance die de patterns & practices groep heeft ontwikkeld. Die naamgeving geeft aan dat de meest recente release, Biztalk Server 2006 R2 waarin onder meer een WCF-adapter is opgenomen, beschouwd wordt als Microsofts implementatie van een ESB.
>>
Biztalk architectuur
M I C R O S O F T S
T E C H N O L O G I E
l
1 2 7
>>
Compose: Biztalk Ser ver en WF
Consume: Multi-headed clients
Biztalk biedt ook de BPM-functionaliteit zoals die in hoofdstuk 6 werd besproken: een ontwerpomgeving voor het orkestreren van businessprocessen, een runtime omgeving voor het uitvoeren van die businessprocessen en monitoromgeving voor zowel technische monitoring als business activity monitoring (BAM). Daarmee is het bijzonder geschikt voor het orkestreren van formele businessprocessen. Voor de procesmatige interactie tussen en met mensen is Microsoft Windows Workflow Foundation (WF) ontwikkeld dat niet alleen stand alone beschikbaar is maar ook in bepaalde technologieën en producten van Microsoft ingebakken zit. WF in Windows Sharepoint Services biedt mogelijkheden om de formele businessprocessen van Biztalk te koppelen aan meer informele menscentrale processen. David Chappell heeft whitepapers geschreven over Biztalk Server, over workflow in Windows Sharepoint Services en over Microsoft en BPM (www.davidchappell.com).
Uiteindelijk moeten de enkelvoudige of samengestelde webservices ook geconsumeerd worden door frontend-applicaties die een interface naar de mens hebben. Service georiënteerde applicaties hebben vaak meerdere frontendapplicaties die de webservices consumeren; met andere woorden de webservices hebben ‘multiple heads’. In het vorige hoofdstuk werd al geschreven over hoe Exchange als service ‘out-of-the-box’ meerdere frontends biedt, waaronder een smart client (Outlook), een Ajax-webclient (OWA) en een mobile client (Outlook Mobile). In principe zijn er nog andere soorten frontends mogelijk waarin webservices geconsumeerd kunnen worden zoals binnen Office-applicaties Outlook, Word of Excel. Bij Microsoft spreekt men in dat verband van Office Business Applications (OBA). Voor OBA is veel guidance te vinden: www.msdn.com/oba.
Real World SOA in detail
1 2 8
l
M I C R O S O F T S
T E C H N O L O G I E
Alles bij elkaar levert de trits expose, compose en consume het volgende detailplaatje op bij de aanpak volgens Microsofts Real World SOA. Ontwikkelomgeving
Microsoft heeft als hoofdstrategie het bieden van een ecosysteem voor partners en klanten waarop deze hun eigen oplossingen bovenop een van de Microsoft-platforms kunnen ontwikkelen. Dé omgeving voor (teams van) ontwikkelaars om al de hiervoor besproken zaken in te ontwerpen, programmeren, testen, valideren en implementeren is Visual Studio. Het is voor de professionele ontwikkelaar echt de ‘one stop shop’ voor het uitbreiden van alle functionaliteit die Microsoft ‘out of the box’ biedt. Visual Studio is ook de omgeving waarbinnen software factories kunnen worden opgezet. Ontwikkelaars kunnen hun eigen factories maken of gebruik maken van de door de Microsoft patterns & practices groep ontwikkelde software factories. Voor een overzicht over wat Visual Studio 2008 te bieden heeft, zie: www.microsoft.com/ visualstudio. We b s e r v i c e s o ve r a l
In juni 2006 verscheen een document (Shodjai, 2006) dat beschrijft hoe en waar SOAP webservices is doorgedrongen in de verschillende technologieën en producten van Microsoft. Hoewel dat document inmiddels wat verouderd is, is de teneur duidelijk: zeven jaar na de introductie van de webservices-strategie is de webservicestechnologie doorgedrongen tot de kern van alle producten en heeft Microsoft haar belofte (zie hoofdstuk 11) volledig waargemaakt. Webservices zit overal in verweven: van het ontwikkelen van service georiënteerde applicaties, via het bieden van webservices interfaces voor functionaliteiten in vlaggenschipproducten als Office Sharepoint Server en SQL Server tot en met ondersteuning voor webservices in Xbox Live. De ondersteuning voor webservices - in de smaken van SOAP, POX, REST en RSS - zal in de komende tijd nog verder toenemen.
We b 2 . 0
In hoofdstuk 9 werd gesproken over Web 2.0 vanuit het perspectief van de ontwikkelaar. Hoewel Microsoft zelf aan de wieg stond van Ajax had het tot voor kort nagelaten de Web 2.0-ontwikkelaars aan zich te binden met Web 2.0-technologieën. In 2007 heeft Microsoft het roer wat dat betreft radicaal omgegooid. Begin dat jaar kwam ASP.NET Ajax op de markt dat het ontwikkelen van Ajax applicaties aanmerkelijk vereenvoudigt (zie: www.asp.net/ajax). Met het .NET Framework 3.5 wordt ondersteuning geboden voor het ontwikkelen van webservices gebaseerd op POX, REST en RSS naast de ondersteuning voor SOAP webservices. Met Silverlight inclusief een subset van het .NET Framework worden RIA’s nog geavanceerder (www.silverlight.net). Enterprise 2.0
Niet alleen voor ontwikkelaars maar ook voor informatiewerkers biedt Microsoft Web 2.0technologieën voor gebruik in de enterprise. In december 2006 verscheen een whitepaper met als titel ‘Bringing Web 2.0 to the Enterprise System with the 2007 Office System’ (Microsoft, 2006). Deze whitepaper gaat in op hoe dit meest recente Office Systeem de adoptie van Web 2.0 binnen de enterprise mogelijk maakt. Zo biedt Microsoft Office naast service enabled desktop applicaties zoals Outlook, Office Communicator en Excel ook op Ajax gebaseerde RIA’s zoals Outlook Web Access, Communicator Web Access en Sharepoint Team Workspaces. Daarnaast levert het functionaliteit voor collectieve intelligentie en gebruikersparticipatie via opnieuw Sharepoint Team Workspaces, wiki’s, blogs en social tagging. Voor peer-to-peer samenwerking binnen en buiten de muren van de enterprise is er Microsoft Office Groove. De informatiewerkers bepalen zelf de content van zowel Sharepoint als Groove. Ten slotte moet hier de hele suite rondom Unified Communications (UC) genoemd worden. UC verenigt de diverse vormen waarop mensen >> M I C R O S O F T S
T E C H N O L O G I E
l
1 2 9
>>
communiceren door deze met elkaar te integreren. Zie verder bij: www.microsoft.com/uc. S+S: Consumenten
In deze en volgende paragrafen worden de voornaamste technologieën en producten besproken van de Software Plus Services (S+S) strategie vanuit het perspectief van de doelgroepen voor wie het bestemd is: de consument, de informatiewerker, de ontwikkelaar en de enterprise. In deze paragraaf komt de eerste groep aan bod. De voornaamste propositie van de S+S strategie is dat ‘on-premise’ software in toenemende mate uitgebreid en aangevuld wordt met ‘cloud’ services. Voor consumenten betekent dat bijvoorbeeld dat het ‘on premise’ Windows wordt aangevuld met ‘cloud’ Windows Live. Windows Live is de merknaam voor alle op de consument gerichte services die direct uit de ‘cloud’ worden geconsumeerd in een browser of in een ‘service enabled’ desktop applicatie zoals Windows Live Messenger of de Vista gadgets. De Windows Live-services vallen meestal in een van de volgende drie categorieën: Informatieservices zoals Live Search, Live Gallery en de te personaliseren (Mashup) startpagina: www.live.com; Communicatieservices zoals Live Hotmail, Live mail (een desktop applicatie), Live Messenger en Live Spaces (voor het delen van content zoals foto’s en bloggen); Protectieservices zoals Live OneCare en Live Safety Center. Een lijst met beschikbare services is te vinden op www.get.live.com/betas. Een aardige externe site over Windows Live is www.liveside.net. Behalve de merknaam Windows Live zijn er voor de consumentendoelgroep nog twee merknamen die hier genoemd moeten worden: MSN: het portaal dat bestaat uit ‘editorial
1 3 0
l
M I C R O S O F T S
T E C H N O L O G I E
-
content’ dat wil zeggen dat de content niet door gebruikers gemaakt wordt (Web 2.0) maar door een groep van professionele editors (Web 1.0). Er is nog steeds behoefte aan dit soort portalen al verschuift de aandacht meer en meer naar Web 2.0-sites. Xbox Live: ‘attached’ services voor de Xbox en Xbox 360 zoals multi-player online gaming en het downloaden van content zoals spelletjes, films of televisieseries. S+S: informatiewerkers
Voor informatiewerkers staat het gebruik van informatietechnologie bij het communiceren en samenwerken met elkaar voorop. Al eerder werd gesproken over het 2007 Microsoft Office System waarin informatiewerkers zowel zelfstandig als met elkaar kunnen samenwerken. Office Live is een typisch voorbeeld van een ‘cloud’ SaaS waarbij het ‘longtail’ mechanisme (zie hoofdstuk 7) werkt, namelijk doordat Sharepoint-achtige functionaliteit bereikbaar wordt voor kleine bedrijven die zichzelf voor de service kunnen aanmelden en deze kunnen configureren. Zie verder bij www.officelive.com. S+S: ontwikkelaars
In haar historie heeft Microsoft alle soorten ontwikkelaars op het oog gehad: van de professionele ontwikkelaar/architect tot en met de hobbyist of power user. Zoals eerder vermeld is Visual Studio het domein van (teams van) professionele ontwikkelaars. Voor de semiprofessionele ontwikkelaars en zeer serieuze hobbyisten zijn er de diverse Visual Studio Express varianten die beperkter zijn in functionaliteit maar wel gratis. Er zijn zelfs pakketten voor kinderen zoals ‘C# for Sharp Kids’ en ‘VB for Very Bright Kids’ om ze (de liefde voor) het programmeren te leren. Er is voor al deze versies van Visual Studio bijzonder veel ‘guidance’ beschikbaar en ook zijn er sites waarop code beschikbaar is. Een voorbeeld van het eerste is www.msdn.com/vstudio/ express/beginner, een leeromgeving voor beginnende ontwikkelaars. Een voorbeeld van het tweede is www.
codeplex.com, Microsofts open source project hosting site waarbij ontwikkelaars broncode met elkaar delen. Ontwikkelaars kunnen kiezen om uitsluitend te ontwikkelen voor het ‘on-premise’ platform – Windows, .NET en Office System – , uitsluitend ‘cloud’ services te ontwikkelen of om toepassingen te ontwikkelen die een combinatie is van beiden. Voor het ontwikkelen van een frontend-applicatie die een of meerdere ‘cloud’ services consumeert zijn er diverse mogelijkheden: ASP.NET Ajax of Silverlight voor webapplicaties, WPF of WinForms voor Windows frontend-applicaties of Office met Visual Studio Tools for Office (VSTO) voor OBAapplicaties. Voor het ontwikkelen van ‘cloud’ services kan het Windows-platform met .NET en vooral WCF gebruikt worden om services mee te ontwikkelen. Het vorige hoofdstuk gaf aan dat er voor ontwikkelaars ook steeds meer functionaliteit in de cloud ter beschikking komt in de vorm van building block services zoals Live Platform Services (zie hoofdstuk 11). Maar ook voor ontwikkelaars komt er functionaliteit in de ‘cloud’ beschikbaar die tot voor kort alleen ‘on-premise’ beschikbaar was. Biztalk services biedt een set van ‘cloud’ services om gedistribueerde applicaties/services aan elkaar te koppelen. Microsoft spreekt in dat verband van een Internet Service Bus (ISB), met andere woorden een ESB in de ‘cloud’ die veel eenvoudiger te configureren en gebruiken is dan een ESB en vooral bestemd is voor B2B. De eerste release van deze ISB bevat ‘building block’ Biztalkservices en extensies aan WCF om het eenvoudiger te maken te koppelen naar de ISB. Zie verder: www.biztalk.net. Een eveneens vermeldenswaardig product is Popfly. Dat product is niet op de ontwikkelaar maar op de power user gericht en maakt het eenvoudig om Mashups te bouwen of beter gezegd: in elkaar te
flansen. Popfly bestaat uit twee onderdelen; Popfly Creator is een visuele tool om Mashups te maken en Popfly Space is een online community om de gemaakte Mashups te delen met anderen. Zie verder: www.popfly.net. S+S: enterprises
Binnen deze doelgroep zijn er twee subdoelgroepen: de ‘business decision maker’ (BDM) en de ICTbeheerder. De laatste groep is vooral bezig met het verlagen van de kosten van onderhoud van het ICT-landschap binnen de enterprise. Het zal dat in toenemende mate doen door onderdelen van het ICT-landschap naar de ‘cloud’ te verhuizen. Het vorige hoofdstuk gaf al aan dat Microsoft daar services voor gaat leveren in de vorm van Cloud Infrastructure Services. Voor de BDM-er gaat het vooral om snel nieuwe businessservices te kunnen afnemen. Het gaat daarbij dus primair om snel te kunnen schakelen en daardoor de omzet van de enterprise te verhogen. Microsoft biedt voor deze subgroep momenteel Dynamics Live CRM(zie www.crmlive.net), maar zal ongetwijfeld op termijn het SaaS-aanbod uitbreiden. Afsluiting
Zoals in de introductie van dit hoofdstuk reeds aangegeven, doet Microsoft heel veel op het vlak van producten en technologieën met betrekking tot het onderwerp van dit boekje: service oriëntatie. En er zal nog heel veel meer volgen, of het daarbij nu om ‘software’ of om ‘services’ gaat. De R&D op dit vlak gaat namelijk onverminderd voort. Het is dus zaak om de actuele lijst van producten en technologieën goed in de gaten te blijven houden. De verwachting is dat de Software Plus Servicesstrategie nog wel even standhoudt en dat veel van Microsofts nieuwe producten en technologieën ook in het licht van die strategie en daarmee van service oriëntatie kunnen worden gezien. <<
M I C R O S O F T S
T E C H N O L O G I E
l
1 3 1
UU
JS
Boeken, Tijdschrif tar tikelen Auteur(s)
Titel
Plaats
Uitgeverij
Beinhocker, Eric D.
The Origin of Wealth
Boston
Harvard Business
Jaartal 2006
School Press Bitran, Gabriel;
The need for third-party coordination
MIT Sloan
Gurumurthi, Suru;
in supply chain governance
Management
Lin Sam, Shiou
The need for third-party coordination
Review
Davenport, Thomas
Process Innovation: Reengineering
Boston
work through information technology Friedman, Thomas
The World is Flat
Spring 2007
Harvard Business
1993
School Press New York
(updated and expanded)
Farrar, Straus
2006
en Giroux
Hagel, John
Out of the Box
Boston
Harvard Business Press
2002
Iansiti, Marco;
The Keystone Advantage
Boston
Harvard Business
2004
Levien, Roy Malone, Thomas W.
McAfee, Andrew
School Press The Future of Work
Boston
Harvard Business
Enterprise 2.0: The Dawn of Emergent
School Press
Collaboration
MIT Sloan
2004
Spring 2006
Management Review Nieuwenhuis, M. A.
The Art of Management (the-art.nl)
Thomas Manes,
SOA: Developing the Enterprise
Anne
Roadmap
1 3 2
Oldenzaal
2003-2006 Burton Group
2006
Andersoortige uitgaven Auteur(s)
Titel
URL
Chappell, David
diverse white papers
www.davidchappell.com/articles/white_papers.html
Jaartal 2007
Financial Analyst
Financial Analyst
www.microsoft.com/msft/speech/FY07/AnalystMtg2007.mspx
2007
Meeting 2007
Meeting 2007
Gartner
Web 2.0:
www.gartner.com
2006
www.chinaembassy.nl
2007
www.microsoft.com/downloads
2006
structuring the discussion Hanqin, Xue
China’s Road and China’s Role
Microsoft
2007 Office System Document: Bringing Web 2.0 to the Enterprise
with the 2007 Office System OASIS
OASIS Reference Model
www.oasis-open.org
2004
www.oreilly.com
2005
for SOA v 1.0 O’Reilly, Tim
2.0, Design patterns and business models for the
next generation of software Shodjai, Payam
Web Services and the
http://msdn2.microsoft.com/en-us/library/aa480728.aspx
2006
http://www.zdnet.com.au/news/software/soa/
2005
Microsoft Platform ZDNet - Ozzie, Ray Internet Services Disruption
Ozzie-memo-Internet-services-disruption-/ZDNet
1 3 3
Colofon Teksten Dik Bijl Vormgeving, productie en tekstcorrectie RLF Communicatieve Vormgeving Annelies Kant Ingrid Kleine Koerkamp Rolf Resink Fotografie voorwoord Beeldsmaak Fotografie Wiep van Apeldoorn
Uitgave ©2007 Microsoft BV. Niets uit deze uitgave mag worden verveelvoudigd en/of openbaar worden gemaakt zonder voorafgaande schriftelijke toestemming van de uitgever. ©Microsoft BV, 2007 ®TM. Genoemde namen en merken zijn (geregistreerde) handelsnamen dan wel handelskenmerken van de betreffende bedrijven en/of Microsoft in de Verenigde Staten en/of andere landen.