SOA Testing Grundlagen

SOA (Service-Oriented Architecture) ist in den letzten Jahren ein vielgenutzter und moderner Architekturansatz, um Dienste und Leistungen beispielsweise in einem Netz verfügbar zu machen.

Geschäftsprozesse werden für diesen Zweck in einzelne, wiederverwendbare Aktivitäten mit genau definierten Ein- und Ausgangsparameter zerlegt, welche auf einem oder mehrere Systeme konkret implementiert und über diverse Protokolle zugänglich gemacht werden.

Als Zugriffs- und Transportprotokolle kommen dabei häufig Webservices (oft SOAP über HTTP) oder Message Queueing (oft SOAP über proprietäres MQ Protokoll, z.B. IBM Websphere) zum Einsatz. Bei einer genügend hohen Zahl an Serviceprovider und –consumer wird üblicherweise ein integrierender Mechanismus in Form eines ESB (Enterprise Service Bus) eingesetzt.

Je nach verwendetem Framework bzw. Technologie kann die Kommunikation synchron (Antwort erfolgt im Kontext der Anfrage) oder asynchron ablaufen. Dabei können Techniken wie Webservice, die man aufgrund ihrer technischen Natur als synchron einordnen würde, auch asynchron betrieben werden (Callback Webservice).

Zusätzlich können sicherheitsrelevante Features und Erweiterungen verwendet werden, die einer Kompromittierung des Datenverkehrs vorbeugen oder diese detektieren. Zu diesem Zweck werden Signaturen und Verschlüsselung auf Basis von X.509 Zertifikaten verwendet (zum Beispiel WS-Security).

Der nächste Teil (SOA Testing Herausforderungen) beschreibt die konkreten Herausforderungen des SOA Testings.