Login / Reg                    Nieuwsbrief  |   Agenda   |   Vacatures   |   Forum   |   Advies   |   Adverteer   |   Zoek
Hoe flexibel is de Service Oriented Architecture?
Bron: Procesverbeteren.nl
Smart Industry: Slimme organisatie
De Service Oriented Architecture
Door Dr Ir Jaap van Ede, hoofdredacteur procesverbeteren.nl. De eerste versie verscheen in vakblad PT Industrieel Management (2007)


De service oriented architecture (SOA) is al enige jaren dé grote belofte om bedrijfsprocessen flexibeler te maken: ERP-systemen zo onbuigzaam als beton, moeten vloeibaar worden als was. 

Voordat die belofte volledig kan worden ingevuld, is er echter nog een behoorlijk lange weg te gaan. Op dit moment worden SOA-achtige technieken vooral ingezet om nieuwe vormen van ICT-ondersteuning te ontwikkelen, variërend van software-as-a-service tot branche-specifieke add-ons, en van webportalen voor applicatie-overschrijdende bedrijfsprocessen tot op maat gesneden gebruikersinterfaces.


Wat was dat ook al weer: De Service Oriented Architecture (SOA)?  

SOA is de beoogde opvolger van de Client-Server architectuur. Delen van business-applicaties zoals ERP-systemen worden bij SOA op afstand ‘aanroepbaar’ gemaakt, meestal in de vorm van webservices. Die web services worden vervolgens opgeslagen in een bibliotheek, die als server fungeert voor een overkoepelend business process management systeem (BMPS). Dit BPMS bepaalt tenslotte welke web services in welke combinatie worden aangeroepen om een bepaald bedrijfsproces te ondersteunen.

Serie flexibele & modulaire bedrijfssoftware

Door continu en stapsgewijs bedrijfsprocessen te verbeteren via methodes zoals Lean Manufacturing, Six Sigma en Total Productive Maintenance moeten bedrijven efficiënter en slagvaardiger worden. Bedrijfsprocessen continu verbeteren, snel nieuwe producten ontwikkelen, en wendbaar reageren op marktveranderingen lukt echter alleen, als de bedrijfssoftware voldoende flexibel is.

Op het werkvloer- , het tussen- en het businessniveau zijn daarom verschillende flexibele ICT-oplossingen en data-modellen ontwikkeld:
  • Voor het werkvloer-niveau: ISA-88
  • Voor het tussen-niveau: ISA-95
  • Voor het business-niveau: SOA (Service Oriented Architecture)
In een serie artikelen verkende procesverbeteren.nl, in samenwerking met het blad PT Industrieel Management, de grenzen van de bovenstaande ICT-architecturen, onder meer door deze langs een meetlat voor flexibiliteit te leggen.

Wat zijn de mogelijkheden en de beperkingen, en voor welke typen bedrijven zijn de ICT-architecturen geschikt?

In dit artikel worden de grenzen van de Service Oriented Architecture (SOA) verkend.


Op het internet circuleren veel vage definities van SOA. In dit artikel wordt er van uitgegaan dat er sprake is van SOA als er:

  1. Sprake is van softwarefunctionaliteit die op afstand én op een interactieve manier (als een service) wordt aangeroepen
  2. Sprake is van een BMPS-platform waarmee herbruikbare services kunnen worden samengevoegd, opdat nieuwe en flexibele software-ondersteuning ontstaat.

SOA is een super integratietool, maar je kunt er ook taak-specifieke interfaces mee bouwen, denk daarbij aan een soort webbrowser die iemand alle informatie voorschotelt die nodig is voor zijn of haar functie.

Het meest wordt SOA echter gezien als een methode om de ICT-ondersteuning van bedrijfsprocessen flexibeler te maken, hoewel SOA voorlopig nog het minst op die manier wordt gebruikt! Eén van de oorzaken is dat SOA nog lang niet volwassen is, zie het kader ‘5 bottlenecks’.
Bovendien is SOA alleen zinvol voor dat deel van de bedrijfsprocessen dat sterk veranderlijk is, of waarbij de ICT-ondersteuning gepaard gaat met veel software-integratieproblemen.

SOA: wat & waarom

Wat
De Service Oriented Architecture (SOA) is de beoogde opvolger van de client-server architectuur. Business-applicaties zoals ERP, CRM en SCM systemen worden bij SOA op afstand toegankelijk gemaakt, door delen van deze applicaties ‘aanroepbaar’ te maken in de vorm van web services. Deze web services worden vervolgens opgeslagen in een bibliotheek, de web service repository. Deze service repository vervangt de ‘server’ in de oude client-server architectuur, als nieuwe ‘client’ fungeert een business process management systeem (BMPS). Het BPMS bepaalt welke web services wanneer worden ‘afgespeeld’, en hoe die webservices daarbij samen moeten werken. Voor een voorbeeld: zie het kader "SOA langs de meetlat voor een modulaire software-architectuur"
De business-applicaties staan dus in dienst van het BPMS, vandaar de term service architectuur.

Waarom
A. Flexibeler maken van de software-ondersteuning.
Met het BMPS kunnen bedrijven zélf software-ondersteuning ontwerpen en aanpassen, zodat sneller kan worden ingespeeld op nieuwe marktsituaties. In het ideale geval kan dit met een grafisch programma, zodat de bedrijfsprocesmanager (een nieuwe functie in bedrijven!) geen programmeerkennis hoeft te hebben. Die bedrijfsprocesmanager kan dan bijvoorbeeld een bedrijfsproces zoals ‘wijs de vraag van onze klanten toe aan onze fabrieken’ ontwerpen, door de juiste web services aanéén te rijgen.

B. Verbetering software-integratie.
In een SOA-omgeving kunnen ERP-systemen gemakkelijker worden aangevuld met branche-specifieke software van derden. Ook is het gemakkelijker om ICT-ondersteuning te ontwikkelen voor applicatie-overschrijdende bedrijfsprocessen.

C. Software as a service (SaaS)
Software te huur via het internet kan veel efficiënter worden aangeboden

D. Role-based gebruiksinterfaces mogelijk maken.
In een SOA-omgeving is het gemakkelijker om informatie en functionaliteit uit verschillende softwaresystemen bijeen te brengen, gericht op een specifieke gebruiker.

E. Interactieve web-sites mogelijk maken


Meer inleidende artikelen
+ Business process platform wordt nieuwe ruggegraat bedrijfssoftware
+ Service Oriented Architecture en Applicatie Integratie
Service Oriented Architecture en Procesmanagement
Service Oriented Architecture als opvolger ERP?


Hype fase
Op dit moment bevindt SOA zich in een hype-fase, waarbij het voorgeschoteld wordt als panacee voor elk ICT-probleem. ‘Is zo’n hype eenmaal voorbij, dan blijken er vaak weinig toepassingen te zijn’, waarschuwt Mario van Vliet. Hij is vice-president van Capgemini, maar ook bijzonder hoogleraar management van softwareprojecten aan de Radboud Universiteit Nijmegen.

‘Kortgeleden hebben drie studenten van mij een onderzoek gedaan naar de acceptatie van de Business Process Execution Language’, vervolgt hij. ‘BPEL is een procesprogrammeertaal die gebruikt wordt in de BPMS-en van IBM, Oracle en Microsoft. We hebben ons onderzoek uitgevoerd binnen vijf grote bedrijven: een staalproducent, een railvervoerder, een bank, een ICT-dienstverlener en een sociale verzekeringsmaatschappij.  Deze bedrijven bleken wel geïnformeerd te zijn over BPEL en SOA, maar de beslissing tot implementatie schuiven ze nog voor zich uit. De managers zeiden te verwachten dat met deze techniek niet alleen de flexibiliteit, maar ook de transparantie van de bedrijfsprocessen zal toenemen. Als je IT-ondersteuning ontwikkelt met behulp van BPEL, dan krijg je bijvoorbeeld vanzelf foutmeldingen als er inconsistenties zijn in de procesafhandeling. Dat is met name van belang bij de implementatie van Sarbanes-Oxley.’

Kennelijk zijn dit soort voordelen echter nog niet groot genoeg, om de bedrijven tot invoering van SOA te verleiden. ‘Klopt. Ze zien namelijk ook veel risico’s, zoals hoge kosten, en ingewikkelde implementatietrajecten. Wat daarbij opvalt is dat juist de bedrijven die pilots hebben gedaan, minder positief zijn over de benefits.’

Kennelijk beloven de SOA-aanbieders op dit moment meer dan ze kunnen waarmaken. En dat klopt ook wel. Vaak wordt de indruk gewekt dat je met een BPMS met één druk op de knop bedrijfsprocessen kunt aanpassen.

‘Dat is zeker nog niet het geval. Wat verder een rol speelt bij de moeizame acceptatie van SOA is dat IT-ers moeite hebben om hun management te overtuigen van de voordelen. En tenslotte worstelen bedrijven met het volgende keuze-probleem: Kies ik voor een BMPS bij een ERP-systeem, zoals Oracle Fusion of SAP Netweaver, of wil ik een apart platform voor applicatie-integratie, zoals IBM Websphere.’

SaaS
Een eerste conclusie in dit artikel is dat SOA – ook bij grote (productie-) bedrijven – nog nauwelijks wordt ingezet om de traditionele ICT-ondersteuning flexibeler te maken. Waarvoor wordt SOA dan wél gebruikt? Voor alles waar tot nu toe geen goede ICT-oplossing voor bestond!

SOA heeft bijvoorbeeld geleid tot een revival van Application Service Providing (ASP), het huren van software via het internet.

Software as a Service
(SaaS) heet dat nu, maar eigenlijk is dat ASP versie 2.0.
Door SOA-achtige technieken in te zetten, kunnen software-applicaties op afstand gemakkelijker met gebruikers worden gedeeld. Een andere verbetering is dat de on-line software tegenwoordig voor iedere gebruiker kan worden aangepast, en dat die software kan worden geïntegreerd met de eigen software van de gebruiker. 

Google Office (in opbouw) is in principe een voorbeeld van SaaS, maar veel meer tot de bedrijfsverbeelding spreekt natuurlijk Salesforce.com. Dit bedrijf biedt on-line software aan voor Customer Relationship Management. Via de site AppExchange kunnen de gebruikers aanvullende functionaliteit downloaden of zelf aanbieden.  Vanaf 2007 moeten klanten hun on-line CRM-software bovendien zelf kunnen aanpassen.

Salesforce wordt vaak genoemd als hét voorbeeld SOA, maar dat klopt volgens de definitie in dit artikel niet.  Bij Salesforce wordt weliswaar op afstand softwarefunctionaliteit aangeroepen, maar het systeem omvat geen BPMS. SaaS is dus lang niet altijd SOA, andersom geldt dit wel.

5 bottlenecks rond SOA
  1. De Business Process Management Systemen (BMPS-en) van de verschillende leveranciers sluiten maar ten dele op elkaar aan.  De klant moet daarom kiezen voor een SOA-platform van Oracle, SAP, IBM, Microsoft óf nog een andere partij.

  2. De ERP-leveranciers hebben hun web service repositories nog maar in beperkte mate ingevuld. End-to-end software-ondersteuning van bedrijfsprocessen is daardoor nog niet plug-and-play mogelijk.

  3. SOA is als techniek nog niet volwassen. Zo zijn er nog onopgeloste problemen rond de veiligheid, de betrouwbaarheid, het uitvoeren van upgrades, en het testen.

  4. Opsplitsing van bedrijfssoftware in los gekoppelde web services kan een (sterk) nadelige invloed hebben op de performance.

  5. Het change management wordt een enorme uitdaging. Hoe spelen de gebruikers in op software-ondersteuning die voortdurend verandert?

> zie ook het stukje over "trage webservices"


Nieuwe ICT
Naast SaaS wordt SOA ook toegepast voor andere nieuwe vormen van software-ondersteuning. Voorbeelden van deze “nieuwe ICT” is de software-ondersteuning van webwinkels, zoals die van reisbureaus, de ICT-ondersteuning bij het afsluiten van verzekeringen, en de software achter webportalen zoals die van de Nederlandse Algemene Keuringsdienst voor landbouwgewassen.

Paulo Rosado (OutSystems): “Bedrijfsprocessen buiten de veilige ERP-zone stonden voor het SOA-tijdperk bijna vijandig ten opzichte van ICT


SOA biedt daardoor ruimte aan nieuwe ICT-bedrijven, die zich specifiek richten op het realiseren van dit soort applicaties. OutSystems, met hoofdkantoor in Lissabon maar ook actief in Nederland, bestaat nu bijna zes jaar, en heeft inmiddels 80 mensen in dienst, vertelt CEO Paulo Rosado.

Rosado:  "Bedrijfsprocessen waarbij een groot aantal mensen en software-applicaties zijn betrokken, vormen een grote ICT-uitdaging. Die werkprocessen stonden tot voor kort bijna vijandig ten opzichte van de werkprocessen binnen de veilige ERP-zone. Op die markt richten wij ons nu. In Amerika hebben we voor een biotechnologie-bedrijf een applicatie gebouwd, die bij clinical trials alle data van de verschillende partners helpt verzamelen en verwerken. En voor een luchthavenbeheerder hebben we een hub gebouwd die alle transacties tussen de landing en het vertrek van een vliegtuig aanstuurt.’

Kern van dit soort oplossingen is het Outsystems Platform. Hiermee worden webapplicaties op maat gebouwd, die gegevens uit interne en externe bronnen verzamelen en verwerken. Bovendien kunnen die gegevens via gepersonaliseerde web-interfaces aan de gebruikers worden gepresenteerd.

‘In essentie is het een Business Process Management Systeem, dat klopt. De oplossing die je krijgt wordt gemaakt met een code-generator, en is gebaseerd op standaarden zoals .Net en J2EE. Ook is de oplossing heel gemakkelijk aan te passen als de bedrijfsprocessen veranderen.’

Eén van de eerste klanten van OutSystems in Nederland was het energiebedrijf E.ON. ‘Via netwerkbeheerder Tennet ontvangen zij grote hoeveelheden gegevens over de geproduceerde hoeveelheid energie, en die data moet E.ON vergelijken met hun eigen productiegegevens. Discrepanties moeten zo snel mogelijk worden opgespoord, om onnodige boetes te voorkomen. Vroeger deed E.ON die datavergelijking grotendeels handmatig, met behulp van spreadsheets. Onze hub zorgt er nu voor dat alle data automatisch worden verzameld en gevalideerd.’

De BPMS-en van de grote ERP-leveranciers ziet Rosado niet als concurrenten. Integendeel: ‘Ik juich het juist toe dat de ERP-systemen meer open zijn geworden. Met composite framework van SAP kun je soortgelijke integratieportalen bouwen als wij doen, dat is waar, maar zo’n project duurt maanden. Dit komt doordat SAP compleet moet zijn. Hun web services omvatten daardoor niet alleen de gegevens die je wilt hebben, maar ook alle mogelijke data die je zou kunnen krijgen als je het ERP-systeem anders zou configureren. Wij richten ons op het heel snel realiseren van flexibele oplossingen, in enkele weken. Onze oplossing gaat daarom prima samen met bijvoorbeeld Netweaver van SAP. Voor een olie-raffinaderij bouwen we nu een daarmee geïntegreerd systeem, dat bij onderhoudsprojecten de gewerkte uren van de subcontractors registreert.’

Trage web services?

SOA omvat niet per definitie het gebruik van web services. Daarnaast bestaan er nog andere technieken om software op afstand voor je te laten werken.  Wie met een webbrowser interactieve internetpagina’s bekijkt, realiseert zich meestal niet dat daarbij regelmatig programma’s worden gestart op de webserver.

Een nieuwe generatie van interactieve websites, het zogenaamde Web 2.0, wordt daarom vaak geassocieerd met SOA.
Niet alleen op het web, maar ook op de werkvloer zijn allerlei service-achtige concepten in opmars, om gegevens op te vragen of over te hevelen tussen systemen. 

Siem Broersen, manager van het MES Expert Center van systeemintegrator GTI, is vooral gecharmeerd van JCA, de Java Connector Architecture.

Broersen: ‘Web services zijn relatief traag, en daardoor niet geschikt voor real-time procesafhandeling op de werkvloer. Bij de ICT-ondersteuning van de goederenontvangst in een chemische fabriek gebruiken wij daarom JCA. Ook daarmee kun je remote procedure calls uitvoeren, maar dan zonder de ballast die web services hebben.  In een JCA-omgeving wisselen we nu XML-berichten uit tussen de procesbesturing, het manufacturing execution systeem (MES) en het ERP-systeem.’


Siem Broersen: "Web services zijn te traag om real-time gegevens uit te kunnen wisselen, bijvoorbeeld bij de ontvangst van chemische stoffen"


EAI
Vóór het SOA-tijdperk gebruikten met name de grotere bedrijven al Enterprise Application Integration (EAI) platformen. Zo’n EAI-platform platform ontvangt berichten uit de ene software-applicatie, vertaalt deze, en stuurt ze vervolgens door naar een andere software-applicatie.

Vervang de term EAI door BPMS, en je hebt SOA, zou je zeggen. Toch klopt dat niet helemaal. Bij SOA wisselen de software-applicaties namelijk niet alleen gegevens uit, maar ze werken interactief met elkaar samen. 

Wel is het zo dat EAI-systemen inmiddels naast traditionele interfacing-mogelijkheden zoals het file transfer protocol, electronic data interchange en XML inmiddels ook web services ondersteunen, en soms zelfs een BPMS-taal zoals BPEL. Kortom, EAI-systemen migreren richting SOA. IBM’s Websphere is daardoor nu een concurrent geworden van Oracle Fusion en SAP Netweaver. Of eigenlijk andersom, want Websphere was er eerder. SOA is in feite dus EAI versie 2.0!.

Draka
De Draka Holding ontwikkelt, produceert en verkoopt kabelsystemen voor het transporteren van elektriciteit, data, beeld en geluid. Sinds 2002 gebruikt deze Holding een EAI-oplossing gebaseerd op Vitria. ‘Alle Draka-divisies zijn in principe financieel zelfstandig, maar er wordt wel steeds meer samengewerkt op internationaal niveau’, vertelt hoofd automatisering René Hooijsma. ‘Onze productielocaties specialiseren zich nu, zodat je het machinepark beter kunt optimaliseren. Het is dan echter wel nodig, dat een verkoper in Zweden een order kan plaatsen in Nederland, en andersom. En om dat te kunnen, moesten alle ERP-systemen binnen Draka gegevens met elkaar kunnen uitwisselen. Vitria zorgt daarvoor.’


Productie bij Draka: Het 'samenslaan' van een koperkabel


Op 25% van de vestigingen wordt SAP gebruikt, en 25% heeft een Baan-applicatie. ‘Bij software-integratie is standaardisatie van je bedrijfsprocessen is ontzettend belangrijk, maar dat lukt nooit helemaal. Vitria omvat daarom mappings, die gebruikt worden om een XML-bericht te vertalen voor dit doorgestuurd wordt van het ene naar het andere ERP-systeem.’

SOA-technologie speelt daarbij in zoverre een rol, dat Netweaver van SAP en de SOA-technologie van Infor (nu eigenaar van Baan) inmiddels worden gebruikt om de ERP-systemen met Vitrea te koppelen. ‘Maar verder blijft het in wezen een veredeld messaging systeem dat wij gebruiken. Maar bedenk daarbij wel:  ICT is voor Draka geen core-business, zoals voor reisbureaus en verzekeraars. Ik voorzie echter wel dat we langzamerhand naar een echte SOA-omgeving zullen toegroeien. Wat ik graag nog wil meegeven: software-integratie is ook met EAI en/of SOA zeker geen zaak van één druk op de knop. Wij zijn al drie jaar bezig, en pas nu gaan we de vruchten plukken van Vitria.’

Branche-specifieke add-ons
Samenvattend: SOA is geen big bang technologie, maar komt heel langzaam via de achterdeur bij bedrijven binnen. Bijvoorbeeld in de vorm van SaaS-concepten, bij het ontwikkelen van software-ondersteuning voor applicatie-overschrijdende bedrijfsprocessen, of als toevoeging op bestaande EAI-platforms.

Er is echter nog een vierde gebied, waarlangs SOA-technologie zal worden geïntroduceerd: namelijk in de vorm van brance-specifieke add-ons bij ERP-systemen. Het feit dat SOA wordt omarmd door de grote ERP-leveranciers betekent namelijk in feite een strategie-wijziging: Branche-specifieke pakketten zullen voortaan gezien worden als een welkome aanvulling. Dankzij SOA kunnen deze toevoegingen naadloos samenwerken met de ERP-systemen, dus hoe meer van die toevoegingen er zijn, des te beter dat is voor de betreffende ERP-leverancier.

De ERP-leveranciers en IBM willen met hun BPMS-en daarom een positie gaan innemen, zoals het besturingssysteem Microsoft Windows die heeft op de PC-markt. Een interessante kwestie wordt dus: Wie weet de grootste schare toeleveranciers achter zich te scharen?

SOA langs de meetlat voor een modulaire software-architectuur

SOA langs de 'flex-meetlat' van procesverbeteren.nl
Een (fictief) Business Proces Management Systeem (BPMS) zorgt hier volautomatisch voor de  uitvoering van het bedrijfsproces “vraag toewijzen” . Eerst worden webdiensten bij twee klanten opgeroepen. Deze webdiensten retourneren de verwachte vraag, na die te hebben opgevraagd uit de betreffende ERP-systemen. Daarna start een volgende webdienst die de geaggregeerde vraag doorstuurt naar het ERP-systeem op het hoofdkantoor, en aan dat systeem opdracht geeft om de vraag te verdelen over twee fabrieken. Tenslotte wordt de vraag doorgegeven aan de ERP-systemen van de betreffende fabrieken.


De ideale bedrijfssoftware heeft, volgens de meetlat van procesverbeteren.nl, de volgende drie eigenschappen (de cijfers corresponderen met die in figuur hierboven)

  1. Er is een scheiding tussen de beschrijving van de bedrijfsprocessen en de uitvoering
  2. Het uitvoerende deel bestaat uit een bibliotheek van kleine herbruikbare bouwstenen, die op afroep vast omlijnde functies uitvoeren. In het ideale geval is het daarbij mogelijk om softwarebouwstenen van verschillende softwareleveranciers te gebruiken.
  3. Het beschrijvende deel bestaat uit een orkestratiesysteem, waarmee de bovengenoemde bouwstenen steeds opnieuw met elkaar kunnen worden ge(re)combineerd tot bouwwerken, die complete bedrijfsprocessen ondersteunen.

Wordt SOA langs deze meetlat gelegd, dan blijkt dat deze architectuur in belangrijke mate voldoet aan de kenmerken van flexibele bedrijfssoftware:

  1. Scheiding beschrijving en uitvoering: ja. Op het niveau van het BPMS wordt de ICT-ondersteuning van bedrijfsprocessen ontwikkeld. Uitvoering van een bedrijfsproces zoals “vraag toewijzen’ (zie de schematische figuur)  vindt plaats door een aantal web services naar keuze uit een bibliotheek (de web services repository) aan te roepen.

  2. Herbruikbare bouwstenen: ja, maar… Er is sprake van een bibliotheek van herbruikbare softwarecomponenten, de web services. Bouwstenen van verschillende softwareleveranciers werken echter slechts beperkt met elkaar samen. 

  3. Orkestratiesysteem: ja, maar… Het BPMS is het orkestratiesysteem. Grootste probleem: de bedrijfsprocesmodelleringstaal is afhankelijk van de leverancier van het systeem.


Zie ook: Wie levert ‘Windows’ voor bedrijfsprocessen

Hulp nodig bij de implementatie van hard- en software voor Smart Industry?

Verwijzen naar dit artikel op internet?
Gebruik als link: https://www.procesverbeteren.nl/flexibilisering/webservices/SOAflex.php

CoimbeeManagement MindfucksCimpro