Veel bedrijven weten niet wanneer ze wel of juist niet tot implementatie van een service oriented architecture (soa) over moeten gaan. Waar moeten zij aan voldoen? Wat zijn de voor- en nadelen? Tien soa-experts geven tips die de besluitvorming makkelijker maken.
Tony van Büüren van Heijst, senior technical pre-sales manager bij Outsystems
Tip 1: Laat een soa-infrastructuur niet alleen over nieuwe technologie gaan.
Het uiteindelijke doel van een soa-architectuur is het flexibel kunnen ondersteunen van bedrijfsprocessen in een organisatie. Soa-architecturen kunnen helpen de huidige systemen te incorporeren in een moderne, flexibele it-infrastructuur. In die zin is het belangrijk het uiteindelijke doel in het oog te houden en te zorgen dat de uiteindelijke keuzes rondom soa niet alleen gaan over het kiezen van een technologie. Naast deze technologie moeten ook organisatorische keuzes gemaakt worden. Projecten zullen meer in dienst moeten staan van services, de ontwikkelmethoden moeten worden aangepast zodat ze aansluiten op een soa-aanpak en uiteraard mag ondersteuning vanuit het management niet ontbreken. Dit alles kan een grote impact hebben op het succes van het implementeren van een succesvolle soa-architectuur.
Viktor Grgic, agile it-architect bij Xebia
Tip 2: Regel tijdig eigenaarschap van de gemeenschappelijke soa-faciliteiten.
Een vaak voorkomend probleem bij een soa-introductie is het eigenaarschap van een gemeenschappelijk soa-faciliteit, zoals een enterprise service bus of generieke service. Gedurende het architectuurproces bij het definiëren van architectuuronderdelen is het aan te bevelen, gelijk vanaf het begin, de eigenaren met hun bevoegdheid en verantwoordelijkheid aan te wijzen. Deze verantwoordelijkheid is significant anders dan bij een zelfstandige applicatie. Het betreft een servicegerichte opstelling naar de afnemers. Dit druist vaak in tegen de belangen en werkwijze van de afdelingen of afnemers zelf, die ineens van iemand anders afhankelijk worden. Bovendien is om deze en nog meer redenen de centralisatie van faciliteiten af te raden. Het creëert een te groot machtscentrum dat op den duur niet geaccepteerd wordt.
Michael Widjaja, partner en senior executive bij Accenture
Tip 3: Zet een veiligheidsfederatie op.
Veiligheidsaspecten zijn een van de belangrijkste factoren voor een succesvolle soa-implementatie. Hoe garandeert men namelijk dat een gebruiker van een ander bedrijf of afdeling daadwerkelijk de gebruiker is die hij claimt te zijn en dat hij bepaalde services kan en mag gebruiken? De opzet van een goede veiligheidsfederatie is noodzakelijk en zorgt voor gemeenschappelijk vertrouwen tussen verschillende organisaties en helpt bij het uitwisselen van authenticiteit, autorisatie en single sign-on attributen. Zo kunnen services over de bedrijfsgrenzen gebruikt worden, zonder dat elke keer een complete check gedaan hoeft te worden van de gebruiker en zijn rechten.
Mark Vroom, technisch directeur bij NedFox
Tip 4: Laat soa inconsistenties in dezelfde businessfuncties voorkomen.
In het verleden werd een functie voor bijvoorbeeld het toevoegen van een factuur op meerdere plaatsen uitgewerkt, vaak ook nog in verschillende varianten. Mits soa goed ontworpen is, bestaat een dergelijke functie nog slechts op één plek en wordt deze gebruikt door allerlei verschillende systemen. Dat voorkomt inconsistenties die anders op termijn absoluut gaan ontstaan. Ook garandeert soa dezelfde businesslogica voor elke aanvraag, ongeacht uit welk proces die aanvraag afkomstig is.
Mendel Koerts, cluster leader SAP architecture bij Capgemini
Tip 5: Denk groot, begin klein.
Strategisch succes met op soa gebaseerde it begint met een masterplan. Dit meerjarenplan verwoordt in hoofdlijnen wat een organisatie wil bereiken met soa; hoe, waarmee en wanneer. Integreren is geen primair doel! Eerst versimpelen, ontdubbelen en standaardiseren; kijk daarna of er nog iets geïntegreerd moet worden. Geef specifiek aandacht aan projectoverstijgende it-behoeften en de te verwachten volwassenheid van it-producten, uitgezet in de tijd. Een enterprise service bus is slechts één van de mijlpalen op de marsroute. Kies als startpunt vooral tastbare, businessgedreven projecten die behapbaar zijn. Begin met organisatie-interne services en stel de gebruiker centraal.
John Billman, product director bij Micro Focus
Tip 6: Maak gebruik van bestaande, bewezen businessprocessen in soa.
Het zijn vaak de oudere, bewezen processen die ten grondslag liggen aan de waarde waarmee bedrijven zich onderscheiden. Door juist deze bestaande bedrijfsprocessen op te nemen in een soa kan een it-afdeling bedrijfslogica hergebruiken die zich in de praktijk heeft bewezen. Hiermee zijn risico's te minimaliseren en wordt de time-to-market van nieuwe bedrijfsinitiatieven versneld. Bestaande applicatie-interfaces kunnen worden gecombineerd tot webservices. Hiermee wordt een service-interface geïmplementeerd op basis van de veranderende eisen en behoeften binnen een organisatie. Het platform- en taalonafhankelijke karakter van soa zorgt ervoor dat webservices via het internet, .NET, J2EE en elke andere soa-omgeving zijn te benutten.
Peter Hermans, eigenaar van Valcre
Tip 7: Denk na wat je niet wilt ver-soa-en.
Het is goed om vooraf te bepalen wanneer een (eigen) soa-initiatief niet zinvol is, bijvoorbeeld als er weinig businessdynamiek is of als de huidige oplossing goed werkt. Wanneer processen getriggerd worden door externe events met veel variabelen is toepassing van bpm geen oplossing (wel EDA). Neem ook geen soa als de flow tru/realtime operations niet relevant is (batch). Ook wanneer ontsluiting van data/functies door maar één applicatie/proces wordt gevraagd, raad ik soa af. Als applicaties uitgefaseerd worden, is een soa niet zinvol (tenzij hiervoor 'wrapping' vereist is). Mijn laatste tip voor het niet ver-soa-en is algemeen van aard: doe het niet wanneer er geen basis voor zakendoen is.
Tom Langerhorst, test consultant bij Approach Alliance
Tip 8: Zorg dat de soa getest is.
Het testen van een client/server informatiesysteem of een monoliet is al lastig genoeg. Het testen van een informatiesysteem in een soa-omgeving is zo mogelijk nog lastiger. Een service draait niet persé bij de systeemeigenaar, kan meerdere malen gebruikt zijn en kan van een externe partij zijn. Hij moet wel altijd beschikbaar zijn om het systeem één systeem te laten zijn, dat het klantproces ondersteunt. De opdrachtgever wil onafhankelijk van de architectuur een werkend systeem. In een soa-omgeving test je daarom in de ontwikkelingsfase de kwaliteit van de integratie met de vele externe koppelingen, tijdens productie hun beschikbaarheid.
Paul Broekhoven, business development executive bij Progress Software
Tip 9: Zorg dat data bij soa niet het ondergeschoven kindje wordt.
'Welke data moeten we uitwisselen?', 'Wat betekent deze data?' en 'Is de data compleet?' zijn veelgehoorde vragen bij integratie binnen soa-projecten. Bij het integreren van nieuwe services moeten deze vragen elke keer weer worden beantwoord. Zelfs 40 procent van de doorlooptijd van een project kan hieraan verloren gaan. Het vooraf modeleren en omschrijven van data en datastromen is dus van enorm belang. Het vastleggen hiervan doen we in de vorm van een common data model (CDM). Het CDM biedt een soa de laatste stap op weg naar volledige loskoppeling van services. Het CDM is hiermee het woordenboek van soa.
Oscar Roelofs, business unit manager bij ion-ip
Tip 10: Neem geen soa zonder SOI.
Webservices en berichtenverkeer groeien zo exponentieel, dat de communicatie-infrastructuur niet meer vergeten kan worden. Veranderende bedrijfsprocessen zijn niet (meer) te integreren zonder slimme netwerken. Het gebruik van applicaties over het internet stelt hoge eisen aan performance, veiligheid, betrouwbaarheid, schaalbaarheid en toegankelijkheid. Het effect van soa is een hercentralisatie van applicaties en content naar het datacenter. Het gaat om 'applicatie & content delivery'. Softwareoplossingen zijn niet afdoende. Slimme investeringen in communicatie-infrastructuren realiseren oplossingen met betere prijs/prestatie-verhouding, zoals besparingen op licentie-, server- en beheerkosten, hogere user experience en besparingen op datacommunicatiekosten. Laat de communicatie-infrastructuren evolueren naar service georiëmteerde infrastructuren (soi). Hierdoor gaat de soa-omgeving pas echt renderen.
Hier heb ik wat aan! Hebben jullie niet meer tips?
Erg duidelijk en breed, zeer bruikbaar!