SOA-Entwicklung
Die Vorgehensweise für die Implementierung eines SOA-Programms kann sich von den traditionellen Modellen der Entwicklung von Unternehmenssoftware unterscheiden. In der Regel ist der gesamte Geschäftsablauf eines Unternehmens von der IT-Infrastruktur abhängig, auch bei SOA. Die Zuverlässigkeit der Architektur muss also gesichert sein. Dies wird vor allem dann zur Herausforderung, wenn das SOA-Programm mehrere, parallel laufende Projekte umfasst, die von unterschiedlichen Software-Unternehmen durchgeführt werden. Wenn in einem solchen Fall die Verantwortung für das Testen den einzelnen Entwicklerteams überlassen wird, kann dies zu doppelter Arbeit und zusätzlichen Risiken während der Integration und beim Management des Service Life Cycle führen. Die Lösung ist ein zentrales Quality Engineering Team. Dieses Team gibt einen klaren Rahmen für die Qualitätskontrolle vor und macht es den Entwicklerteams damit einfacher, ihre Lieferungen für den Akzeptanz-Test vorzubereiten. Eine Fokussierung auf die Programmebene, ein tiefes Verständnis der fachlichen Anforderungen und ein frühzeitiges Integrationstesten kann Probleme bereits in frühen Phasen des Entwicklungszyklus entdecken – dann, wenn diese noch leicht zu beheben sind.
Eine der Hauptvorteile von SOA für das Geschäft eines Unternehmens ist die Fähigkeit, die IT schnell an den sich ändernden Wettbewerb zu adaptieren. Dies aber lässt den Arbeitsaufwand für Regressionstests exponentiell mit der Größe des Systems wachsen. Ein Ausweg aus diesem Dilemma ist die Testautomatisierung. SOA-Schnittstellen sind naturgemäß wesentlich weniger volatil als GUI-interfaces. Dies minimiert die zukünftigen Kosten für die Wartung der Test-Suite.
