Was ist eigentlich ein Service?



Ähnliche Dokumente
Was ist eigentlich ein Service? Software Architektur 08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Zeichen bei Zahlen entschlüsseln

Workflow, Business Process Management, 4.Teil

Primzahlen und RSA-Verschlüsselung

Professionelle Seminare im Bereich MS-Office

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt

Requirements Engineering für IT Systeme

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Grundbegriffe der Informatik

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Was meinen die Leute eigentlich mit: Grexit?

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte

Kapitalerhöhung - Verbuchung

Wir machen neue Politik für Baden-Württemberg

Was ist Sozial-Raum-Orientierung?

Tipps & Tricks Neuerungen Nr. 5/ Externe Web-Shops im UniKat für Laborverbrauchsmaterial & Chemikalien

1 Mathematische Grundlagen

Skript Pilotphase für Arbeitsgelegenheiten

white sheep GmbH Unternehmensberatung Schnittstellen Framework

Schnittstelle DIGI-Zeiterfassung

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Individuelle Formulare

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Anwendungsbeispiele Buchhaltung

Stammdatenanlage über den Einrichtungsassistenten

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Neuerungen PRIMUS 2014

7. Analyse-Phase: Datenmodellierung Software Engineering

Alle gehören dazu. Vorwort

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Übungen zur Softwaretechnik

Erstellen einer digitalen Signatur für Adobe-Formulare

Wiederholung: Beginn

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Gutes Leben was ist das?

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

So gehts Schritt-für-Schritt-Anleitung

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Catherina Lange, Heimbeiräte und Werkstatträte-Tagung, November

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Forschen - Schreiben - Lehren

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

How to do? Projekte - Zeiterfassung

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Anleitung über den Umgang mit Schildern

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Kommunikations-Management

Outsourcing und Offshoring. Comelio und Offshoring/Outsourcing

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Wie Sie mit Mastern arbeiten

Projektmanagement in der Spieleentwicklung

teischl.com Software Design & Services e.u. office@teischl.com

Einfügen von Bildern innerhalb eines Beitrages

Guide DynDNS und Portforwarding

Software Engineering Klassendiagramme Assoziationen

Die Bundes-Zentrale für politische Bildung stellt sich vor

Dow Jones am im 1-min Chat

Rundung und Casting von Zahlen

Wirtschaftskreislauf. Inhaltsverzeichnis. Einfacher Wirtschaftskreislauf. aus Wikipedia, der freien Enzyklopädie

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

Lizenzierung von SharePoint Server 2013

Manager. von Peter Pfeifer, Waltraud Pfeifer, Burkhard Münchhagen. Spielanleitung

Whitepaper. Produkt: combit factura manager. Mehrwertsteuererhöhung durchführen. combit GmbH Untere Laube Konstanz

Anwendungsbeispiele Buchhaltung

DER SELBST-CHECK FÜR IHR PROJEKT

Leichte-Sprache-Bilder

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

Techniken der Projektentwicklungen

Schnelleinstieg in die (cs) AuftragPro

Departement Bau, Verkehr und Umwelt Abteilung Tiefbau

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Lizenzierung von SharePoint Server 2013

Inhaltsverzeichnis. 1. Empfängerübersicht / Empfänger hinzufügen 2. Erstellen eines neuen Newsletters / Mailings 3. Versand eines Newsletters

Tevalo Handbuch v 1.1 vom

Das Leitbild vom Verein WIR

Geschäftsarchitektur, Domänen, Anwendungen

Die Zukunft der Zukunftsforschung im Deutschen Management: eine Delphi Studie

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Gästeverwaltung. Gästestammdaten. Gäste verwalten. Hotelsoftware für Klein- und Mittelbetriebe

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Transkript:

Was ist eigentlich ein Service? Bernhard Humm sd&m Research und Hochschule Darmstadt Carl-Wery-Straße 42 81739 München Bernhard.Humm@sdm.de Abstract: In der Literatur zur Service-Orientierten Architektur (SOA) wird der Begriff des Service häufig synonym zu den in der Softwaretechnik etablierten Begriffen Komponente, Schnittstelle und Operation verwendet. In dem Artikel wird eine alternative Definition vorgestellt, welche den Service in den Kontext der Geschäftsarchitektur eines Unternehmens stellt. Zusammenhänge zu den in der Softwaretechnik etablierten Begriffen werden aufgezeigt. 1. Einleitung Service-Orientierte Architektur (SOA) ist das derzeit am meisten diskutierte Paradigma zur Gestaltung von IT-Anwendungslandschaften. Hunderte von Publikationen (z.b. [BBF+05], [Erl04], [KBS04], [RHS05], [Woo04], um nur einige prominente zu nennen) demonstrieren, dass das Thema derzeit noch einen Hype-Charakter hat. Wie bei allen Hype-Themen ist es schwer, präzise und anerkannte Definitionen des Gebiets und von dessen Kernbegriffen zu finden. Der Service ist das zentrale Konzept einer SOA. Aber was ist eigentlich ein Service? Dafür gibt es bezeichnenderweise keine allgemein anerkannte Definition. Manche Publikationen assoziieren den Begriff des Service mit einer konkreten Technologie, vor allem Web Services [W3C04]. Die meisten Publikationen gehen schon einen Schritt weiter. Sie abstrahieren von der konkreten Technologie und beschreiben die Software Engineering Konzepte, welche Web Services zugrunde liegen. So definiert beispielsweise [RH06] in Kapitel 12 einen Dienst als gekapselte Funktionalität, deren Schnittstellen publiziert sind. Diese Software Engineering Konzepte sind aber schon lange bekannt und über die Begriffe Komponente, Schnittstelle und Operation präzise definiert. (z.b. [DW99]).

Eine WSDL Beschreibung [BL07] definiert Types, Messages, Operations, Services und Bindings. Operations in WSDL entsprechen den Operationen der meisten Programmiersprachen oder in UML [OMG03]. WSDL Types werden verwendet, um die Signaturen der Operationen zu spezifizieren. Request und Reply Messages werden verwendet, um die Operationen zu implementieren. Ein Service in WSDL fasst mehrere Operations zusammen. Von daher entspricht er direkt dem Konzept der Interfaces aus Programmiersprachen wie Java oder C#. In einem WSDL Service wird auch das Binding zu einer Implementierung der Schnittstelle spezifiziert. Von daher entspricht er auch dem Konzept der Komponente in Technologien wie JEE (Shannon et al. 2000) oder.net (Microsoft.NET). Wenn also der zentrale Begriff des Service reduziert wird auf die Software Engineering Konzepte hinter WebServices, dann kommt der Verdacht auf, dass existierende Konzepte unter anderem Namen als neu verkauft werden: alter Wein in neuen Schläuchen! Einige Publikationen (z.b. [Woo04]) nehmen eine andere Sicht ein. Sie beschreiben SOA als ein Paradigma, das Geschäft eines Unternehmens zu strukturieren, um dann von der geschäftlichen Unternehmensarchitektur die Architektur der IT- Anwendungslandschaft abzuleiten. Dies ist genau auch unsere Sicht (siehe z.b. [EHH+08a], [EHH08b], [HHV+07], [HHV06]). Was ist dann ein Service in dieser Betrachtungsweise? 2. Geschäftsservices Zunächst betrachten wir einen Service rein aus der Geschäftssicht und definieren daher einen Geschäftsservice so, wie man ihn umgangssprachlich als Dienstleistung bezeichnen würde: Ein Geschäftsservice ist ein Element geschäftlichen Verhaltens. Er stellt eine geschäftliche Leistung dar, die ein Servicegeber gegenüber Servicenehmern erbringt. Der Servicegeber ist eine Einheit des Unternehmens Abteilungen oder einzelne Stellen. Servicenehmer sind Kunden oder andere externe Partner des Unternehmens oder andere Einheiten im Unternehmen. Jedem Geschäftsservice liegt ein Vertrag zu Grunde. Dieser legt die ein- und ausgehenden Informationen und Güter fest. Er beschreibt die im Rahmen des Service durchzuführenden Schritte und ihre Reihenfolge, sofern für den Servicenehmer relevant. Diese Schritte heißen Geschäftsserviceaktionen, kurz Aktionen. Des Weiteren legt er alle relevanten Randbedingungen fest. Geschäftsservices können wie alle Dienstleistungen auf verschiedenen Granularitätsebenen angeboten werden. So kann man beispielsweise im Touristikbereich die Abwicklung einer Reise als eine gesamte Dienstleistung auffassen. Die Beratung, Buchung und Zahlungsabwicklung kann man aber auch auf einer feineren Granularitätsebene als einzelne Dienstleistungen auffassen. So können Geschäftsservices als Hierarchie modelliert werden. Siehe Abbildung 1.

Abbildung 1: Geschäftsservice-Hierarchie 3. Anwendungsservices Nun geht es in einer SOA ja nicht ausschließlich um das Geschäft, sondern um die entsprechende Gestaltung der IT. Was ist das Pendant zum Geschäftsservice auf der IT- Seite? Wir definieren den Begriff des Anwendungsservice: Ein Anwendungsservice ist ein Geschäftsservice oder ein Teil davon, der mittels IT von der Anwendungslandschaft erbracht wird. Die durchzuführenden Schritte, sofern für den Servicenehmer relevant, heißen Anwendungsserviceaktionen, kurz Aktionen. Ein Anwendungsservice kann beispielsweise wie folgt spezifiziert werden: Name Außensicht Servicenutzer Auslösendes Ereignis / Vorbedingungen Aktionen und Service-Protokoll Ergebnis / Nachbedingungen Nichtfunktionale Angebotspreis individuell berechnen Reiseberater Preisanfrage durch Reiseberater. Eine Individualreise (Produkt) ist bereits zusammengestellt, ihre Plausibilität ist geprüft. Kein Protokoll, da nur eine einzige Serviceaktion zum Service gehört. Es wird ein Gesamtpreis für die Individualreise (Angebot) in EUR geliefert. Standard-Ermäßigungen sind berücksichtigt. Die Antwortzeit beträgt < 1 s

Anforderungen Innensicht Prozess Abbildung 2: Beispiel für eine Servicespezifikation Zuerst werden die Preise (inkl. Marge) der einzelnen Reisebestandteile (Leistungen) ermittelt. Dann werden anzusetzende Standard- Ermäßigungen ermittelt. Zuletzt wird der Gesamtpreis aus Preisen und Ermäßigungen berechnet. Die Definitionen von Geschäftsservices und Anwendungsservices sind sich ähnlich. Wenn der Unterschied nicht entscheidend ist, verwenden wir einfach den Begriff Service. 4. Services und Anwendungsfälle Das beispielhafte Tabellenvorlage aus Abbildung 2 zur Beschreibung eines Anwendungsservice erinnert an Vorlagen zur Spezifikation von UML- Anwendungsfällen (Use Cases, siehe [OMG03]). In der Tat sind Anwendungsservices auf der feinsten (atomaren) Granularitätsebene analog zu Anwendungsfällen. Daher verwenden wir auch die Notation der UML Anwendungsfalldiagramme zur Darstellung von Services. Auf höheren Granularitätsebenen gehen Services über Anwendungsfälle hinaus: einen Anwendungsfall Rechnungswesen gibt es beispielsweise nicht. Auch gehen Geschäftsservices über Anwendungsfälle hinaus, da es bei Geschäftsservices, im Gegensatz zu Anwendungsfällen, keinen konkreten Anwendungsbezug gibt. 5. Services und Geschäftsprozesse Und wie verhalten sich Services zu Geschäftsprozessen? Zunächst eine Definition: Ein Geschäftsprozess ist eine funktions- und stellenübergreifende Folge von Schritten zur Erreichung eines geplanten Arbeitsergebnisses in einem Unternehmen. Diese Schritte heißen Geschäftsprozessaktivitäten, kurz Aktivitäten. Der Geschäftsprozess dient direkt oder indirekt zur Erzeugung einer Leistung für einen Kunden oder den Markt. Sind Geschäftsprozesse grobgranularer als Services oder umgekehrt? Das kommt auf die Sichtweise und die Ebene der Granularität an. Siehe Abbildung 3.

verwendet Abbildung 3: Geschäftsprozesse und Services Aus systemtheoretischer Sicht stellt ein Service die Beschreibung eines Systems an seiner Außengrenze dar. Dabei kann ein System ein Unternehmen oder eine Abteilung sein (Geschäftsservice) oder auch eine Anwendung (Anwendungsservice). Geschäftsservices werden durch Geschäftsprozesse realisiert. Von daher sind Services grobgranularer als Geschäftsprozesse. Die einzelnen Aktivitäten eines Geschäftsprozesses können aber wieder durch Services auf der nächst feineren Granularitätsebene realisiert werden. Insofern sind Geschäftsprozesse grobgranularer als Services. 6. Services, Komponenten und Schnittstellen Wir kommen nun zum Ausgangspunkt unseres Artikels zurück. Service in unserer Sichtweise ist kein Synonym zu Komponente, Schnittstelle und Operation. Aber wie stehen die Konzepte zueinander? Hier hilft die Analogie zum Anwendungsfall. Ein Anwendungsfall beschreibt in der Außensicht die Interaktion von Nutzern mit einem System bzw. einzelnen Komponenten desselben. Genauso lassen sich Anwendungsservices, vor allem solche auf der feinsten Granularitätsebene (elementare Anwendungsservices) direkt Komponenten einer Anwendungslandschaft zuordnen. Abbildung 4 gibt eine Übersicht über die Begriffe der Architektur von Anwendungslandschaften und ihre Zusammenhänge.

Abbildung 4: Übersicht und Zusammenhang der Begriffe Eine Anwendungslandschaft implementiert Anwendungsservices, d.h. diejenigen Geschäftsservices, welche mittels IT erbracht werden. Anwendungsservices enthalten Aktionen. Die Anwendungslandschaft selbst ist strukturiert in Domänen, welche logische Anwendungslandschafts-Komponenten (AL-Komponenten) enthalten. Diese exportieren und importieren logische Schnittstellen, welche Operationen enthalten. Die AL-Komponenten implementieren die Anwendungsservices und stellen diese über ihre Schnittstellen ihren Nutzern bereit. Im Touristikbeispiel wird der Anwendungsservice Pauschalreise buchen von der Komponente Reiseportal implementiert, oder der Service Kunden verwalten von der Komponente Kundenmanagement. Beim Design von Schnittstellen und Operationen der Komponenten sind die Anwendungsservices und vor allem deren Aktionen wichtiger Input. So kann beispielsweise die Aktion Kunde anlegen des Service Kunden verwalten direkt zu einer Operation legekundean der Komponente Kundenmanagement führen. Diese Ähnlichkeit zwischen Aktionen eines Anwendungsservice und Operationen der Schnittstelle einer Komponente ist sicherlich ein Grund für die synonyme Verwendung der Begriffe in der Literatur. Wir halten dies aber für irreführend, da so der Schritt von der Konzeptebene hin zur Umsetzungsebene nicht mehr deutlich ist. In der Praxis finden sich auch häufiger Unterschiede zwischen den Aktionen eines Anwendungsservice und Operationen der Schnittstellen einer Komponente.

7. Schluss In diesem Artikel kritisieren wir die unklare Verwendung des Begriffs Service in der SOA-Literatur. Häufig wird der Servicebegriff synonym zu den etablierten Softwaretechnik-Konzepten der Komponente, Schnittstelle und Operation verwendet. Wir verwenden stattdessen weiterhin die etablierten Begriffe Komponente, Schnittstelle und Operation. Den Begriff des Service definieren wir gemäß dem umgangssprachlichen Verständnis einer Dienstleistung. Zunächst beziehen wir ihn auf das Geschäft eines Unternehmens (Geschäftsservice), dann auf die Anwendungslandschaft (Anwendungsservice). Wie zeigen auf, wie sich ein Service nach unserer Definition von Geschäftsprozessen und Anwendungsfällen (Use Cases) abgrenzt. Des Weiteren zeigen wir das Zusammenspiel zwischen Services in unserer Sichtweise und Komponenten und Schnittstellen im klassischen Sinne. Die Klärung der Begriffe hat nicht nur einen akademischen, sondern auch einen praktischen Nutzen. Zum einen vereinfacht es die Diskussion, vor allem in Unternehmen, für die serviceorientierte Architektur neu ist. Vor allem aber lenkt es die Diskussion auf die Geschäftsservices. Erst wenn die Geschäftsservices identifiziert und spezifiziert sind, können Domänen, Komponenten und Schnittstellen der Anwendungslandschaft daraus abgeleitet werden. Eine solche Architektur ist im wahren Sinne des Wortes serviceorientiert, also orientiert an den Geschäftsservices. Nach der Klärung der Begriffe stellt sich die Frage nach konkreten Methoden. Wie werden Services identifiziert und verfeinert? Wie werden Komponenten identifiziert? Wie werden Schnittstellen und ihre Operationen aus Services und ihren Aktionen abgeleitet? Dies beschreiben wir in [EHH+08a]. Literatur [BBF+05] Bieberstein, N., Bose S., Fiammante, M., Jones K. und Shah, R.: Service-Oriented Architecture (SOA) Compass: Business Value, Planning, and Enterprise Roadmap. IBM Press, 2005. [BL07] Booth, D. und Liu, C. K.: Web Services Description Language (WSDL) Version 2.0 Part 0: Primer, W3C Recommendation 26 June 2007. World Wide Web Consortium, 2007. http://www.w3.org/tr/wsdl20-primer/. [DW99] D Souza, D. F. und Wills, A. C.: Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley Professional, 1999. [EHH+08a]Gregor Engels, Andreas Hess, Bernhard Humm, Oliver Juwig, Marc Lohmann, Jan- Peter Richter, Markus Voß, Johannes Willkomm: Quasar Enterprise Anwendungslandschaften serviceorientiert gestalten. Zu erscheinen: dpunkt-verlag 2008. [EHH+08b]Gregor Engels, Andreas Hess, Bernhard Humm, Oliver Juwig, Marc Lohmann, Jan- Peter Richter, Markus Voß, Johannes Willkomm: A Method for Engineering a true Service-Oriented Architecture. To appear: Proceedings of the 10th International Conference on Enterprise Information Systems. Barcelona, Spain, 2008.

[Erl04] Erl, T.: Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services. Prentice Hall PTR, 2004. [HHV06] Hess, A., Humm, B. und Voß, M.: Regeln für serviceorientierte Architekturen hoher Qualität. Informatik Spektrum, 29(6), 395-411, 2006. [HHV+07] Hess, A., Humm, B., Voß, M. und Engels G.: Structuring Software Cities - A Multidimensional Approach. In: Proceedings of the Eleventh IEEE International EDOC Conference Enterprise Computing Conference. IEEE Press, 122-129, 2007. [KBS04] Krafzig, D., Banke, K. und Slama, D.: Enterprise SOA: Service-Oriented Architecture Best Practices. Prentice Hall International, 2004. [OMG03] OMG (Object Management Group): UML 2.0 OCL Final Adopted Specification. OMG, 2003. [RH06] Reussner, R. und Hasselbring, W.: Handbuch der Software-Architektur. [RHS05] dpunkt.verlag, 2006. Richter, J. P., Haller, H. und Schrey, P.: Serviceorientierte Architektur. Informatik- Spektrum, 28(5), 413-416, 2005. [Woo04] Woods, D.: Enterprise Services Architecture. SAP Press, 2004. [W3C04] W3C, Web Services Glossary - W3C Working Group Note, W3C, Februar 2004, http://www.w3.org/tr/ws-gloss/