Katalog
concept#Architektur#Software Engineering#Integration#Service-orientierte Architektur#Softwareentwicklung

Service-Oriented Architecture (SOA)

Ein Architekturansatz, der Dienste als zentrale Bausteine für die Entwicklung von Softwareanwendungen nutzt.

Die Service-Oriented Architecture (SOA) ist ein Architekturansatz, der darauf abzielt, Softwareanwendungen durch die Bereitstellung von Diensten zu strukturieren.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Architektur
  • Fortgeschritten

Technischer Kontext

DatenbankenExterne APIsCloud-Dienste

Prinzipien & Ziele

Lose Kopplung von DienstenWiederverwendbarkeit von KomponentenInteroperabilität zwischen Systemen
Umsetzung
Unternehmen, Domäne

Use Cases & Szenarien

Kompromisse

  • Abhängigkeit von externen Diensten
  • Sicherheitsrisiken durch offene Schnittstellen
  • Fehlende Standardisierung kann zu Inkonsistenzen führen
  • Dokumentation der Dienste und Schnittstellen.
  • Regelmäßige Überprüfung der Dienstleistungseffizienz.
  • Einhaltung von Sicherheitsstandards.

I/O & Ressourcen

  • Vorhandene Systeme und deren Schnittstellen
  • Anforderungen an die Integration
  • Dienste zur Datenverarbeitung
  • Integrierte Systemlandschaft
  • Erhöhte Flexibilität
  • Wiederverwendbare Dienste

Beschreibung

Die Service-Oriented Architecture (SOA) ist ein Architekturansatz, der darauf abzielt, Softwareanwendungen durch die Bereitstellung von Diensten zu strukturieren. Diese Dienste sind lose gekoppelt und können unabhängig voneinander entwickelt, bereitgestellt und skaliert werden. SOA fördert die Wiederverwendbarkeit von Softwarekomponenten und ermöglicht eine flexible Integration verschiedener Systeme.

  • Erhöhte Flexibilität bei der Softwareentwicklung
  • Bessere Integration von Systemen
  • Optimierte Ressourcennutzung

  • Komplexität bei der Verwaltung von Diensten
  • Mögliche Leistungseinbußen durch Netzwerkaufrufe
  • Höherer Aufwand bei der Entwicklung und Wartung

  • Reaktionszeit der Dienste

    Die Zeit, die ein Dienst benötigt, um auf eine Anfrage zu reagieren.

  • Verfügbarkeit der Dienste

    Der Prozentsatz der Zeit, in der ein Dienst verfügbar ist.

  • Fehlerquote

    Der Anteil der fehlgeschlagenen Anfragen an einen Dienst.

E-Commerce Plattform

Eine E-Commerce Plattform, die verschiedene Dienste für Zahlungsabwicklung, Produktkatalog und Benutzerverwaltung nutzt.

Online Banking System

Ein Online-Banking-System, das Dienste für Transaktionsverarbeitung und Kontoverwaltung integriert.

Reisebuchungsplattform

Eine Reisebuchungsplattform, die verschiedene externe Dienste für Flüge, Hotels und Mietwagen nutzt.

1

Analyse der bestehenden Systeme und Anforderungen.

2

Entwicklung der Dienste und deren Schnittstellen.

3

Durchführung von Tests und Qualitätssicherung.

⚠️ Technische Schulden & Engpässe

  • Veraltete Dienste ohne Wartung.
  • Unzureichende Dokumentation führt zu Wissensverlust.
  • Technische Schulden durch schnelle Lösungen.
NetzwerkengpässeKomplexität der DienstverwaltungSicherheitsanforderungen
  • Übermäßige Abhängigkeit von einem einzelnen Dienst.
  • Ignorieren von Sicherheitsanforderungen.
  • Unzureichende Tests vor der Bereitstellung.
  • Annahme, dass alle Dienste unabhängig sind.
  • Unterschätzung des Aufwands für die Integration.
  • Ignorieren von Performance-Engpässen.
Kenntnisse in der SoftwarearchitekturErfahrung mit API-DesignFähigkeiten in der Dienstintegration
GeschäftsanforderungenTechnologische EntwicklungenMarktdynamik
  • Einhaltung von Sicherheitsstandards
  • Regulatorische Anforderungen
  • Technologische Kompatibilität