Service Oriented Architecture / Opinie
SOA-ketentesten: de zwakste schakel
Solution Architect
Expert van Computable voor de topics: SOA en ICT-branche
MeerIk ben betrokken bij diverse soa-test automation-projecten. In veel van deze projecten speelt er naast alle aspecten rond het testen nog iets anders een rol. Voordat je kan beginnen met testen heb je een testomgeving nodig. Dat begint natuurlijk met de nodige hardware en software. Van ijzer, OS tot en met (middleware) software, alles moet aanwezig, geïnstalleerd en geconfigureerd zijn voor je met testen kan beginnen.
Als de applicatie die je gaat testen nu monolithisch is, dan is het opzetten van een testomgeving een klus, maar over het algemeen goed te doen. Als je in een volledig gedistribueerde op soa-principes gebaseerde omgeving een testomgeving nodig hebt, dan is dat wel even een heel ander verhaal. Niet alleen is de hoeveelheid hardware en software die je in een dergelijke omgeving nodig hebt vele malen meer dan in een monolithische omgeving. Het inregelen, configureren en met elkaar verbinden van alle componenten is ook nog eens veel complexer. Het vervelende is dan uiteraard ook nog eens dat het uitvoeren van een integratietest of een ketentest vaak alleen maar zin heeft als alle componenten die hier een rol in spelen allemaal aanwezig zijn en goed (samen)werken. De keten is natuurlijk zo sterk als de zwakste schakel.
Ook hier kan virtualisatie een rol spelen. Zoals het virtualiseren van hardware helpt bij het inrichten van een omgeving (denk aan VMware), zo helpt virtualisatie van de applicatielogica bij het opzetten van een ketentest. Neem als voorbeeld een zojuist ontwikkelde webapplicatie die gebruik maakt van een mainframe via een webservice. Om de webapplicatie te kunnen testen is het mainframe nodig. Door nu de webservice die de verbinding vormt met het mainframe virtueel te maken, is de webapplicatie te testen zonder dat daarvoor een mainframe nodig is. Gebruikelijk is dat ontwikkelaars voor dit doel een stub schrijven, een klein programmatje dat de webservice implementeert en op bij elke vraag een standaard antwoord geeft. Nadeel is dat er totaal geen flexibiliteit in dit antwoord zit en dat als de interface wijzigt je als tester een programmeur nodig hebt om de stub aan te passen. Door het inzetten van een testplatform voor de implementatie van deze virtuele services is het opeens wel mogelijk voor een tester om een flexibele, zelf aan te passen en van logica voorziene service te maken die in de plaats van het mainframe gebruikt kan worden tijdens het testen. Zelfs in een loadtest-scenario is de virtuele service te gebruiken, omdat deze notie heeft van de reactietijd van het mainframe (via een soort zelflerend systeem) kan je een loadtest uitvoeren van de webapplicatie zonder een duur en onhandig mainframe nodig te hebben. Virtuele services beperken zich uiteraard niet tot webservices, allerlei componenten lenen zich ervoor om gevirtualiseerd te worden, denk bijvoorbeeld aan messages queue's, ESB's en databases.
Virtuele services komen in twee smaken: zelflerend aan de hand van een 'record and playback' scenario (ideaal voor services waarvan de achterliggende infrastructuur niet altijd beschikbaar is, zoals een mainframe of een thirdparty service), de tweede variant is een 'service generator', op basis van een interface-beschrijving (bijvoorbeeld een WSDL) wordt een service-implementatie gegenereerd die een tester dan zelf zonder programmeren kan voorzien van logica (een lijst met vaste input en output waardes of een bepaald dynamisch gedrag). Hiermee wordt een keten opeens wel testbaar, terwijl zonder deze voorzieningen de keten heel vaak door de zwakste schakel onderbroken wordt.
- 09:19 SAP RPM ondersteunt vooral zichzelf
- 09:01 Oracle Primavera staat nog in de steigers
- 08:54 Microsoft Office Enterprise Project Management
- 09:37 HP PPM Center faalt op rapportagebied
- 09:10 Financieel beheer is zorgenkind van CA Clarity
- 08:50 Projectbeheer is een vlag met vele ladingen
- 11:38 Software AG bouwt Europees bolwerk op
- 10:13 Wie test een service-oriented architecture?
- 14:40 Webservices koop en maak je, SOA kies je
- 10:16 Software AG begint integratie IDS Scheer
Til het mainframe naar een hoger plan
De afgelopen jaren heeft de veelbesproken democratisering van IT geleid tot een overvloed aan keuzen voor gebruikers;......
Computable Events - SOA
Computable organiseert events met praktijkgerichte informatie over actuele onderwerpen in de ICT:
Barracuda Networks introduceert backupdienst
13-10 10:17 Barracuda Backup Service biedt sinds kort een complete data back-up oplossing. De Barracuda Backup Server verschaft complete lokale data backup, in combinatie met een storage...
SOA productenKLM krijgt nieuwe Java EE deployments
18-01 14:15 In de strijd om de beste business cases van 2009 heeft ook XebiaLabs een inzending gedaan. Met het project 'KLM Java EE deployments' dingen zij mee naar de prestigieuze...
SOA praktijk'Een Enterprise Service Bus is nog geen SOA’
10-12 09:40 Voor onze jaarlijke Consultancy Guide vroegen we onze Computable-experts waarom je als bedrijf een consultant zou moeten inhuren om je te laten adviseren over een Service Oriented...
SOA achtergrondWie test een service-oriented architecture?
02-03 10:13 Testers zijn van nature eigenzinnige ict'ers en je komt ze in alle soorten en maten tegen binnen de projecten. Toch kun je niet alle testers een SOA laten testen of onderdelen...
SOA opinie

