Das System wird in eigenständige Dienste (Services) unterteilt. Dienste sind kleine, lose-gekoppelte und eigenständige Softwarekomponenten.
Die Dienste werden kombiniert, wodurch ein Anwendungssystem entsteht, das leicht anpassbar und änderbar bleiben soll. Voraussetzung hierfür ist, dass die Entwicklungsprozesse und die Kultur der Softwareentwicklung flexibel sind.
- Bei jedem geschäftskritischen Vorhaben
- Für die Lösung komplexer Aufgabenstellungen wie beispielsweise die Modernisierung bestehender Systeme
- Schrittweise Migration großer Legacy-Systeme. Auch hier bietet SOA aufgrund der Flexibilität und Mächtigkeit seiner Einzelkomponenten entsprechende Mechanismen
- Das Schnittstellenproblem lässt sich in den Griff bekommen
- Besseres Verständnis und höhere Transparenz der Geschäftsprozesse
- Bessere Austauschbarkeit, Wartbarkeit und Erweiterbarkeit durch Vereinheitlichung, Standardisierung
- Unterschiedliche Technologien (und Programmiersprachen) können gekoppelt werden
- Legacy-Systeme können eingebunden werden
- Besser strukturierte, besser dokumentierte und an Geschäftsprozessen orientierte IT-Services
- Agil änderbare flexible Geschäftsprozesse (kürzere „Time to market“)
- Qualitätsverbesserung durch bessere Testbarkeit und Vergleichbarkeit
- Geringes Risiko bei Änderungen
- Mittel- bis langfristige Kosteneinsparungen