Commit 84713072 authored by Thomas Weißenbacher's avatar Thomas Weißenbacher
Browse files

Merge branch 'master' into 'master'

Small style fixes

See merge request !1
parents 81ab1d08 38c0aa53
......@@ -53,14 +53,14 @@ Die verbreitetsten Implementierungen der Java EE Spezifikation sind der IBM WebS
## Service-oriented Architectures[^t3_6_2]
[Video](https://www.youtube.com/watch?v=SdHuIO8lrOU&t=588){for-image=false}
Serviceorientierte Architektur (SOA, englisch service-oriented architecture), ist ein Architekturmuster aus dem Bereich der verteilten Systeme, um Dienste von IT-Systemen zu strukturieren und zu nutzen. Eine besondere Rolle spielt dabei die Orientierung an Geschäftsprozessen, deren Abstraktionsebenen die Grundlage für konkrete Serviceimplementierungen sind: „Vergib einen Kredit“ ist beispielsweise auf einer hohen Ebene angesiedelt, dahinter verbirgt sich bei einem Bankunternehmen ein Geschäftsprozess mit mehreren beteiligten Personen und informationstechnischen Systemen („Eröffnen der Geschäftsbeziehung“, „Eröffnen eines oder mehrerer Konten“, „Kreditvertrag...“ und so weiter), während „Trage den Kunden ins Kundenverzeichnis ein“ ein Dienst auf einer niedrigeren Ebene ist. Durch Zusammensetzen (Orchestrierung) von Services niedriger Abstraktionsebenen können so recht flexibel und unter Ermöglichung größtmöglicher Wiederverwendbarkeit Services höherer Abstraktionsebenen geschaffen werden.
Serviceorientierte Architektur (SOA, englisch Service-Oriented Architecture), ist ein Architekturmuster aus dem Bereich der verteilten Systeme, um Dienste von IT-Systemen zu strukturieren und zu nutzen. Eine besondere Rolle spielt dabei die Orientierung an Geschäftsprozessen, deren Abstraktionsebenen die Grundlage für konkrete Serviceimplementierungen sind: „Vergib einen Kredit“ ist beispielsweise auf einer hohen Ebene angesiedelt, dahinter verbirgt sich bei einem Bankunternehmen ein Geschäftsprozess mit mehreren beteiligten Personen und informationstechnischen Systemen („Eröffnen der Geschäftsbeziehung“, „Eröffnen eines oder mehrerer Konten“, „Kreditvertrag...“ und so weiter), während „Trage den Kunden ins Kundenverzeichnis ein“ ein Dienst auf einer niedrigeren Ebene ist. Durch Zusammensetzen (Orchestrierung) von Services niedriger Abstraktionsebenen können so recht flexibel und unter Ermöglichung größtmöglicher Wiederverwendbarkeit Services höherer Abstraktionsebenen geschaffen werden.
### Funktionsweise
[Video](https://www.youtube.com/watch?v=SdHuIO8lrOU&t=652){for-image=false}
Vereinfacht kann SOA als Methode bzw. Paradigma angesehen werden, die vorhandenen EDV-Komponenten wie Datenbanken, Server und Websites in Dienste zu kapseln und dann so zu koordinieren („Orchestrierung“), dass ihre Leistungen zu höheren Diensten zusammengefasst und anderen Organisationsabteilungen oder Kunden zur Verfügung gestellt werden können. Maßgeblich sind also nicht technische Einzelaufgaben wie Datenbankabfragen, Berechnungen und Datenaufbereitungen, sondern die Zusammenführung dieser IT-Leistungen zu „höheren Zwecken“ – wie Ausführen einer Bestellung oder Prüfen der Rentabilität einer Abteilung usw. –, die eine Organisationsabteilung anbietet. Bei SOA handelt es sich somit um eine Struktur, welche die Unternehmensanwendungsintegration ermöglicht, indem die Komplexität der einzelnen Anwendungen („Applications“) hinter den standardisierten Schnittstellen verborgen wird.
Ziele sind hierbei die langfristige Senkung von Kosten in der Softwareentwicklung und eine höhere Flexibilität der Geschäftsprozesse durch Wiederverwendung bestehender Services. Die Kosten der Programmierung der n-ten mit SOA realisierten Anwendung sollen reduziert werden oder ganz entfallen, da bereits alle nötigen Services vorhanden seien und diese nur noch orchestriert werden müssten. Es verblieben somit nur die Kosten für die Businessanalyse und Softwarekonfiguration.
Ziele sind hierbei die langfristige Senkung von Kosten in der Softwareentwicklung und eine höhere Flexibilität der Geschäftsprozesse durch Wiederverwendung bestehender Services. Die Kosten der Programmierung der *n*-ten mit SOA realisierten Anwendung sollen reduziert werden oder ganz entfallen, da bereits alle nötigen Services vorhanden seien und diese nur noch orchestriert werden müssten. Es verblieben somit nur die Kosten für die Businessanalyse und Softwarekonfiguration.
Eine technische Form der Umsetzung von SOA ist das Anbieten dieser Dienste im Internet oder in der Cloud. Die Kommunikation zwischen solchen angebotenen Diensten kann über SOAP, REST, XML-RPC oder ähnliche Protokolle erfolgen. Der Nutzer dieser Dienste weiß nur, dass der Dienst angeboten wird, welche Eingaben er erfordert und welcher Art das Ergebnis ist. Details über die Art und Weise der Ergebnisermittlung müssen nicht bekannt sein.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment