Skip to main content

2010 | Buch

Service-orientierte Architekturen mit Web Services

Konzepte – Standards – Praxis

insite
SUCHEN

Über dieses Buch

Service-orientierte Architektur: Modewort oder ernstzunehmende Entwicklung? Dieses Buch möchte den Mythos entzaubern, indem es die grundlegenden Aspekte und Eigenschaften erläutert, die hinter SOA und Web Services stecken.

Service-orientierte Architekturen mit Web Services wurde unter Beachtung der Anforderungen von Architekten und Entwicklern geschrieben. Es bietet sowohl für IT-Experten und Manager als auch für Studenten eine fundierte Basis. Ziel ist es, bleibende Grundlagen zu vermitteln – es handelt sich daher nicht um ein Programmierhandbuch. Möchten Sie jedoch besser verstehen, was eine Service-orientierte Architektur ausmacht, wird Ihnen dieses Buch wertvolle „Dienste" leisten.

Inhaltsverzeichnis

Frontmatter
1. Einleitung
Zusammenfassung
Service-orientierte Architektur – Modewort, schlichtes Verkaufsargument, Marketinggag oder ernst zu nehmende Entwicklung, zukunftsweisende Technologie, trag- und ausbaufähiges Konzept? Dieses Buch möchte den Mythos entzaubern und es ermöglichen, sich selbst ein Bild davon zu machen, indem die grundlegenden Aspekte und wichtigsten Eigenschaften erläutert werden, die hinter (einer) SOA und hinter Web Services stecken.
Der Aufbau folgt dem Gedanken „von der Theorie zur Praxis“ beziehungsweise „vom Großen zum Kleinen“, stets mit dem Ziel vor Augen, das Verständnis für die Ideen hinter den Dingen zu wecken.
Ingo Melzer
2. Service-orientierte Architektur
Zusammenfassung
Service-orientierte Architekturen, kurz SOA, sind das abstrakte Konzept einer Software-Architektur, in deren Zentrum das Anbieten, Suchen und Nutzen von Diensten über ein Netzwerk steht. Diese Dienste werden plattformübergreifend von Applikationen oder anderen Diensten genutzt. Ein wesentlicher Vorteil einer SOA ist die Unabhängigkeit von der jeweiligen Implementierung. Dies ermöglicht eine funktionale Zerlegung der Anwendungen und erleichtert eine prozessorientierte Betrachtungsweise. Teilprozesse oder Dienste können über das Netzwerk angesprochen werden. Im Idealfall ist sogar eine einfache Integration ganzer Anwendungen möglich.
Ingo Melzer
3. Service-orientierte Organisation
Zusammenfassung
Ein wesentlicher Baustein zum Erfolg von SOA liegt in der Hoffnung von Unternehmen, durch SOA eine erhöhte Flexibilität gewinnen und Geschäftsprozesse schnell mit Unterstützung der IT ändern zu können. Dieses Ziel kann nur erreicht werden, wenn Geschäftsbereiche und IT am gleichen Strang ziehen und eine Standardisierung auf den unteren Ebenen durchgeführt wird. Dafür ist Unterstützung aus den oberen Ebenen und Nachhaltigkeit notwendig. Dieser Punkt wird meist unter dem Begriff „Governance“ zusammengefasst. Eine erfolgreiche Umsetzung erfordert eine entsprechend aufgestellte Organisation. Man benötigt die Unterstützung vom Management, Standardisierungsgruppen und passende Prozesse – kurz, eine Service-orientierte Organisation (SOO).
Ingo Melzer
4. Web-Services-Architektur
Zusammenfassung
Das einleitende Zitat beschreibt ein Dilemma der Service-orientierter Architekturen: Es wird zunächst eine konkrete Implementierung der Idee einer SOA benötigt. Web Services sind ein solcher Ansatz. Aber die fast unüberschaubare Vielzahl an Spezifikationen erschwert die Standardisierung und die Interoperabilität von Systemen. Es gibt auch kaum mehr einen Softwareanbieter, der nicht damit wirbt, dass sein ProduktWeb Services unterstützt.
Im Wesentlichen gibt es zwei Gruppen von Kritikern: Die einen halten entgegen, dass bereits konkrete SOA-Implementierungen aus dem Bereich von verteilten Anwendungen existieren. Aber sind diese wirklich in der Lage, die Anforderungen einer SOA vollständig zu erfüllen? Die andere Gruppe ist zwar der Ansicht, dass die bereits existierenden Implementierungen nicht ausreichen, allerdings halten sie Web Services für einen ebenso ungeeigneten Ansatz. In diesem Kapitel wird mit einigen Gerüchten bezüglich der Probleme hinsichtlich der Möglichkeiten, der Mächtigkeit und der Interoperabilität von Web Services aufgeräumt und Web Services in die Gemeinschaft der erfolgreichen Systeme aus dem Bereich der verteilten Anwendungen eingereiht.
Ingo Melzer
5. SOAP
Zusammenfassung
In diesem Kapitel wird SOAP, die Kommunikationskomponente von Web Services, besprochen. SOAP ist nicht an ein bestimmtes Betriebssystem oder eine Programmiersprache gebunden. Die SOAP-Spezifikation legt ausschließlich fest, wie eine Nachricht aufgebaut sein muss, um als SOAP-Nachricht gelten zu können. Die Umsetzung dieser Nachricht in die entsprechenden Systeme der SOAP-Nutzer (etwa Betriebssystem oder Programmiersprache) ist nicht Gegenstand der Spezifikation. Jedem SOAP-Nutzer bleibt es selbst überlassen, die für ihn optimale Laufzeitumgebung zu nutzen oder selbst zu entwickeln.
Diesem Kapitel liegt die SOAP-Version 1.2 zugrunde.
Ingo Melzer
6. Web Services Description Language
Zusammenfassung
Die plattformunabhängige Beschreibung von Schnittstellen ist ein wichtiger Baustein für eine Service-orientierte Architektur. Eine derartige Spezifikation beinhaltet alle wesentlichen Informationen, um die entfernte Dienstschnittstelle ohne weiteres Implementationswissen nutzen zu können. Auf diese Weise können Anwendungen flexibel aus Diensten unterschiedlicher Kommunikationspartner zusammengesetzt werden.
Die Web Services Description Language (WSDL) ermöglicht sowohl die abstrakte Beschreibung von Schnittstellen mit ihren Operationen, als auch die konkrete Beschreibung technischer Informationen zum Aufruf des Dienstes. Zusammen mit SOAP bildet WSDL die Grundlage für interoperable Web-Services-Umgebungen. Das vorliegende Kapitel führt in diese Schnittstellenbeschreibungssprache ein.
Ingo Melzer
7. Verzeichnisdienste für Web Services
Zusammenfassung
Verzeichnisdienste bieten eine durchsuchbare Übersicht über sämtliche Ressourcen in einem Netzwerk und machen diese Übersicht Benutzern und Applikationen zugänglich.
Wegen ihrer Übersichtsfunktion sind sie deshalb ein unverzichtbarer Bestandteil von Service-orientierten Architekturen. Aus diesem Grund werden in diesem Kapitel Web Services Inspection Language (WS-Inspection) und Universal Description, Discovery & and Integration (UDDI), zwei der für Service-orientierte Architekturen wichtigsten Verzeichnisdienste, vorgestellt.
DesWeiteren werden Nutzungsszenarien präsentiert, um Möglichkeiten zum gewinnbringenden Einsatz von Verzeichnisdiensten im Rahmen von SOA aufzuzeigen.
Ingo Melzer
8. Leistungsaspekte von Web Services
Zusammenfassung
XML ist zu gesprächig, umfangreich und ohnehin langsam. Dies ist ein Vorurteil, das oft zu hören ist. Da bei Web Services alle Dokumente grundsätzlich XML-Dokumente sind, müssen diese Aussagen in Bezug auf Web Services besonders untersucht werden. Hier liegt es nahe, zum Vergleich verschiedene Transportprotokolle unterhalb von SOAP zu verwenden und die Performance der einzelnen (sonst identischen) Implementierungen zu messen. Diese Ergebnisse kann man gut mit Lösungen vergleichen, die mit CORBA oder in Java mit RMI implementiert worden sind. Eine Auswahl entsprechender Messungen und Ergebnisse veranschaulicht das Verhalten der Techniken. Vertiefende Untersuchungen und praktische Messungen hat Christine Nübling in ihrer Diplomarbeit [Nüb04] gemacht, die auf Ergebnissen von Barbara Rudolph [Zen02] aufsetzt. Dieses Kapitel basiert in Teilen auf diesen Arbeiten.
Ingo Melzer
9. Web Services und Sicherheit
Zusammenfassung
Fast alle Überlegungen und Ausführungen befassten sich bisher mit „Was sind Web Services?“ und „Wie funktionieren sie?“. Gegenstand der Betrachtung war die Integration in bestehende Systeme sowie Perspektiven für die Zukunft zu eröffnen. Dabei wurde deutlich, dass diese Techniken im Wesentlichen für den Einsatz in Unternehmen entwickelt wurden und gerade bei der Integration in Unternehmensprozesse ist ein Thema von essenzieller Bedeutung: die Sicherheit! Dieses Kapitel beschreibt daher zuerst wichtige Aspekte und Konzepte zur Umsetzung von Sicherheitsanforderungen. Es wird gezeigt, wie diese in den Web Services Stack integriert werden können und welche Stellen hierfür mögliche Ansatzpunkte darstellen. Es können wesentliche Anforderungen durch bereits etablierte Standards wie zum Beispiel XML-Signatur und XML-Encryption erfüllt werden. Abgerundet wird dieses Kapitel durch Verfahren zur Verwaltung und zum Austausch der benötigten digitalen Schlüssel und einem Ausblick, wie notwendige Sicherheitsanforderungen effizient umgesetzt werden können.
Ingo Melzer
10. Geschäftsprozess-Modellierung und -Management
Zusammenfassung
Die in Abbildung 2.1 auf Seite 13 vorgestellten tragenden Säulen wurden alle bis auf eine in den vorangegangenen Kapiteln besprochen. Der letzte Aspekt einer Service-orientierten Architektur ist die Prozessorientierung, die in diesem Kapitel behandelt wird. Hierunter versteht man die Möglichkeit, einzelne Dienste so zusammenzustellen (zu „komponieren“), dass aus ihrem Zusammenspiel ein geschäftlicher Mehrwert entsteht. Der Ablauf mehrerer Arbeitsschritte wird auch als „Workflow“ bezeichnet.
Ingo Melzer
11. Web Services und Transaktionen
Zusammenfassung
Web Services benötigen transaktionales Verhalten, sobald mehrere Web Services ein gemeinsames Ziel erreichen wollen, welches in jedem Fall konsistent sein muss. Diese Web Services sind somit Teilnehmer einer verteilten Transaktion.
Web Services benötigen transaktionales Verhalten, sobald mehrere Web Services ein gemeinsames Ziel erreichen wollen, welches in jedem Fall konsistent sein muss. Diese Web Services sind somit Teilnehmer einer verteilten Transaktion. Dieses Kapitel befasst sich mit den theoretischen Grundlagen, den existierenden Spezifikationen und den noch bestehenden Problemen der Transaktions- Unterstützung für Web Services. Hierbei wird ein besonderer Schwerpunkt auf das so genannte Web Services Transaction Framework gelegt, das heißt auf die Spezifikations-Familie bestehend aus WS-Coordination, WS-Atomic Transaction und WS-Business Activity.
Ingo Melzer
12. Nichttechnische Anforderungen
Zusammenfassung
Im Kapitel nichttechnische Anforderungen werden Anforderungen vorgestellt, die nicht aus einer technischen, sondern aus einer betriebswirtschaftlichen beziehungsweise juristischen Perspektive an Service-orientierte Architekturen herangetragen werden. Hier sind zunächst die rechtlichen Rahmenbedingungen zu nennen, da sie erheblichen Einfluss auf Service-orientierte Architekturen haben.
Ein weiterer wichtiger Punkt für die Verbreitung von Service-orientierten Architekturen ist die Garantie einer bestimmten, definierten Dienstequalität mittels Service Level Agreements. Nur wenn die Zuverlässigkeit von Web Services verbindlich zugesichert wird, werden Kunden bereit sein, Geld für angebotene Dienste zu bezahlen.
Die dritte Facette in diesem Bereich sind die Möglichkeiten zur Bezahlung innerhalb Service-orientierter Architekturen. Werden keine Bezahlfunktionen verwirklicht, so werden kommerzielle Anbieter nur selten Web Services anbieten, da sie durch ihr Angebot kein Geld verdienen können.
Der Abschnitt Sicherstellung der Dienstqualität basiert auf dem in den Proceedings der Berliner XML-Tage [TE04] von Sebastian Eberhard veröffentlichten Beitrag „Service Level Agreements für Web Services“ [Wer04].
Ingo Melzer
13. Web Services – nicht nur für Programmierer
Zusammenfassung
In erster Linie werden Web Services von Programmierern verwendet, um Applikationen zu entwickeln, die wieder selbst Dienste anbieten, fremde Dienste nutzen oder die Kombination aus beidem realisieren. Endanwender interagieren im Allgemeinen nie direkt mit einem Dienst, sondern nutzen hierzu dienstspezifische Applikationen, die oft kostenpflichtig erworben werden müssen oder nur für wenige Anwendungsfälle ausgelegt sind. Insbesondere bei speziellen Diensten, die nur von wenigen genutzt werden, existieren keine professionellen Applikationen oder ihre Kosten sind hoch. Daher verwenden die meisten Anwender die Webseiten des Dienstanbieters, obwohl diese meist nur einen kleinen und inflexiblen Funktionsumfang bieten. Insbesondere repetitive Aufgaben, wie die Abfrage des Preises mehrerer Artikel, oder eigentlich automatisierbare Aufgaben, wie ein Vergleich dieser Preise, müssen daher mühsam mittels vielen Klicks durch die Webseiten vom Anwender vorgenommen werden. Dabei könnten mit den richtigen Werkzeugen Web Services auch von Nicht-Programmierern genutzt werden, um ihre individuellen Anwendungsfälle zu realisieren. In diesem Kapitel wird beschrieben, wie Endanwender Dienste direkt nutzen können, ohne hierfür eine dienstspezifische Applikation oder Programmierkenntnisse zu benötigen.
Ingo Melzer
14. Anwendungen des Service-Konzepts – Semantik und Wolken
Zusammenfassung
In diesem Kapitel wird exemplarisch die Erweiterung und Anwendung der vorgestellten Konzepte von Service-orientierten Umgebungen diskutiert. Als Beispiel für eine interessante Erweiterung wird das Semantic Web vorgestellt, ein seit vielen Jahren aktives Forschungsfeld zur semantischen Beschreibung von Daten und Funktionen, die durch Computer angeboten werden.
Zwei Anwendungen des Service-Gedankens werden anhand von Grid Computing und Cloud Computing vorgestellt. Bei Grid Computing geht es hauptsächlich umdie abgesicherte Zusammenlegung von existierenden IT-Ressourcen für komplexe Berechnungen oder für extrem umfangreiche Datenspeicherung. Services spielen hier für die Interoperabilität der eingebundenen Ressourcen eine wichtige Rolle. Cloud Computing als zweites Beispiel stellt einen großen aktuellen Trend dar, der auf die dynamische und transparent skalierende Nutzung von Applikations- und Infrastruktur-Services für breite Nutzergruppen abzielt.
Ingo Melzer
15. Ausblick
Zusammenfassung
Die Verbreitung der Idee von Service-orientierte Architekturen begann mit den Web Services. Zu Beginn waren Web Services für die Meisten, die sich damit beschäftigten, eine neue Form des entfernten Funktionsaufrufs. Damit wurde bei diesem Thema der technische Aspekt sehr betont.
Ingo Melzer
Backmatter
Metadaten
Titel
Service-orientierte Architekturen mit Web Services
verfasst von
Ingo Melzer
Copyright-Jahr
2010
Verlag
Spektrum Akademischer Verlag
Electronic ISBN
978-3-8274-2550-8
Print ISBN
978-3-8274-2549-2
DOI
https://doi.org/10.1007/978-3-8274-2550-8