Service Oriented Architecture / Opinie
Non-functionele eisen belangrijk bij testen SOA
De kerngedachte achter soa is dat de afzonderlijke verwerkende eenheden met elkaar communiceren zonder dat de wijze waarop gecommuniceerd wordt vast ligt. Dit alles met de gedachte dat het uiteindelijke systeem de business moet ondersteunen in het primaire proces.
Als tester heb je de gereedschapskoffer vol zitten met methoden en technieken, die je kunnen ondersteunen bij het opstellen van de testgevallen. Bij het testen van een soa krijg je te maken met heel andere uitdagingen dan bij een monoliet of een client/server applicatie:
1. Business is eigenaar van het proces
2. Hergebruik van de service
3. De afwezigheid van een GUI
4. Locatie en de beschikbaarheid van de service
Business is eigenaar van proces
De business moet door en de business brengt het geld binnen. Hier moet ict zich naar schikken. Ict is ondersteunend aan de business en dat is altijd zo geweest. Toch heeft ict de afgelopen jaren geprobeerd de vraagstukken van de business op te lossen vanuit de techniek. Waar dat toe heeft geleid, hebben we de afgelopen jaren mee kunnen maken. De soa-gedachte is dat de business leidend wordt in het oplossen van de vraagstukken en dat ict daar de middelen voor heeft om dit te ondersteunen. Doordat de business eigenaar is van het proces, zul je als tester dus ook veel meer te maken krijgen met de business. De business wil onafhankelijk van de architectuur een werkend systeem. De nadruk zal dan komen te liggen op de non-functionele eisen van een systeem zoals beschikbaarheid, betrouwbaarheid en interoperabiliteit.
Hergebruik van service
Een specifieke service, bijvoorbeeld het checken van de geldigheid van een bankrekeningnummer, kan voor meerdere doeleinden worden gebruikt. Enerzijds kan deze service gebruikt worden bij het uitgeven van bankrekeningnummers, anderzijds kan deze zelfde service ook onderdeel zijn van het valideren van een betaling. In beide gevallen wordt de geldigheid van een bankrekeningnummer gecontroleerd en veelal in beide gevallen heb je te maken met een ander proces of systeemeigenaar. Wat nu als de service ten behoeve van het proces van uit te geven bankrekeningnummers gewijzigd wordt, moet je dan als regressietest alle processen hertesten die de service gebruikten of hertest je alleen de services die de gewijzigde service aanroepen? Ook hier heb je te maken met de non-functionele eisen van een systeem, compatibiliteit.
Daarnaast zijn veel services al eerder gerealiseerd door andere partijen en veelal zijn de interfacespecificaties van die services beschikbaar op het net. Want waarom zou je zelf het wiel opnieuw uitvinden als anderen dat al voor je hebben gedaan en de service beschikbaar stellen voor gebruik?
Afwezigheid van user interface
Een groot deel van de services zal zich nooit manifesteren met een gebruikersinterface, toch zul je als tester deze moeten onderwerpen aan een test. Hiertoe kun je gebruikmaken van de keten, maar je kunt ook gebruikmaken van stubs en drivers of de expertise van een ontwikkelaar. Door zelf je tests te ontwikkelen en deze al in een vroeg stadium door de bouwer uit te laten voeren, maak je de service robuuster. Dit heeft als voordeel dat de tester kan doen waar hij goed in is, het vinden van fouten en de ontwikkelaar kan doen waar hij goed in is, het bouwen van een service. Indien er geen documentatie aanwezig is, kan de testspecificatie zelfs dienst doen als ontwerpdocument.
Locatie en beschikbaarheid van service
Binnen een soa hoeft een service niet per se op de locatie van de opdrachtgever te draaien. Sterker nog, veel van de aan te roepen services zullen zelfs buiten de landsgrenzen draaien. Toch wil de business maximale zekerheid als het gaat om de beschikbaarheid van de services. De vraag die dan beantwoord moet gaan worden is hoe we ervoor kunnen zorgen dat we die beschikbaarheid kunnen garanderen. Het antwoord op deze vraag is het maken van bindende afspraken in de vorm van service level agreements (sla's) tussen de afnemer en de provider van de service.
Conclusie
Het testen van een soa is anders dan het testen van een client/server applicatie of een monoliet. Bij een soa zal de nadruk komen te liggen op de non-functionele eisen van een systeem, daar waar bij een 'standaard' systeem veel meer de nadruk ligt op de functionaliteit. De functionaliteit van een soa staat of valt met een juiste samenhang van services en het is dus van groot belang dat de tester de bedrijfsprocessen van de business kan doorgronden. Hiertoe zal zijn gereedschapskoffer met zijn standaard methoden en technieken niet voldoende zijn om een soa op een juiste wijze te testen.
- 13:37 EDA wordt de nieuwe hype
- 12:10 De opvolger van SOA heet EDA
- 11:27 Complexiteit SOA is onderschat
- 09:59 Computable-panel eens over einde SOA-hype
- 11:17 Rendement van SOA blijft vaag
- 13:05 SOA-enthousiasme daalt
- 09:08 IT-architectuur is geen politiebureau
- 05:54 PDC: ontwikkelaars zoeken snelle integratie
- 07:34 Gezocht: Nederlandse gebruikers van OS/2
- 11:25 We leren nu pas werken met ICT
Technologische beloften versus business risico’s
De Service Oriented Approach (SOA) heeft grote voordelen voor bedrijven die het op de juiste wijze implementeren. Het brengt echter ook risico’s met zich mee. Om deze te vermijden moeten de architecten zich al in een vroeg stadium van de management implicaties van SOA bewust zijn.... Download nu
Inzet van BTO voor de optimalisatie van SOA
Service Oriented Architecture (SOA) staat tegenwoordig bovenaan de prioriteitenlijst van CIO’s. Dit komt door de grote verbetering die het teweeg brengt in de flexibiliteit en prestaties van een organisatie. Bij verkeerd gebruik is het echter niet alleen nutteloos, maar brengt het ook grote...... Download nu
Meer SOA whitepapersComputable Events SOA
Computable organiseert in 2008 weer verschillende events met praktijkgerichte informatie over actuele onderwerpen in de ICT:
Webcast
JBoss Operations Network vernieuwd
15-10 14:40 Red Hat introduceert JBoss Operations Network 2.1. Hiermee breidt Red Hat zijn soa-aanbod uit. De nieuwe versie van JBoss Operations Network biedt support en maakt remote...
Meer soa productenCoca-Cola verkort tijd interne begripsvorming
10-07 13:40 Tijdens de grote SAP-conferentie Sapphire in mei 2008 in Berlijn heeft Alexander Grobe, innovatiespecialist bij Coca-Cola, een presentatie gehouden over zijn ervaringen met ARIS...
Meer soa praktijkEDA wordt de nieuwe hype
19-11 13:37 Volgens Gartner wil één op de vijf organisaties een Event Driven Architecture (EDA). Een zelfde percentage heeft er al één. De soa-experts van Computable tippen EDA als de...
Meer soa achtergrondWe leren nu pas werken met ICT
20-10 11:25 In opdracht van detacheerder Yacht is het boek ‘De Belofte’ uitgegeven met daarin visies op de business value van service oriented architecture, geschreven door Nederlandse...
Meer soa opinieBekijk de leveranciers op het gebied van SOA.

