www.wikidata.de-de.nina.az
Serviceorientierte Architektur SOA englisch service oriented architecture auch dienstorientierte Architektur ist ein Architekturmuster der Informationstechnik aus dem Bereich der verteilten Systeme um Dienste von IT Systemen zu strukturieren und zu nutzen Eine besondere Rolle spielt dabei die Orientierung an Geschaftsprozessen deren Abstraktionsebenen die Grundlage fur konkrete Serviceimplementierungen sind Vergib einen Kredit ist beispielsweise auf einer hohen Ebene angesiedelt dahinter verbirgt sich bei einem Bankunternehmen ein Geschaftsprozess mit mehreren beteiligten Personen und informationstechnischen Systemen Eroffnen der Geschaftsbeziehung Eroffnen eines oder mehrerer Konten Kreditvertrag und so weiter wahrend Trage den Kunden ins Kundenverzeichnis ein ein Dienst auf einer niedrigeren Ebene ist Durch Zusammensetzen Orchestrierung von Services niedriger Abstraktionsebenen konnen so recht flexibel und unter Ermoglichung grosstmoglicher Wiederverwendbarkeit Services hoherer Abstraktionsebenen geschaffen werden Inhaltsverzeichnis 1 Allgemeines 2 Definition 3 Abgrenzung 4 Beispiel 5 Implementierung einer SOA 6 Modellierung einer SOA 7 Technische Realisierung zur Laufzeit 8 Umfeld 9 Risiken der SOA Einfuhrung 10 Kritik 11 Siehe auch 12 Literatur 13 Hauptquellen 14 Weblinks 15 EinzelnachweiseAllgemeines BearbeitenVereinfacht kann SOA als Methode bzw Paradigma angesehen werden die vorhandenen IT Komponenten wie Datenbanken Server und Websites in Dienste zu kapseln und dann so zu koordinieren Orchestrierung dass ihre Leistungen zu hoheren Diensten zusammengefasst und anderen Organisationsabteilungen oder Kunden zur Verfugung gestellt werden konnen Massgeblich sind also nicht technische Einzelaufgaben wie Datenbankabfragen Berechnungen und Datenaufbereitungen sondern die Zusammenfuhrung dieser IT Leistungen zu hoheren Zwecken wie Ausfuhren einer Bestellung oder Prufen der Rentabilitat einer Abteilung usw die eine Organisationsabteilung anbietet Bei SOA handelt es sich somit um eine Struktur welche die Unternehmensanwendungsintegration ermoglicht indem die Komplexitat der einzelnen Anwendungen Applications hinter den standardisierten Schnittstellen verborgen wird Ziele sind hierbei die langfristige Senkung von Kosten in der Softwareentwicklung und eine hohere Flexibilitat der Geschaftsprozesse durch Wiederverwendung bestehender Services Die Kosten der Programmierung der n ten mit SOA realisierten Anwendung sollen entfallen da bereits alle notigen Services vorhanden seien und diese nur noch orchestriert werden mussten Es verblieben somit nur die Kosten fur die Businessanalyse und Softwarekonfiguration SOA erfordert eine sehr starke Integration der einzelnen IT Komponenten damit deren Orchestrierung kostengunstig gelingen kann SOA spielt somit bereits bei der Auswahl von IT Komponenten eine Rolle 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 uber SOAP REST XML RPC oder ahnliche Protokolle erfolgen Der Nutzer dieser Dienste weiss nur dass der Dienst angeboten wird welche Eingaben er erfordert und welcher Art das Ergebnis ist Details uber die Art und Weise der Ergebnisermittlung mussen nicht bekannt sein Welche Dienste nutzbar sind und wie sie angesteuert werden kann durch einen Verzeichnisdienst wie UDDI in Erfahrung gebracht werden Definition Bearbeiten nbsp Struktur und Elemente von SOADer Begriff serviceorientierte Architektur wurde 1996 von dem Marktforschungsunternehmen Gartner erstmals genutzt 1 Gartner gilt daher als Erfinder des Begriffs SOA Es gibt keine allgemein akzeptierte Definition von SOA Dennoch wird haufig die Definition der OASIS aus dem Jahr 2006 zitiert a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains 2 SOA ist ein Paradigma fur die Strukturierung und Nutzung verteilter Funktionalitat die von unterschiedlichen Besitzern verantwortet wird 3 Zentrales Thema aller Definitionen sind die Dienste Im Folgenden werden die idealtypischen Eigenschaften von Diensten in einer SOA aufgefuhrt In der Praxis werden nicht alle dieser Anforderungen vollstandig eingehalten 4 Ein Dienst ist eine IT Reprasentation von fachlicher Funktionalitat 5 Ein Dienst ist in sich abgeschlossen autark und kann eigenstandig genutzt werden Ein Dienst ist in einem Netzwerk verfugbar Ein Dienst hat eine wohldefinierte veroffentlichte Schnittstelle Vertrag Fur die Nutzung reicht es die Schnittstelle zu kennen Kenntnisse uber die Details der Implementierung sind hingegen nicht erforderlich Ein Dienst ist plattformunabhangig d h Anbieter und Nutzer eines Dienstes konnen in unterschiedlichen Programmiersprachen auf verschiedenen Plattformen realisiert sein Ein Dienst ist in einem Verzeichnis registriert Ein Dienst ist dynamisch gebunden d h bei der Erstellung einer Anwendung die einen Dienst nutzt braucht der Dienst nicht vorhanden zu sein Er wird erst bei der Ausfuhrung lokalisiert und eingebunden Ein Dienst sollte grobgranular sein um die Abhangigkeit zwischen verteilten Systemen zu senken Abschliessend ist anzumerken dass es die SOA nicht gibt SOA ist vielmehr nur eine Sichtweise die auf verschiedene Arten interpretiert werden kann Abgrenzung BearbeitenSOA ist nicht Webservices SOA beschreibt losgelost von konkreten Implementierungsmethoden und techniken ein Architekturparadigma SOA ist nicht neu eine serviceorientierte Architektur konnte auch schon Jahre vor der Einfuhrung des Begriffes mit den damals vorhandenen Methoden und Verfahren umgesetzt werden und fand unter anderem 1991 mit CORBA ihre Anwendung SOA ist keine Losung fur fachliche Probleme als Architekturparadigma gibt SOA keine Empfehlung zur Behandlung von fachlichen Problemen Siehe hierzu auch den Abschnitt Kritik SOA ist individuell es gibt keine Standard SOA Ein Unternehmen muss eine SOA immer auf die eigenen Bedurfnisse zuschneiden Beispiel BearbeitenAls Beispiel fur einen Geschaftsprozess dient die Bestellung eines Kunden bei einem Versandhandler Bei diesem gibt es folgende Prozessschritte Erfassung Verfugbarkeitsprufung Bonitatsprufung Bestellung Kommissionierung Versand Rechnungsstellung ZahlungseingangFur jeden Geschaftsprozessschritt gibt es einen Dienst Die Implementierung Programmiersprache Systemvoraussetzungen usw kann unterschiedlich sein Auch konnen die Dienste auf unterschiedlichen Systemen sogar in unterschiedlichen Unternehmen implementiert sein So konnte die Zahlungsfahigkeit des Kunden von einem Finanzdienstleister ermittelt werden oder die diversen Logistikdienste werden von einem Logistikdienstleister erbracht Schlusselinformationen wie Kundennummer oder Artikelnummer werden den Diensten von der Infrastruktur zur Verfugung gestellt so weit diese jeweils gebraucht werden Die Abfolge muss nicht so sequentiell erfolgen wie dargestellt Im Gegenteil die meisten Geschaftsprozessschritte konnen scheitern Mangelnder Bestand fehlende Bonitat und ausbleibender Zahlungseingang fuhren zu Verzweigungen die entsprechend abweichende Vorgehensweisen erfordern Auch die gleichzeitige Verarbeitung mehrerer Geschaftsprozessschritte beispielsweise Versand und Rechnungsstellung ist moglich Wichtig ist jedoch dass beispielsweise die Bonitatsprufung immer dieselbe ist auch wenn sie von unterschiedlichsten Prozessen oder sogar Firmen genutzt wird Damit werden wichtige Ziele von SOA wie zum Beispiel leichtere Pflegbarkeit bessere Durchgangigkeit und mehr Einheitlichkeit erreicht Ein einmal implementierter Dienst kann auf Dauer erhalten bleiben er muss nicht immer wieder angefasst werden wenn sich Geschaftsprozesse andern wodurch Aufwand gespart und Fehler vermieden werden Entscheidet sich das Unternehmen die Bonitatsprufung in andere Hande zu legen so muss die Infrastruktur diesen Dienst nur bei einem anderen Anbieter aufrufen Sonst andert sich nichts weiter Implementierung einer SOA BearbeitenDer folgende Absatz bedarf einer grundsatzlichen Uberarbeitung Naheres sollte auf der Diskussionsseite angegeben sein Bitte hilf mit ihn zu verbessern und entferne anschliessend diese Markierung Eine Implementierung einer SOA basiert wesentlich auf Entscheidungen uber die Kommunikation und Integration zwischen Dienstgebern auch Dienstanbieter und Dienstnehmern auch Dienstnutzer Dienstkonsument sowie der Abbildung von Geschaftsprozessen Fur die Kommunikation zwischen Dienstnutzer und anbieter konnen beliebige Netzwerkprotokolle genutzt werden da diese lediglich als Transportvehikel fur die eigentliche Nachricht der Anwendung dienen Verbreitet sind Protokolle wie IIOP DCOM DCE oder SNA CORBA SAP RFC Remote Function Call und auch das Web Ubertragungsprotokoll HTTP das trotz einiger Nachteile im Bereich Sicherheit und Zuverlassigkeit durch das Internet besondere Popularitat erlangte Auch wenn Webservice kein normierter Begriff ist wird im gangigen Sprachgebrauch damit die Ubertragung von Nachrichten zwischen Anwendungen unter Verwendung des HTTP Transportprotokolls bezeichnet Alternativ zu HTTP werden auch hin und wieder die asynchronen Protokolle SMTP und FTP eingesetzt Da HTTP ein Transportprotokoll zur Sicherstellung der vollstandigen und fehlerfreien Ubertragung von beliebigen Nachrichten ist sagt es uber Struktur und Inhalt der ubertragenen Nachricht nichts aus Die eigentliche Nachricht wird deshalb nochmals in ein Webservice Protokoll eingepackt Denkbar sind dabei REST JSON oder JMS basierte Ubertragung oder SOAP basierte Nachrichten die uber die WSDL beschrieben werden und beide per XML formuliert werden AMQP ist hierzu eine Alternative da es als ein binares offenes Format fur eine Message Oriented Middleware MOM nicht uber HTTP sondern direkt uber TCP Daten austauscht Die Integration einzelner Dienste kann in einer SOA uber Punkt zu Punkt Verbindungen realisiert werden Bei Punkt zu Punkt Verbindungen wird eine Verbindung zwischen Dienstgeber und nutzern individuell entworfen entwickelt und administriert Bei einer grossen Anzahl von Kommunikationswegen empfiehlt es sich allerdings die Nachrichten grundsatzlich uber einen zwischengeschalteten Vermittler einer Middleware oder auch Message Broker genannt zu senden Diese Middleware ubernimmt wiederkehrende Arbeiten wie die Wandlung von Protokollen Filtern und Umleiten Routing von Nachrichten und garantiert deren sichere Zustellung und Ereignisbearbeitung Wenn diese Middleware beliebig erweiterbar und protokollunabhangig aufgebaut ist spricht man von einem Enterprise Service Bus ESB Von Ausnahmen abgesehen reduziert eine Message Oriented Middleware die Gesamtkomplexitat einer Rechnerlandschaft bereits bei sehr wenigen miteinander kommunizierenden Rechnern Die Abbildung von Geschaftsprozessen kann speziell entwickelt werden oder einen Standard wie BPEL nutzen In BPEL beschriebene Prozesse sind auf geeigneten Plattformen direkt ausfuhrbar Die BPEL eignet sich damit zur technischen Implementierung von Geschaftsprozessen bzw zur Definition der Orchestrierung von Diensten Im Jahr 2007 bildeten viele SOA Implementierungen die Geschaftsprozesse durch speziell dafur entwickelte Anwendungen ab Langfristig wird erwartet dass sich BPEL fur die Abbildung der Geschaftsprozesse durchsetzt 4 Bei der Implementierung wird das SOA Paradigma in der Regel ab einem bestimmten Punkt durchbrochen die einzelnen Dienste der SOA werden dann durch reine Clients wie beispielsweise Webbrowser angesprochen die an sich nicht mehr Teil der SOA sind Die Aktivitaten Entscheidungen Rollen und Verantwortlichkeiten zur Regulierung und Kontrolle einer serviceorientierten Architektur werden als SOA Governance bezeichnet Innerhalb der SOA Governance werden die Regeln einer SOA erarbeitet und uberwacht Modellierung einer SOA BearbeitenEs gibt diverse Moglichkeiten SOA mit einer Modellierungssprache zu beschreiben Von der OMG gibt es die Open Source Spezifikation SoaML mit der man SOA Dienste mittels eines erweiterten UML Profils durch Verwendung eigener Stereotype darstellen kann Technische Realisierung zur Laufzeit BearbeitenDie Interaktion zwischen Dienstanbieter und Dienstnehmer lauft nach dem Paradigma von publish or register find bind execute zu Deutsch veroffentlichen oder registrieren finden binden ausfuhren ab 6 Publish or register Der Diensteanbieter veroffentlicht oder registriert seinen Dienst in einem Verzeichnis Find Die Softwarekomponente die einen Dienst benutzen mochte sucht ihn in einem Verzeichnis Wird ein passender Dienst gefunden kann zum nachsten Schritt ubergegangen werden Bind Die benutzende Komponente erhalt vom Verzeichnis eine Referenz Adresse unter der sie auf den Dienst zugreifen kann Der Funktionsaufruf wird an diese Adresse gebunden Execute Der Dienst wird aufgerufen Eingabeparameter werden an den Dienst ubermittelt und Ausgabeparameter als Antwort auf den Aufruf zuruckgeliefert Umfeld BearbeitenDer Begriff serviceorientierte Architektur ist in das folgende Umfeld einzuordnen Prozessmanagement auch Geschaftsprozessmanagement GPM Die Definition der Prozesse des Business die durch die IT unterstutzt werden IT Service Management ITSM Methoden die notig sind um die bestmogliche Unterstutzung von Geschaftsprozessen GP durch die IT Organisation zu erreichen Der hier bekannte De facto Standard ist ITIL Risiken der SOA Einfuhrung BearbeitenDurch das Ausmass an Beeinflussung bestehender Organisationsstrukturen und Geschaftsprozesse hangt die Einfuhrung einer serviceorientierten Architektur massgeblich von der Unterstutzung und Mitarbeit der Belegschaft und vor allem des Managements ab Durch seine grossere Komplexitat gegenuber monolithischen Programmstrukturen erfordert die Entwicklung einer SOA einen hoheren Initialaufwand und spielt ihre Einsparungen erst dann aus wenn grundlegende Services bereits existieren und in breiteren Anwendungsgebieten eines Unternehmens genutzt werden konnen Die Einfuhrung fur ein einzelnes Projekt in der Hoffnung dieses zu verbessern ist durch die hohere Komplexitat in der Regel zum Scheitern verurteilt und auch sinnlos solange nicht die Anforderungen anderer potenzieller Anwendungsbereiche geklart sind Ausserdem erfordern Design Implementation und Wartung einer SOA ein hohes Mass an Methodenunterstutzung Daher hat sich die Moglichkeit einer Wiederverwendung oder gemeinsamen Nutzung von Services oder Servicemodulen durch andere Prozesse Abteilungen usw nicht im erhofften Umfang realisieren lassen ihre Wahrscheinlichkeit wird selbst von Gartner Research den Urhebern des Konzepts auf nur 20 Prozent geschatzt 7 Zudem konfligiert das Ziel der Wiederverwendbarkeit mit dem der Flexibilitat Daher sind viele SOA Projekte gescheitert Wahrend laut AMR Research im Jahr 2007 22 Milliarden nach IDC 6 Milliarden US Dollar fur SOA Projekte ausgegeben wurden ist der Hype und damit auch der Umfang der neu veroffentlichten Literatur zum Thema SOA seit der Finanzkrise 2008 deutlich zuruckgegangen Relevant bleiben werden nach Experteneinschatzungen jedoch andere serviceorientierte Architekturansatze wie Software as a Service SaaS und Cloud Computing 8 Kritik BearbeitenSOA unterliegt zurzeit dem Begriffsmissbrauch durch Marketingabteilungen die ihren Kunden durch Einfuhrung von SOA die Losung aller bisherigen Probleme versprechen Wie unter Abgrenzung aber beschrieben ist SOA weder eine Losung fur fachliche Probleme in Unternehmen noch gibt es eine standardisierte SOA die man einem Unternehmen als solches verkaufen konnte Sind fachliche Probleme vorhanden wird die Einfuhrung von SOA aus genannten Grunden mit hochster Wahrscheinlichkeit scheitern SOA generiert durch die Arbeit die in die Entkopplung von Diensten gesteckt werden muss einen hoheren Aufwand als bisherige monolithische Programmstrukturen SOA erzeugt im Code wesentlich komplexere Ablaufe was das Schreiben von Protokolldateien logging und die Fehlersuche debugging deutlich erschwert Ebenso sind Tests zwangslaufig wesentlich komplexer SOA setzt fur die beteiligten Entwickler ein erhebliches Know how voraus Somit sind Entwickler auch nicht so einfach ersetzbar und die Abhangigkeit der Unternehmen von einzelnen Entwicklern steigt deutlich SOA wird zumeist mit Diensten realisiert die in irgendeiner Form per XML miteinander kommunizieren was vom hohen Standardisierungsgrad und der Plattformunabhangigkeit dieser Auszeichnungssprache herruhrt Da XML fur die Analyse und Nutzung im Programmablauf beim aktuellen Stand der Technik aber deutlich mehr Rechenzeit und in der Ubertragung ein hoheres Datenvolumen in Anspruch nimmt als ein herkommlicher Funktionsaufruf entsteht hier ein zusatzlicher Aufwand overhead der entsprechende Kosten verursacht Siehe auch BearbeitenUnternehmensarchitektur Architektur interoperabler Informationssysteme Workflow Management Dienstekomposition Verteilte Anwendung WS Business Process Execution Language Service Component Architecture Service Data Objects Lose Kopplung Ereignisgesteuerte Architektur Service oriented ComputingLiteratur BearbeitenStephan Aier Marten Schonherr Hrsg Enterprise Application Integration Serviceorientierung und nachhaltige Architekturen Enterprise Architecture Band 2 2 Auflage Gito Berlin 2006 ISBN 3 936771 74 X Norbert Bieberstein Robert G Laird Keith Jones Tilak Mitra Executing SOA a practical guide for the service oriented architect Pearson Upper Saddle River 2008 ISBN 978 0 13 235374 8 Norbert Bieberstein Sanjay Bose Marc Fiammante Keith Jones Rawn Shah Service Oriented Architecture Compass Business Value Planning and Enterprise Roadmap Pearson Upper Saddle River 2006 ISBN 0 13 187002 5 Daniel Liebhart SOA goes real Hanser Verlag 2007 ISBN 978 3 446 41088 6 Christoph Mathas SOA intern Hanser Verlag 2008 ISBN 978 3 446 41189 0 Knut Hildebrand IT Integration amp Migration Dpunkt Verlag Heidelberg 2007 ISBN 978 3 89864 455 6 Kai J Oey Holger Wagner Simon Rehbach Andrea Bachmann Mehr als alter Wein in neuen Schlauchen Eine einfuhrende Darstellung des Konzepts der serviceorientierten Architekturen In Stephan Aier Marten Schonherr Hrsg Unternehmensarchitekturen und Systemintegration Enterprise Architecture Band 3 2 Auflage Gito Berlin 2006 ISBN 3 936771 75 8 S 197ff Martin van den Berg Norbert Bieberstein Erik van Ommeren SOA for Profit A Manager s Guide to Success with Service Oriented Architecture 2007 ISBN 978 90 75414 14 1 Thomas Erl Service Oriented Architecture Concepts Technology and Design Prentice Hall PTR Upper Saddle River 2004 ISBN 0 13 185858 0 Ingo Melzer u a Service orientierte Architekturen mit Web Services 3 Auflage Spektrum Verlag 2008 ISBN 978 3 8274 1993 4 OSGi Service Platform Release 3 IOS Press 2003 ISBN 1 58603 311 5 englisch David A Chappell Enterprise Service Bus Theory in Practice O Reilly Media 2004 englisch ISBN 978 0 596 00675 4 Frank Leymann Dimka Karastoyanova u a Hrsg Service Oriented Architecture Overview of Technologies and Standards Schwerpunktthemenheft der Zeitschrift it Information Technology Vol 50 2008 Heft 2 Jorn Axel Meyer Alexander Tirpitz Service orientierte Architekturen im Mittelstand Zwischen technisch Machbarem und kaufmannisch Sinnvollem Josef Eul Verlag Lohmar 2009 ISBN 978 3 89936 765 2 Hans Peter Froschle Stefan Reinheimer Serviceorientierte Architekturen Praxis der Wirtschaftsinformatik HMD 253 dpunkt verlag 2007 ISBN 978 3 89864 434 1 Dirk Krafzig Karl Banke Dirk Slama Enterprise SOA Service Oriented Architecture Best Practices Prentice Hall PRT 2007 ISBN 978 0 13 146575 6 Dieter Masak SOA Serviceorientierung in Business und Software Springer Verlag 2007 ISBN 978 3 540 71871 0 Louise E Moser P M Melliar Smith Service Oriented Architecture and Web Services In Wiley Encyclopedia of Computer Science and Engineering 2009 ISBN 978 0 471 38393 2 doi 10 1002 9780470050118 ecse510 Johannes Maximilian Ahrens Gestaltung und Verbesserung von Services unter besonderer Beachtung von Cloud Computing und Serviceorientierten Architekturen Dissertation St Gallen 2016 mit 64 Seiten Literaturverzeichnis Hauptquellen BearbeitenTill Rausch Service Orientierte Architektur Ubersicht und Einordnung 2006 Memento vom 10 Oktober 2008 im Internet Archive PDF 472 kB Gesellschaft fur Informatik Informatiklexikon Serviceorientierte Architektur zuletzt abgerufen am 18 Januar 2016Weblinks BearbeitenThe SOA Manifesto Authors SOA Manifesto 23 Oktober 2009 englisch Nicolai M Josuttis SOA Manifest 2009 Ubersetzung des SOA Manifesto What is SOA SOA Systems Inc englisch Website mit ausgepragten Definitionen zu SOA Wolfgang Herrmann SOA FAQ IDG Business Media GmbH SOA Blog der Computerwoche SOA Security Kompendium Memento vom 17 Dezember 2012 im Webarchiv archive today BSIEinzelnachweise Bearbeiten Research Note SPA 401 068 12 April 1996 Service Oriented Architectures Part 1 und SSA Research Note SPA 401 069 12 April 1996 Service Oriented Architectures Part 2 Reference Architecture Foundation for Service Oriented Architecture Version 1 0 04 December 2012 online Reference Model for Service Oriented Architecture 1 0 Committee Specification 1 2 August 2006 oasis open org a b Bianco Phil Kotermanski Rick Merson Paulo Evaluating a Service Oriented Architecture Software Engineering Institute der Carnegie Mellon University September 2007http www sei cmu edu publications documents 07 reports 07tr015 html SOA in der Praxis Nicolai Josuttis 2008 Haibin Zhu Challenges to Reusable Services scc 2005 IEEE International Conference on Services Computing SCC 05 Vol 2 2005 S 243 244 Siehe schon im Jahr 2006 kritisch David Chappell SOA and the Reality of Reuse August 2006 Online davidchappell com abgerufen am 16 Mai 2015 Wolfgang Herrmann Die Rezession hat SOA das Genick gebrochen In Computerwoche 16 Oktober 2008 online computerwoche de Abgerufen von https de wikipedia org w index php title Serviceorientierte Architektur amp oldid 235813414