Studienarbeit Dienstattribute für serviceorientierte Workflows Daniel Harms Juli 2007 Betreuer: Prof. Dr. Paul Müller Dipl. Wirtsch. Ing. Jochen Müller Fachbereich Informatik AG Integrierte Kommunikationssysteme Universität Kaiserslautern Postfach 3049 67653 Kaiserslautern Ich versichere, dass ich die vorliegende Projektarbeit/Studienarbeit selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel verwendet habe. Kaiserslautern, <Datum> (Daniel Harms) Abstract In der vorliegenden Arbeit wird die Verknüpfung der Workflowtechnologie mit dem Konzept der serviceorientierten Architekturen untersucht. Dazu werden Informationen zur möglichst umfassenden Beschreibung von Services identifiziert, um die Integration in Workflow-Management-Systeme und somit Geschäftsprozesse zu vereinfachen. Eine Komponente zur Speicherung und Darstellung dieser Informationen wird konzipiert. Anhand einer Fallstudie wird die Funktionsweise der entwickelten Konzepte demonstriert. Inhaltsverzeichnis 7 1. EINLEITUNG ..................................................................................................... 9 2. GRUNDLAGEN ............................................................................................... 11 2.1 Workflow-Management ........................................................................................................................... 11 2.2 Serviceorientierte Architekturen .............................................................................................................. 16 2.3 Verwandte Konzepte ................................................................................................................................ 23 2.4 Verwandte Projekte .................................................................................................................................. 25 2.5 Abgrenzung zu verwandten Arbeiten ....................................................................................................... 27 2.6 Exkurs: Wettbewerbsstrategien ................................................................................................................ 28 3. MODELLBILDUNG ......................................................................................... 31 3.1 Serviceorientierter Workflow ................................................................................................................... 31 3.2 Wettbewerbsinformationen ...................................................................................................................... 32 3.3 Prozesse der Service Provider .................................................................................................................. 32 3.4 Funktionale und nicht-funktionale Eigenschaften .................................................................................... 34 3.5 Service-Schema ........................................................................................................................................ 35 4. REALISIERUNG & FALLSTUDIE................................................................... 37 4.1 Realisierung Service-Schema ................................................................................................................... 37 4.2 Realisierung Infrastruktur ......................................................................................................................... 40 4.3 Fallstudie Flächennutzungsplanung ......................................................................................................... 45 5. ZUSAMMENFASSUNG .................................................................................. 50 8 Inhaltsverzeichnis LITERATURVERZEICHNIS ..................................................................................... 51 ABBILDUNGSVERZEICHNIS .................................................................................. 55 TABELLENVERZEICHNIS ....................................................................................... 56 Einleitung 9 1. Einleitung Die effektive Ausführung und Unterstützung von Geschäftsprozessen ist für jede Organisation die Grundvoraussetzung des Erfolgs. Die automatisierte Ausführung von Geschäftsprozessen ist durch Workflow-Management-Systeme bereits in großem Umfang Realität geworden. Serviceorientierte Architekturen bieten weitergehende Möglichkeiten der Realisierung von Geschäftsprozessen mithilfe von Funktionalitäten, die als Services zur Verfügung gestellt werden. Die Nutzer integrieren die Services flexibel in ihre eigenen Geschäftsprozesse und rufen sie dann auf, wenn sie diese benötigen. Die Funktionalität der Services steht auf Abruf bereit. Genauso schnell wie ein Geschäftsprozess entstanden ist kann er wieder aufgelöst werden oder können einzelne Services durch andere ersetzt werden. Eine Verknüpfung der Workflow-Technologie mit serviceorientierten Architekturen kann weitere Potenziale erschließen. Die Vorteile von zentral gesteuerten Workflows und dezentral verfügbaren Services können in einem System vereint werden, das einerseits die Kontrolle über die eigenen Geschäftsprozesse behält und gleichzeitig die vollständige Bandbreite der verfügbaren Services in diese integrieren kann. So kann die Ausführung von Geschäftsprozessen noch flexibler und effektiver gestaltet werden. Doch wie erreichen Organisationen eine optimale Integration von Services in ihre Workflows? Für eine gesuchte Funktionalität können viele Services zur Verfügung stehen. Verzeichnisdienste listen existierende Services auf, beschränken sich in ihrem Informationsgehalt jedoch auf technische Merkmale wie Schnittstellen und Aufrufmodalitäten. Was hinter dem Service steckt, welche weiteren Möglichkeiten, die für den Nutzer von Interesse sein können, der Service Anbieter zur Verfügung stellt, diese Informationen bleiben bisher verborgen. Trotz gleicher technischer Merkmale können sich die Rahmenbedingungen von zwei Services voneinander unterscheiden. Der eine arbeitet schneller und zuverlässiger, aber möglicherweise auch zu höheren Kosten und nur für bestimmte Nutzer. Diese Informationen sind nicht in existierenden Verzeichnisdiensten zu finden. Die vorliegende Arbeit beschäftigt sich mit der Veröffentlichung dieser Merkmale von Services für alle Servicenutzer. Da die Services die gleiche Funktionalität anbieten, wird hier vom horizontalen Design von Workflows gesprochen, d.h. für einen Schritt im Workflow wird betrachtet, mit welchen Services dieser möglichst sinnvoll realisiert werden kann. Die folgende Abbildung stellt diesen Sachverhalt dar. Die zusätzlich veröffentlichten Merkmale sollen zum einen den Servicenutzern eine verbesserte Entscheidungsgrundlage zur Verfügung stellen und zum anderen den Serviceanbietern ermöglichen, sich von Wettbewerbern zu differenzieren. Diese Möglichkeiten sollen in einer neuen 10 Einleitung serviceorientierten Architektur realisiert werden. A Schritt 1 Service 1 Schritt 2 Service 2 Service 3 Schritt 3 B Workflow Web Services Abbildung 1: Horizontales Design Die vorliegende Arbeit gliedert sich neben der Einleitung in vier Teile. Im zweiten Kapitel (Grundlagen) werden die für den Rest der Arbeit benötigten Technologien und Konzepte erläutert. Im dritten Kapitel (Modellbildung) wird ein Schema für die möglichst umfassende Beschreibung von Services entwickelt. Im vierten Kapitel werden schließlich Realisierungsmöglichkeiten des Informationsschemas betrachtet und die Anwendbarkeit anhand einer Fallstudie verifiziert. Die Arbeit schließt mit einer Zusammenfassung. Grundlagen 11 2. Grundlagen In diesem Kapitel werden zunächst die Grundlagen von Workflow-Management und serviceorientierten Architekturen erläutert. Im Anschluss werden verwandte Konzepte und Projekte vorgestellt und die vorliegende Arbeit von diesen abgegrenzt. Am Ende des Kapitels wird in einem Exkurs kurz auf Wettbewerbsstrategien eingegangen. 2.1 Workflow-Management Workflow-Management ist nach [Jab97, S.5] bereits seit geraumer Zeit „eines der meist diskutierten Themen im Softwarebereich“. Die Optimierung und das effektive Management von Geschäftsprozessen wird mit zunehmendem Konkurrenzdruck für die Unternehmen immer wichtiger. Workflow-Management-Systeme bieten die Möglichkeit Geschäftsprozessmanagement zu automatisieren. Ihre Aufgabe sieht [AalHee02, S. XV] im Übermitteln der richtigen Information zur richtigen Zeit an die richtige Person bzw. die richtige Anwendung. Vielfältige Workflow-Management-Produkte mit unterschiedlichen Funktionen sind auf dem Software-Markt erhältlich. Trotz vieler Gemeinsamkeiten führte die fehlende Standardisierung jedoch zu einer großen Zahl von Insel-Lösungen für einzelne Branchen und Unternehmen. Um diesem Trend zu begegnen wurde die Workflow Management Coalition (WfMC) gegründet. Sie beschäftigt sich mit der Entwicklung gemeinsamer Standards für Funktionen, die alle Workflow-Management-Systeme anbieten. Nach [Hol95, S. 3] sollen diese Standards die Kompatibilität bestehender Produkte sowie die Integrationsmöglichkeiten mit anderen IT-Services, wie z.B. E-Mail oder Dokumentenmanagement, in Zukunft verbessern. Die folgende Erläuterung der Workflowtechnologie basiert auf zwei Dokumenten der WfMC. In [Hol99] werden Definitionen für grundlegende Begriffe der Workflowterminologie zur Verfügung gestellt. Die Analyse von Workflow-Management-Systemen, des Workflow Reference Models und des damit verbundenen Vokabulars stützt sich auf [Hol95]. 2.1.1 Definitionen Definition Geschäftsprozess “A set of one or more linked procedures or activities which collectively realise a business objective or policy goal (…)” [Hol99, S. 10] 12 Grundlagen Definition Workflow “The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules.” [Hol99, S. 8] Definition Workflow-Management-System “A system that completely defines, manages and executes workflows through the execution of software whose order of execution is driven by a computer representation of the workflow logic.” [Hol95, S. 6] Die folgende Abbildung stellt beispielhaft ein Workflow-Management-System dar. Der Geschäftsprozess (Business Process) wird in Teilschritte bzw. Aktivitäten (Steps) zerlegt. Zur Ausführung der Teilschritte interagiert das System mit einem Mitarbeiter (User Interface & Local Desktop Applications), einer Applikation (Applications) oder einer Datenbank (Databases). Das Workflow-Management-System bestimmt, welche Aktivität von wem bearbeitet wird (Process/Activity Management & Distribution Function). Abbildung 2: Workflow-Management-System [WfMC95, S. 9] 2.1.2 Allgemeine Struktur von Workflow-Systemen Nach [Hol95] weisen die auf dem Markt erhältlichen Workflow-Management-Produkte viele gemeinsame Charakteristika auf. Darauf aufbauend, hat das WfMC eine allgemeine Struktur von Workflow-Management-Systemen entworfen. Das in der folgenden Abbildung dargestellte Modell identifiziert die in allen Workflow-Management-Systemen enthaltenen Komponenten sowie die externen Komponenten mit denen es interagiert. Es verfügt über drei Typen von Komponenten: Grundlagen 13 1. Softwarekomponenten, die verschiedene Aufgaben innerhalb des Workflow-ManagementSystems übernehmen (Kästchen mit dunklem Hintergrund). 2. Systemdefinitions- und Kontrolldaten, die von einer oder mehreren Softwarekomponenten genutzt werden (Kästchen mit weißem Hintergrund). 3. Applikationen und Datenbanken, die nicht Teil des Workflow-Management-Systems sind, von diesem jedoch aufgerufen werden können (Kästchen mit grauem Hintergrund). Abbildung 3: Allgemeine Struktur eines Workflow-Management-Systems [nach WfMC95, S. 13] Das Definition Tool wird verwendet, um den Geschäftsprozess aus der realen Welt in eine für den Computer lesbare Form zu bringen, die Prozess-Definition. Sie wird mithilfe einer formalen Modellierungssprache, wie z.B. Petri-Netzen, modelliert. Dabei kann sie auf Strukturen und Rollen beschreibende Organisation/Role Model Data und auf zu verwendende externe Applikationen verweisen. Der Workflow Enactment Service bildet das Herzstück des Workflow-Management-Systems. Dieser stellt den Prozess-Instanzen eine Laufzeitumgebung in Form einer oder mehrerer Workflow-Engines zur Verfügung. Die Workflow Engine übernimmt die Zuteilung der einzelnen Aktivitäten an 14 Grundlagen verfügbare Ressourcen und startet bei Bedarf externe Anwendungen. Mithilfe der Workflow Control Data sorgt sie auch dafür, dass die Prozessschritte in der richtigen Reihenfolge bearbeitet werden. Sind während der Ausführung eines Prozesses Navigationsentscheidungen für den weiteren Verlauf zu treffen, so werden ggf. Daten benötigt, die von externen Applikationen generiert oder modifiziert wurden. Diese Daten sind im Modell als Workflow Relevant Data gekennzeichnet. Sie können ausschließlich von den externen Applikationen geändert werden. Der Workflow Enactment Service hat auf keinerlei Applikationsdaten außerhalb dieses Blocks Zugriff. Er kann lediglich für den Transfer der Daten von einer Applikation zu einer anderen sorgen. Ist eine Interaktion mit einem Benutzer des Workflowsystems notwendig, so legt die WorkflowEngine die zu erledigenden Aufgaben in der Work List ab. Auf diese greift der Worklist Handler zu. Die Funktionalitäten dieser Komponente können in ihrem Umfang variieren. In einigen Systemen stellt sie dem Benutzer lediglich einen Eingangskorb mit den zu erledigenden Aufgaben zur Verfügung. Sie kann aber auch komplexere Funktionalitäten wie etwa die Verteilung der Aufgaben nach Auslastungskriterien anbieten. Auch eine Log-in/Log-off Einrichtung für Benutzer ist möglich. Das User Interface zeigt dem Benutzer letztlich die Inhalte der Work List auf seinem Bildschirm an. Ihre Funktionalität umfasst im Allgemeinen das Anzeigen sämtlicher zu erledigender Aufgaben, inklusive zugehöriger Informationen wie z.B. Namen, Prioritäten, Eingangszeiten etc. Nach [Jab97, S. 222] müssen zudem Funktionen zum Annehmen, Starten, Ändern, Einfügen neuer Aufgaben zur Laufzeit, Beenden, Abbrechen oder Weiterleiten von Workflow-Instanzen angeboten werden. Die Arbeitsliste muss nicht unbedingt wie im vorliegenden Modell strukturiert sein. In einigen Workflow-Management-Systemen kann es vorkommen, dass die Komponenten Worklist Handler und User-Interface vereint werden. Externe Applikationen können nicht nur von der Workflow Enactment Software, sondern auch von der Benutzeroberfläche bzw. vom Worklist Handler aus gestartet werden, wenn der Benutzer diese zur Erledigung der Aufgaben benötigt. Um zur Laufzeit Modifikationen an der Workflow Engine und Systemdaten vornehmen zu können, ist eine Administratorschnittstelle erforderlich (Supervisor, Administration & Control). Der Administrator verwaltet die Benutzer sowie die Konfiguration des Workflow-Management-Systems und steuert bzw. überwacht den Betrieb. Er kann Rollen und Regeln modifizieren, sich Statistiken über die Prozess-Instanzen (z.B. abgelaufene Fristen) anzeigen lassen und Fehler oder Ausnahmen im System beheben, z.B. durch Anhalten, Abbrechen oder Stornieren von Workflow-Instanzen [nach Jab97, S. 223]. Grundlagen 15 2.1.3 Granularität von Workflows Ein Workflow kann mithilfe einer Top-Down-Methodik in mehreren Stufen zerlegt werden. Eine Möglichkeit ist die Unterscheidung von vier Ebenen: Workflows, Teilprozesse (Tasks), Aktivitäten und Ressourcen [in Anlehnung an BecMüh99]. Die folgende Abbildung veranschaulicht diese vier Ebenen. Workflow Teilprozess (Task) Aktivität Ressource Ressource Teilprozess (Task) Aktivität Ressource Ressource Aktivität Ressource Ressource Aktivität Ressource Ressource Abbildung 4: Workflow-Granularität Der Workflow stellt den gesamten Geschäftsprozess dar. Ein Workflow enthält mehrere Rollen, verfolgt verschiedene Ziele und verwendet mehrere Ressourcen. Der Workflow lässt sich unterteilen in mehrere Teilprozesse (Tasks), die innerhalb einer bestimmten Zeitspanne abgearbeitet werden müssen. Diese werden von nur einer Rolle bearbeitet, können jedoch weiterhin mehrere Ziele verfolgen und mehrere Ressourcen verwenden. Ein Teilprozess lässt sich weiter unterteilen in Aktivitäten. Eine Aktivität stellt einen Schritt in einem Teilprozess dar. Die Aktivität wird von einer Rolle durchgeführt, verfolgt ein Ziel, kann jedoch weiterhin mehrere Ressourcen verwenden. Auf der letzten Stufe lassen sich die Ressourcen identifizieren, die von einer Aktivität genutzt werden. Eine Ressource ist eine Einheit, die zur Laufzeit angefordert wird, um die Arbeit einer Aktivität zu verrichten. 16 Grundlagen 2.2 Serviceorientierte Architekturen In diesem Abschnitt werden zunächst der Begriff der serviceorientierten Architektur sowie deren wesentliche Charakteristika erläutert. Im Anschluss werden Web Services als eine weit verbreitete Möglichkeit der Realisierung von serviceorientierten Architekturen vorgestellt. 2.2.1 Was ist eine Serviceorientierte Architektur? Definition Serviceorientierte Architektur (SOA) “Service Oriented Architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains.” [Mac06] Die Anbieter dieser Fähigkeiten (capabilites) werden in der vorliegenden Arbeit Service Provider genannt. Die Akteure, die eine solche Fähigkeit benötigen, werden als Service Consumer angeführt. Die Bedürfnisse eines Service Consumers können hochkomplex sein, d.h. die Befriedigung kann mehrere Fähigkeiten von verschiedenen Service Providern erfordern. Serviceorientierte Architekturen stellen eine leistungsfähige Umgebung dar, um diese Bedürfnisse und Fähigkeiten zusammenzubringen und um Fähigkeiten zur Lösung von Problemen zu kombinieren. Das wesentliche Element einer serviceorientierten Architektur ist der Service. Das SOA Reference Model [Mac06] definiert den Begriff des Services und einige damit zusammenhängende Elemente wie folgt. Definition Service “A service is a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description. A service is provided by an entity – the service provider – for use by others, but the eventual consumers of the service may not be known to the service provider and may demonstrate uses of the service beyond the scope originally conceived by the provider.” [Mac06] Definition Service Description “The service description represents the information needed in order to use a service. (…) The purpose of the description is to facilitate interaction and visibility, particularly when the participants are in different ownership domains, between participants in service interactions. By providing descriptions, it makes it possible for potential participants to construct systems that use services and even offer compatible services.” [Mac06] Die folgenden Informationen sollten nach [Mac06] in der Service Description enthalten sein: 1. Der Service existiert und ist erreichbar. 2. Informationen über die vom Service erbrachte(n) Funktion(en). Grundlagen 17 3. Informationen über die Beschränkungen und Vorschriften unter denen der Service operiert. 4. Eine Beschreibung der Interaktion mit dem Service, d.h. Formate, Inhalte und Reihenfolge von Nachrichten. Definition Service Interface “The service interface is the means for interacting with a service. It includes the specific protocols, commands, and information exchange by which actions are initiated that result in the real world effects as specified through the service functionality portion of the service description. The specifics of the interface should be syntactically represented in a standard referenceable format.” [Mac06] Um die Interaktion von Service Provider und Service Consumer zu ermöglichen, müssen diese jeweils von der Existenz des anderen erfahren. Dabei helfen verschiedene Discovery-Mechanismen. Diese ermöglichen es dem Service Provider seine Service Description, das Service Interface und eventuelle weitere Informationen zu veröffentlichen und dem Service Consumer diese zu finden. Neben Service Provider und Consumer gibt es in serviceorientierten Architekturen noch eine weitere Rolle. Die Service Registry ist ein Verzeichnis in dem die Service Provider ihre Service Description(s) veröffentlichen. Ein Service Consumer kann verfügbare Services in der Service Registry finden, indem er eine entsprechende Suchanfrage stellt. Mithilfe der Service Description und des Service Interfaces kann der Service Consumer den Service nun direkt beim Service Provider aufrufen. Die Interaktionen zwischen den drei Rollen werden in der folgenden Abbildung dargestellt. Se Service Consumer c rvi u es ch en Service Registry ve S röf ervic fen e tlic he Service aufrufen n Service Provider Abbildung 5: Allgemeines Architekturmodell 2.2.2 Charakteristika von serviceorientierten Architekturen Nach [Mat03] sind serviceorientierte Architekturen modular aufgebaut, d.h. ein Problem wird in mehrere Teilprobleme unterteilt. Die Anwendungslandschaft wird [RHS05] zufolge aus „einzelnen 18 Grundlagen fachlichen Anwendungsbausteinen“, d.h. Services aufgebaut, „die jeweils eine klar umrissene fachliche Aufgabe wahrnehmen“. Weiteres Merkmal von serviceorientierten Architekturen ist die Kapselung technischer Details. Nach [Mat03, RHS05, PapHeu] werden lediglich die „an den Geschäftsprozess gebundenen Notwendigkeiten“ betrachtet. Die Komponenten serviceorientierter Architekturen sind nach [RHS05] lose gekoppelt. Es bestehen demzufolge nur sehr beschränkte Möglichkeiten zur Flusskontrolle, zur Gewährleistung der Dienstqualität etc. [nach Hof03]. Weiterhin sind Services nach [RHS05] interoperabel und plattformunabhängig. Nach [PapHeu] muss sich dieser Mechanismus an weit verbreiteten Standards orientieren und aus einem beliebigen ITSystem heraus aufzurufen sein. Serviceorientierte Architekturen können auf vielfältige Art und Weise implementiert werden. Web Services stellen eine standardisierte Infrastruktur zur Realisierung einer SOA dar. 2.2.3 Web Services Web Services sind primär zur Integration heterogener IT-Systeme entstanden. Das große Versprechen der Web Services lautet universelle Interoperabilität. Heterogene Software-Systeme können innerhalb und außerhalb der Unternehmen miteinander kommunizieren. Die Systeme können von verschiedenen Herstellern sein, in verschiedenen Programmiersprachen codiert sein und auf unterschiedlichen Plattformen laufen. Dieser Gedanke ist nicht neu, doch Web Services ermöglichen durch die Nutzung allgemein verfügbarer und leicht zu handhabender Standards den Zugang für jeden Interessierten. Sie bringen „Interoperabilität für die Massen“ [Küs03]. Definition Web Service “A Web Service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.” [HaaBro04] [KosLey04] nennen weitere Schlüsseleigenschaften von Web Services. Demnach wird ein Web Service global eindeutig durch einen Uniform Resource Identifier (URI) identifiziert. Zudem sind Web Services autonom, d.h. man kann nicht beeinflussen, ob und wie eine Nachricht von einem Web Service verarbeitet wird. Qualitätseigenschaften wie z.B. Antwortzeitgarantien müssen durch zusätzliche Vereinbarungen geregelt werden. Grundlagen 19 Nach [KosLey04] bauen Web Services auf drei Kerntechnologien auf. Dazu gehören das Universal Description Discovery & Integration-Protokoll (UDDI), die Web Service Description Language (WSDL) sowie das Simple Object Access Protocol (SOAP). Alle drei Technologien basieren auf XML. 2.2.3.1 Universal Description Discovery & Integration Das Universal Description Discovery & Integration Protokoll dient der Katalogisierung von Web Services. Im zuvor erläuterten allgemeinen Architekturmodell speichert die Service Registry die eingetragenen Web Services mit Hilfe von UDDI. Nach [Cer02] gliedern sich die Inhalte eines UDDI-Verzeichnis in White, Yellow und Green Pages. In den White-Pages stehen allgemeine Angaben zum Service Provider wie z.B. Name, Beschreibung und Ansprechpartner oder Kontaktinformationen. Die Yellow Pages enthalten Informationen zu Produkten, Services, Branche, geographischen Regionen etc. In den Green Pages werden letztlich die technischen Details der Services veröffentlicht. Nach [OAS04] existieren im UDDI-Datenmodell vier Datentypen: businessEntity, businessService, bindingTemplate und tModel. Diese sind hierarchisch angeordnet (siehe folgende Abbildung). Eine businessEntity kann eine oder mehrere businessServices enthalten und diese können wiederum ein oder mehrere bindingTemplates enthalten. Die bindingTemplates verweisen schließlich mit Referenzen auf tModels. Wichtig ist hierbei: ein Objekt kann mehrere untergeordnete Objekte enthalten (eine businessEntity kann mehrere businessServices enthalten) aber ein Objekt kann immer nur einem anderen Objekt angehören (ein businessService kann nur einer businessEntity angehören). tModels können mehrfach referenziert werden. Abbildung 6: UDDI-Datenmodell 20 Grundlagen Mit businessEntity werden Unternehmen bzw. Service Provider repräsentiert. Die Struktur enthält allgemeine Informationen über das Unternehmen wie z.B. eine Beschreibung und Kontaktinformationen sowie eine Auflistung der angebotenen Services (siehe folgende Abbildung). Dazu gehören jedoch noch keine technischen Beschreibungen der Services. [nach OAS04] Abbildung 7: businessEntity-Datentyp Das Element businessService enthält genauere Informationen über die Services: Name, Beschreibung, Informationen zur Klassifizierung, etc. (siehe folgende Abbildung). Auch hier sind noch keine technischen Details spezifiziert, stattdessen können an dieser Stelle mehrere Services unter einer Rubrik versammelt werden. Es könnten beispielsweise mehrere Services für die Durchführung von Finanztransaktionen oder auch ein bestimmter Service in unterschiedlichen Implementierungen angeboten werden. Jeder dieser Services verweist auf ein bindingTemplate. [nach OAS04] Abbildung 8: businessService-Datentyp Grundlagen 21 Ein bindingTemplate repräsentiert einen Web Service in einer bestimmten Implementierung mit einer bestimmten Adresse (accessPoint, z.B. eine URL) für den Aufruf des Services (siehe folgende Abbildung). Es enthält die technischen Informationen, die Anwendungen für Aufruf und Interaktion benötigen. Im bindingTemplate werden technical Models (tModelInstanceDetails) referenziert, die die exakten technischen Details enthalten. [nach OAS04] Abbildung 9: bindingTemplate-Datentyp tModels repräsentieren technische Spezifikationen oder Konzepte. Mithilfe von Referenzen auf tModels können Services ihre Kompatibilität mit dieser Spezifikation anzeigen. Die Angabe aller kompatiblen tModels entspricht dem digitalen Fingerabdruck eines Service. Weiterhin ist es möglich, die Registry nach allen zu einem bestimmten tModel kompatiblen Services zu durchsuchen. Die technischen Spezifikationen werden in Dokumenten (overviewDoc, siehe folgende Abbildung) außerhalb der tModel-Struktur abgelegt. [nach OAS04] Abbildung 10: tModel-Datentyp Um die Suche innerhalb der UDDI noch effizienter zu gestalten, ist es möglich UDDI-Inhalte mithilfe von Taxonomien zu klassifizieren. Diese Taxonomien können von den UDDI-Nutzern 22 Grundlagen selbst definiert werden und auf alle oben beschriebenen Objekte des UDDI-Datenmodells angewandt werden. Die Inhalte können beispielsweise nach Anbieter, Produktart, Region etc. kategorisiert werden. Die Suche kann schließlich vom Nutzer auf ganz bestimmte Kategorien eingeschränkt werden und führt so zu noch genaueren Ergebnissen. Diese Klassifikations- und Idenfikationssysteme werden in UDDI value sets genannt. [nach OAS04] 2.2.3.2 Web Services Description Language Die Web Services Description Language (WSDL) „dient dazu, die Schnittstelle eines Web Services zu beschreiben. Das heißt, WSDL erlaubt die Deklaration von Operationen und die Definition der Nachrichten, die ein Web Service empfangen kann und die er verschickt.“ [KosLey04] WSDL beschreibt Services als Sammlung von Endpunkten (ports), die Nachrichten austauschen. Operationen (operations) und Nachrichten (messages) werden zunächst abstrakt beschrieben. Das binding verknüpft diese dann mit einem konkreten Netzwerkprotokoll und einem Nachrichtenformat. Ausgestattet mit einer Netzwerkadresse bildet das binding einen Endpunkt. Mehrere Endpunkte werden dann zu abstrakten Endpunkten (=Services) kombiniert. Das verwendete Kommunikationsprotokoll ist üblicherweise SOAP, es kann aber auch ein anderes Protokoll verwendet werden. [nach CCMW01] 2.2.3.3 Simple Object Access Protocol Das Simple Object Access Protocol (SOAP) “legt die Grobstruktur und die Verarbeitungsvorschriften von Nachrichten fest.“ Es ist sehr flexibel einsetzbar. In einem SOAPBody können XML-Daten oder auch binäre Daten enthalten sein. Des Weiteren unterstützt es verschiedene Interaktionsmuster wie z.B. Remote Procedure Calls (RPC). [nach KosLey04] Die folgende Abbildung veranschaulicht den Technologie-Stack von UDDI, WSDL und SOAP. Die Technologien bauen aufeinander auf. UDDI dient der Veröffentlichung von Services und deren Beschreibungen in Registries. WSDL beschreibt die Schnittstelle einzelner Services. Zur Kommunikation wird das SOAP-Protokoll verwendet. Alle drei Technologien verwenden XML und das Transportprotokoll HTTP. Grundlagen 23 UDDI WSDL SOAP XML HTTP etc. Abbildung 11: Web Services Technology Stack [KosLey04] 2.3 Verwandte Konzepte In der Praxis existieren verschiedene Konzepte zur Veröffentlichung der Servicemerkmale, die nicht durch UDDI, WSDL, etc. beschrieben werden. An dieser Stelle sollen einige ausgewählte Ansätze vorgestellt werden. 2.3.1 Dienstgüte Existierende Ansätze zur Differenzierung von fachlich gleichartigen Services zielen zumeist auf technische Kriterien, die so genannte Dienstgüte oder Quality-of-Service (QoS). Die am häufigsten genannten Parameter einer Dienstgüte-Spezifikation umfassen die folgenden: Verfügbarkeit (Availability) gibt für ein definiertes Zeitintervall die Wahrscheinlichkeit an, mit der ein Service die Anfrage eines Service Consumer beantworten kann. Sie wird prozentual für eine gegebene Zeitspanne angegeben. Wenn ein Service an einem Tag beispielsweise 23 von 24 Stunden verfügbar war, beträgt die Verfügbarkeit 95,8%. [nach BHMS03, Ran03] [ManNag02] grenzt die Accessibility von der Verfügbarkeit ab. Hier bedeutet Verfügbarkeit lediglich, dass der Service präsent und nutzungsbereit ist. Accessibility beschreibt hingegen die Möglichkeit auf den Service dann wirklich zugreifen zu können, um ihn zu nutzen. Ein überlasteter Service kann verfügbar sein, aber nicht accessible. Integrität (Integrity) beschreibt die Fähigkeit eines Service, Transaktionen auszuführen. Eine Transaktion ist eine Sequenz von mehreren Arbeitsschritten, die als einzelne Aktivität betrachtet wird. Dementsprechend müssen alle Schritte erfolgreich sein damit die Transaktion erfolgreich ist. Sobald einer der Schritte abgebrochen wird, müssen die erfolgten Änderungen rückgängig gemacht werden und die gesamte Transaktion wird abgebrochen. [nach ManNag02, Ran03] Leistungsfähigkeit (Performance) ergibt sich aus den beiden Faktoren Durchsatz (Throughput) und Antwortzeit (Response Time bzw. Latency). Der Durchsatz gibt an, wie viele Serviceanfragen 24 Grundlagen innerhalb einer bestimmten Zeitperiode bearbeitet werden können. Die Antwortzeit definiert sich aus der Zeit, die benötigt wird, bis man das Resultat einer Anfrage erhält. Zuverlässigkeit (Reliability) beschreibt die Fähigkeit einen Service sowie die Servicequalität aufrecht zu erhalten. Die Anzahl der Abstürze in einem bestimmten Zeitintervall kann als Zuverlässigkeitsmaß dienen. Zuverlässigkeit kann auch die zuverlässige und geordnete Zustellung von Nachrichten zwischen Service Consumer und Provider meinen. [nach ManNag02] Regulatory beschreibt die Einhaltung von Regeln, Gesetzen und die Konformität mit Internetstandards wie z.B. SOAP, UDDI und WSDL. Die Einhaltung solcher Standards durch den Service Provider ist nötig, damit der Service Consumer den Service korrekt aufrufen kann. [nach ManNag02] Sicherheit (Security) umfasst die Authentizität der beteiligten Partner, die Autorisierung der Nutzer (Zugangskontrolle) sowie die Verschlüsselung der Daten bzw. Nachrichten. [nach ManNag02, BHMS03] 2.3.2 Nicht-technische Kriterien Zusätzlich können nicht-technische Kriterien über Services festgehalten werden. Die Nutzung eines Service kann kostenpflichtig oder kostenlos sein. Die Nutzungsgebühren berechnen sich „nach der Anzahl der Aufrufe, der Nutzungsdauer, des verarbeiteten Datenvolumens oder nach einem Pauschaltarif“ [GKG03]. Auch die Reputation des Service Providers oder eines Service im speziellen kann dokumentiert werden und so dem Service Consumer eine weitere Entscheidungshilfe bei der Auswahl eines Service Providers bieten. [nach BHMS03] 2.3.3 Service Level Agreements (SLAs) Service Level Agreements stellen Verträge dar, die zwischen einem Dienstleister und seinem Kunden abgeschlossen werden. Dort werden die genauen Parameter der zu erbringenden Dienstleistung, deren Qualität sowie die Rahmenbedingungen unter denen diese Qualität eingehalten wird, festgelegt [BHMS03, CCDS03]. Oft werden mehrere Service Levels (z.B. Gold, Silber, Bronze) mit abgestuften Qualitätseigenschaften und Kosten für eine Dienstleistung angeboten. Die Service Levels für eine Störungsbehebung könnten beispielsweise eine Behebung innerhalb von 3 Stunden (Gold), 6 Stunden (Silber) oder 12 Stunden (Bronze) vorsehen. Die Einhaltung der SLAs kann überwacht werden und bei Nichteinhaltung entsprechende Strafen auslösen. Eine zu technische Orientierung bei der Definition von SLAs kann deren Nutzen jedoch schnell zunichte machen. Letztendlich ist für den Service Consumer nicht die bloße Einhaltung von Übertragungsgeschwindigkeiten und Antwortzeiten, sondern die Erreichung seiner Geschäftsziele entscheidend. [nach CZ06] Grundlagen 25 2.4 Verwandte Projekte Die in Kapitel 2.3 beschriebenen Konzepte werden in einer Reihe von Projekten bereits angewandt. Einige interessante Forschungsprojekte sollen im Folgenden vorgestellt werden. 2.4.1 E-Finance Lab Das E-Finance Lab ist eine Kooperation der Universitäten Darmstadt und Frankfurt sowie verschiedener Unternehmen, vornehmlich aus der Finanzbrache. Der Cluster II dieses Projekts beschäftigt sich mit dem Einsatz neuer IT-Architekturen, insbesondere der serviceorientierten Architektur und Web Services zur besseren Unterstützung der Geschäftsprozesse innerhalb der EFinance Branche. Im Zuge dessen sollen die technischen Anforderungen flexibler und agiler EFinance Prozesse genauer untersucht werden. Dabei spielt die Unterstützung von Dienstgütegarantien (QoS) für Web Services eine besondere Rolle. Der Mangel solcher Garantien hielt Finanzinstitutionen bisher davon ab, Services von externen Anbietern in ihre kritischen Geschäftsprozesse einzubinden. Der Forschungsprototyp WSQoSX (Web Service Quality of Service Architectural Extension) soll die Steuerung SoA-basierter Geschäftsprozesse ermöglichen [BHS05]. Dazu müssen Service Provider ihre Services am Portal des Service Consumers registrieren und für ihre Services Dienstgüteeigenschaften in Form von Service Level Agreements (SLAs) garantieren. Die Services werden dann zur Laufzeit unter Berücksichtigung ihrer Dienstgüteeigenschaften ausgewählt. 2.4.2 DySCo Beim DySCo Framework [PFW03] handelt es sich um eine Erweiterung der Workflowtechnologie, die es erlaubt Web Services in Geschäftsprozesse zu integrieren. Die Autoren nennen dies ServiceOriented-Workflow. Den Unterschied zwischen Workflow-Systemen und Web Services erklären sie wie folgt. In einem Workflow steuert eine zentrale Einheit den Prozess. Sie beauftragt Ressourcen mit der Erledigung von Tasks. Die Ressourcen selbst besitzen keinerlei Prozesswissen, d.h. sie kennen nicht den Zweck oder das Ziel ihrer Arbeit, sondern führen lediglich die Arbeit aus, mit der sie beauftragt wurden. Bei der Nutzung von Web Services werden Tasks an externe Service Provider übergeben, die entsprechende Services anbieten. Der Service Provider kann zur Erfüllung des Tasks wiederum Services von anderen Service Providern in Anspruch nehmen. Der grundlegende Prozess zu dem der Task gehört, bleibt der gleiche, die Prozesslogik ändert sich nicht. Je nach Art der Realisierung durch den Service Provider kann sich jedoch die Interaktions- und Koordinationslogik ändern. Die Interaktions- und Koordinationslogik jedoch ändern sich je nachdem, wie der Service Provider den ihm übergebenen Task realisiert. 26 Grundlagen Im vorgestellten Dynamic Service Composer (DySCo) verschiebt sich der Fokus von (Workflow-) Aktivitäten zu (Web-Service-)Interaktionen. Ressourcen werden zu Rollen, Tasks werden zu Interaktionsschritten. Ressourcen verrichten Tasks, wenn sie damit beauftragt werden. In einem Interaktionsschritt interagieren verschiedene Rollen miteinander, um ein vorgegebenes Ziel zu erreichen. In Workflow enthält eine task description genügend Informationen, um die Ressource bei der Ausführung der Aktivität anzuleiten. In einem Interaktionsschritt enthält die step description Informationen darüber, wie die involvierten Rollen miteinander interagieren müssen. Informationen bzw. Änderungen des Status des Gesamtprozesses können Input und Output eines Interaktionsschritts sein. Bei der Berechnung des Outputs fließen die Beiträge aller an dem Interaktionsschritt beteiligten Rollen ein. Die Interaktionen zwischen den Rollen eines Interaktionsschrittes sind unabhängig von den Service Providern, die letztlich die Rollen einnehmen. Die Interaktionslogik bleibt erhalten, während die Zusammensetzung der Service Provider sich ändern kann. DySCo rekonfiguriert dynamisch die Interaktionsprozesse zwischen Service Providern und passt die Koordinationslogik automatisch an. DySCo enthält eine Entwicklungs- sowie eine Laufzeitumgebung für Web Services. Die Komposition von Web Services kann über eine graphische Oberfläche in WfMC-konformer Darstellung modelliert werden. Dazu kann man sowohl traditionelle Workflow-Prozesse als auch Interaktionsschritte erstellen. Die projection generation environment unterstützt die automatische Generierung der Koordinationslogik für verschiedene Rollenkonfigurationen. 2.4.3 FRESCO Das FRESCO-Rahmenwerk (Foundational Research on Service Composition) [PZL03] bietet Funktionen zum Planen, Konstruieren und Betreiben von dienstorientierten Anwendungen. Der Fokus liegt dabei, ähnlich wie bei DySCo, auf der dynamischen Komposition von Services. FRESCO enthält zum einen konzeptionelle Modelle zur Servicekomposition, -koordination und -aggregation und zum anderen die technologische Infrastruktur für die Entwicklung und Ausführung von zusammengesetzten Services. 2.4.4 COSMOS COSMOS [Gri98] ist ein internetbasierter electronic contracting Service, der es kooperierenden Firmen erleichtern soll, Geschäftsprozesse zu automatisieren. Dazu setzt COSMOS bei Verträgen als Grundlage jeder kommerziellen Transaktion an. Verträge sind strukturierte Dokumente, die sämtliche Informationen bzgl. vereinbarter Leistungen, Konditionen etc. enthalten. Somit eignen sie sich ideal, um alle Phasen einer Transaktion zu unterstützen, d.h. neben der Verhandlung der Konditionen insbesondere die Ausführung des Vertrags und die Kontrolle der Vertragsparteien. Grundlagen 27 COSMOS integriert mehrere Funktionalitäten mit dem Ziel die Transaktionskosten, d.h. InformationsVerhandlungs- und Ausführungskosten, in elektronischen Märkten zu reduzieren. Die folgende Abbildung veranschaulicht den Umfang des COSMOS Service. Dieser enthält einen Servicekatalog (Offer Catalogue), einen Vermittlungsservice Vertragsverhandlung (Negotiation), (Brokerage) -unterzeichnung (Signing) sowie und Funktionalitäten zur -ausführung (Workflow Execution). Abbildung 12: COSMOS Service Der Servicekatalog enthält Informationen über die von den Marktteilnehmern angebotenen Services mitsamt deren Dienstgüteparametern. Der Vermittlungsservice sucht auf Anfrage der Marktteilnehmer nach potentiellen Vertragspartnern. Die Vertragsverhandlungsunterstützung ermöglicht ein kollaboratives Erstellen von Verträgen. Jede Vertragspartei hat dabei die Möglichkeit, Änderungen am aktuellen Vertrag vorzunehmen und diese der anderen Partei als Angebot vorzulegen. Diese kann den Vorschlag annehmen, selbst ein Angebot mit Änderungen machen oder das Angebot ablehnen. So kommt Schritt für Schritt ein Vertrag zustande. Die Vertragsunterzeichnung erfolgt mithilfe digitaler Signaturen. Workflow-Software koordiniert letztlich die Vertragsausführung, d.h. die Ausführung der einzelnen Aktivitäten durch definierte Rollen in einer definierten Reihenfolge. 2.5 Abgrenzung zu verwandten Arbeiten Alle vorgestellten Projekte zielen auf den Einsatz von Web Services zur Unterstützung von Geschäftsprozessen ab. In jedem der Projekte wird der gesamte Lebenszyklus eines Web Service unterstützt. Jedes Projekt verfolgt dabei einen eigenen Ansatz und bietet eine eigene Infrastruktur zur Ausführung der zusammengesetzten Services. 28 Grundlagen Im Projekt „E-Finance Lab“ werden Services an einem zentralen Portal registriert und mit Informationen über die Dienstgüte und Service-Level-Agreements angereichert. Das Projekt DySCo fokussiert insbesondere auf die sich ändernden Interaktionsprozesse und Koordinationslogik innerhalb von zusammengesetzten Geschäftsprozessen. Das Projekt FRESCO verfolgt einen sehr theoretischen Ansatz, indem insbesondere konzeptionelle Modelle für die Komposition und Aggregation von Services entwickelt werden. Das Projekt COSMOS fokussiert auf Verträge als Grundlage und Steuerungsinstrument jeden Geschäftsprozesses. Die vorliegende Arbeit wird ebenfalls die Integration von Web Services in automatisierte Geschäftsprozesse (Workflows) betrachten. Dazu sollen möglichst umfassende Informationen über Services veröffentlicht werden, um so dem Service Consumer eine bessere Entscheidungsgrundlage zu bieten und es Service Providern zu ermöglichen, sich von Wettbewerbern zu differenzieren. 2.6 Exkurs: Wettbewerbsstrategien In einer serviceorientierten Architektur kauft sich ein Service Consumer von einem externen Anbieter, dem Service Provider, eine Funktionalität ein. Services sind demnach vergleichbar mit Produkten und Dienstleistungen, die dem Kunden ebenfalls eine Funktionalität bereitstellen. Um in einem Markt gegen den Wettbewerb zu bestehen, muss man eine Strategie verfolgen. In der betriebswirtschaftlichen Literatur finden sich die folgenden essentiellen Wettbewerbsstrategien. [Por85] besagt, dass Organisationen in einem Markt nur eine von drei Grundtypen von Strategien verfolgen können, um einen Wettbewerbsvorteil zu erlangen: Kostenführerschaft, Differenzierung und Nischenbesetzung. Jede Strategie hat einen anderen Ansatzpunkt und verfolgt andere Ziele [nach Bli02, S. 28]. 2.6.1 Kostenführerschaft Organisationen die die Strategie der Kostenführerschaft verfolgen, versuchen ihre Kosten möglichst niedrig zu halten. Die Organisation mit den niedrigsten Kosten kann demnach auch dann noch Profit erwirtschaften, wenn der Preis für das angebotene Produkt bzw. die angebotene Dienstleistung so weit gesunken ist, dass alle anderen Wettbewerber Verluste machen. Oberste Priorität ist die Unterbietung der Konkurrenzpreise, um somit einen möglichst hohen Marktanteil zu erobern. Kostenvorteile können auf unterschiedliche Art und Weise erreicht werden. Einige Beispiele sind Skaleneffekte, d.h. durch die Fertigung großer Stückzahlen fallen die Kosten pro Einheit, Erfahrungseffekte, d.h. mit zunehmender Erfahrung wird die Produktion effizienter, was zu sinkenden Kosten führt, verbesserter Prozesstechnik, Produktdesign, Prozessdesign, Kapazitätsausnutzung etc. Das größte Risiko bei der Verfolgung dieser Strategie besteht in der Kostenunterbietung durch einen Wettbewerber. [nach Gra02] Grundlagen 29 2.6.2 Differenzierung Organisationen die die Strategie der Differenzierung verfolgen, bieten eine überlegene Produktleistung durch Fokussierung eines wichtigen Kundennutzen. Die überlegene Produktleistung rechtfertigt dementsprechend einen höheren Preis und ermöglicht dem Unternehmen so eine höhere Umsatzrendite. Mintzberg identifiziert die folgenden fünf Möglichkeiten der Differenzierung. [nach MQG95] Differenzierung über den Preis bedeutet, dass eine Organisation sich über einen im Vergleich zur Konkurrenz höheren oder niedrigeren Preis profilieren will. Geschieht die Differenzierung über einen besonders niedrigen Preis, so strebt die Organisation normalerweise auch die Kostenführerschaft an. Differenzierung über das Image bedeutet, dass eine Organisation versucht unter umfangreichem Einsatz von Marketing-Techniken (z.B. Werbung) beim Kunden einen guten Eindruck bzgl. Qualität und Leistung der Organisation bzw. ihrer Produkte zu hinterlassen. Differenzierung über Support bedeutet, sich über eine produktbegleitende Leistung zu differenzieren (z.B. eine kostenlose und rund um die Uhr zu erreichende Hotline). Bei einer Differenzierung durch das Design steht das Produktdesign im Vordergrund. Die Entwicklung von neuen Produkten ist hier besonders wichtig. Differenzierung über die Qualität bezieht sich auf die Produktions- und Prozessfähigkeiten einer Organisation. Die Organisation versucht, Qualität in ihre Produkte und Prozesse zu integrieren und diese streng zu kontrollieren. 2.6.3 Nischenbesetzung Die Strategie der Nischenbesetzung sieht eine Konzentration auf ein oder mehrere eng umrissene(s) Marktsegment(e) vor. Das Unternehmen spezialisiert sich dazu auf die Bedürfnisse dieser/dieses Segmente/Segments. Die Strategie kann in zwei Varianten angewendet werden. Bei einer Nischenbesetzung mit Kostenführerschaft ist das Ziel ein hoher Marktanteil. Bei einer Nischenbesetzung mit Differenzierung ist es eine hohe Umsatzrendite. Die Marktsegmentierung ist ein wesentlicher Schritt, um eine Nischenbesetzungsstrategie zu implementieren. Hierzu wird die Gesamtheit eines Marktes (z.B. für Automobile) in verschiedene Segmente mit spezifischen Charakteristika eingeteilt (z.B. Premium- und Low-Cost-Automobile). Im B2B-Bereich sind insbesondere die demographischen Variablen von Organisationen wichtig für die Segmentierung. In [BonSha83] werden die folgenden Variablen mit den dazu gehörigen Leitfragen aufgelistet: 30 Grundlagen Branche „Auf welche Branchen, die unser Produkt benötigen, sollten wir uns konzentrieren?“ Organisationsgröße „Auf Unternehmen welcher Größe sollten wir uns konzentrieren?“ Standort bzw. Region „Auf welche geographischen Gebiete sollten wir uns konzentrieren?“ Operative Variablen „Auf welche Kundentechnologien sollten wir uns konzentrieren?“ Kundenkompetenz „Sollten wir uns auf Kunden konzentrieren, die viele Dienstleistungen benötigen, oder auf solche, die wenige benötigen?“ Die folgende Abbildung stellt die drei erläuterten Strategien grafisch dar. Kostenführerschaft Differenzierung mit Kostenführerschaft mit Differenzierung Nischenbesetzung Abbildung 13: Generische Wettbewerbsstrategien nach Porter Das Konzept der Wettbewerbsstrategien wird im weiteren Verlauf der Arbeit hilfreich bei der Definition von sinnvollen Informationen zur Beschreibung von Services sein. Modellbildung 31 3. Modellbildung 3.1 Serviceorientierter Workflow So wie einzelne Aktivitäten in einem Workflow von Applikationen erledigt werden, könnten auch Services in einen Workflow integriert werden. Die Archivierung von Dateien in einer Datenbank kann intern im eigenen Unternehmen erfolgen, es kann aber auch der Datenbank-Service eines externen Anbieters genutzt werden. Dank der globalen Verfügbarkeit von Services über das Internet kann die ganze Vielfalt der angebotenen Services zur Unterstützung des Workflows eingesetzt werden. Die Organisation, bzw. das Workflow-Management-System übernimmt in diesem Fall die Rolle des Service Consumers. Bei der Integration offenbaren sich dennoch einige Probleme. Einen Datenbankservice können viele Service Provider anbieten. Diese können sich in der Kapazität des Speichers, der Leistung der verwendeten Rechner, der Bandbreite der Verbindung und vielen anderen Merkmalen unterscheiden. Die in der Service Registry veröffentlichten Informationen beschränken sich jedoch auf die Aufrufschnittstellen der verschiedenen Services. Die Unterschiede zwischen den Services werden dem Service Consumer nicht angezeigt. Diesen Sachverhalt stellt die folgende Abbildung dar. Service X ? Service 1 Service Provider 1 Service 2 Service 3 Service Provider 2 Service Provider 3 Abbildung 14: Serviceorientierter Workflow Es liegt folglich ein Informationsproblem vor. Dem Service Consumer fehlt die Entscheidungsgrundlage für die Auswahl eines Service. Besitzt der Service Consumer nicht die technische Expertise um die Schnittstellenbeschreibung zu verstehen, findet er seinen gesuchten 32 Modellbildung Service möglicherweise gar nicht. Der Service Provider bekommt in der Service Registry keine Möglichkeit, sich von der Konkurrenz abzuheben, da Merkmale seines Service teilweise gar nicht kommuniziert werden. Die Funktionalität der Service Registry muss demnach erweitert oder ergänzt werden, um die Speicherung weiterführender Informationen zu ermöglichen. Zur Identifikation der Informationen die für die Service Consumer interessant sind, erfolgt zunächst eine genauere Betrachtung der Service Provider. Wie ein angebotener Service zustande kommt ist dabei von besonderem Interesse. Daher wird im Folgenden genauer auf die Prozesse, die innerhalb eines Service Providers ablaufen, eingegangen. Anschließend werden Möglichkeiten zur umfangreichen Beschreibung dieser Prozesse aufgezeigt und diese schließlich in einem Schema zusammengetragen. 3.2 Wettbewerbsinformationen Das Konzept der Wettbewerbsstrategien kann auch auf unseren Anwendungsfall, d.h. den Markt für Services, übertragen werden. Dabei soll nicht die Art der Strategie, die die Service Provider verfolgen, von Interesse sein, sondern die Art der Informationen, die im Markt vorhanden sein müssen. Verfolgt eine Organisation die Strategie der Kostenführerschaft, so muss es den Kunden Informationen über die Kosten seiner Produkte (über den Preis) zur Verfügung stellen. Verfolgt eine Organisation die Strategie der Differenzierung, so muss es seinen Kunden Informationen über die Art der Differenzierung seiner Produkte zur Verfügung stellen. Gleiches gilt für die Strategie der Nischenbesetzung, hier müssen Informationen über das bearbeitete Segment verfügbar gemacht werden. Ein Markt benötigt demnach Informationen über Kosten, Differenzierungsmerkmale und Segmente, um den Marktteilnehmern einen idealen Wettbewerb zu ermöglichen. Auch auf dem Markt für Services müssen Informationen aus den drei genannten Kategorien veröffentlicht werden, um Wettbewerb herzustellen. Diese Informationen sollen in das zu entwickelnde Modell einfließen. 3.3 Prozesse der Service Provider Services basieren auf einer Vielzahl von Prozessen. Nach [ZirLam04] können diese Prozesse in interne Erstellungs- und externe Erbringungsprozesse unterteilt werden. Erstellungsprozesse umfassen die Fähigkeiten eines Service Provider, die notwendig sind, um die Inhalte einer Leistung zu realisieren. Betrachtet man einen Logistikdienstleister, gehören zu dessen Fähigkeiten etwa die Handhabung und der Transport von Waren. Modellbildung 33 Erbringungsprozesse umfassen hingegen all die Fähigkeiten, mit denen der Service Provider dem Service Consumer die Dienstinhalte verfügbar und nutzbar macht. Im Logistikbeispiel gehören dazu etwa die Interaktion mit dem Kunden oder die Veröffentlichung von Preisen und Lieferfristen. Zur Erstellung einer Leistung greift ein Service Provider auf Ressourcen zurück. Diese Ressourcen bestimmen maßgeblich das Ergebnis des Erstellungsprozesses. Die internen Fähigkeiten Gefahrgut oder zerbrechliche Waren unbeschadet zu transportieren, ist für den Service Consumer von ebenso hoher Bedeutung wie die externen Attribute Preis und Lieferfrist. Service Provider unterscheiden sich demnach nicht nur durch die externen Erbringungsprozesse, sondern ebenso durch die internen Erstellungsprozesse und Ressourcen. Serviceorientierte Architekturen und Web Services fokussieren traditionell auf die Erbringungsprozesse. Das Medium über das die Erbringung eines Service realisiert wird, ist die Schnittstelle. Insbesondere diese ist in der Service Registry beschrieben. Nutzt ein Service Consumer einen Service, interessiert ihn aber nicht nur die Schnittstelle an sich, sondern vielmehr die Funktionalität, die ihm über diese Schnittstelle verfügbar gemacht wird. Diese hängt direkt mit den Erstellungsprozessen, die im Inneren des Service Providers ablaufen, zusammen. In der Service Registry sind lediglich Informationen über die externen Erbringungsprozesse hinterlegt. Die Leistung, die der Service Consumer letztlich erhält, wird aber auch von den internen Erstellungsprozessen und Ressourcen des Service Providers beeinflusst. Demnach müssen auch über diese Prozesse und Ressourcen Informationen in der Service Registry hinterlegt werden. Die folgende Abbildung veranschaulicht diesen Zusammenhang. Die drei hellblauen Kreise stellen die drei Rollen in serviceorientierten Architekturen dar. Beim Service Provider erscheint nun die Trennung zwischen Erbringungs- und Erstellungsprozessen. Die Erbringungsprozesse des Service Providers sind als hellblauer Kasten dargestellt. Der Informationsfluss zwischen den drei Rollen ist mit durchgehenden Pfeilen dargestellt und beschränkt sich in der klassischen serviceorientierten Architektur auf die Erbringungsprozesse. Die schraffierten Kästen zeigen die Erstellungsprozesse sowie die von diesen genutzten Ressourcen. Diese befinden sich im Inneren des Service Providers, da von diesem die Leistung erstellt wird. Mit unserem Modell soll der Informationsfluss auf die Erstellungsprozesse erweitert werden. Der zusätzliche Informationsfluss wird durch die gestrichelten Pfeile angezeigt. 34 Modellbildung Service Registry Erbringung Service Consumer Service Provider Erstellung Ressource Abbildung 15: Konzeptionelles Servicemodell 3.4 Funktionale und nicht-funktionale Eigenschaften Funktionale Eigenschaften beschreiben die Funktionalität eines Service, d.h. die Arbeit die er für den Service Consumer verrichtet bzw. die Fähigkeit eine bestimmte Aufgabe zu lösen. In serviceorientierten Architekturen existieren für die Beschreibung der funktionalen Eigenschaften bereits mehrere Elemente: die Service Description sowie das Service Interface. Aus der Service Description sind die vom Service erbrachten Funktionen, die Beschreibung der Interaktion, d.h. Formate, Inhalte und Reihenfolge von Nachrichten sowie eventuelle Beschränkungen und Vorschriften hervorzuheben. Das Service Interface gibt genauere Informationen zur Bindung eines Service und über die dazu benötigten Protokolle. Es stellt dem Service Consumer sämtliche Informationen zur Verfügung, um den Service selbstständig aufrufen zu können (z.B. die URI). Nicht-funktionale Eigenschaften umfassen die Eigenschaften eines Service, die nicht direkt mit der Funktionalität zu tun haben. Einige nicht-funktionale Eigenschaften wurden bereits in Kapitel 2.3 vorgestellt. Sie werden im Folgenden in vier Kategorien aufgeteilt: Dienstgüte, Nutzungsgebühren, Reputation des Service Providers und zusätzliche nicht-funktionale Leistungen. Wie oben beschrieben, umfasst die Dienstgüte die Parameter Verfügbarkeit, Integrität, Leistungsfähigkeit, Zuverlässigkeit, Regelkonformität und Sicherheit. Diese Parameter haben keinen direkten Einfluss auf die Funktionalität des Services. Wie oben erwähnt, kann die Nutzung kostenlos oder kostenpflichtig sein. Ist sie kostenpflichtig, kann die Abrechnung „nach der Anzahl der Aufrufe, der Nutzungsdauer, des verarbeiteten Datenvolumens oder nach einem Pauschaltarif erfolgen“ [GKG03]. Modellbildung 35 Die Reputation des Service Providers könnte über ein Punktesystem angezeigt werden. So könnten die Nutzer eines Service diesen Service und auch den Service Provider auf einer Punkteskala bewerten. Diese Bewertungen könnten zentral gespeichert und aufbereitet werden und so eine Bewertung aller Service Provider ermöglichen. Zukünftigen Nutzern kann die Bewertung wiederum hilfreich bei der Wahl des Services bzw. Service Providers sein. Verfügt der Service über weitere nicht-funktionale Eigenschaften, sollten auch diese veröffentlicht werden. Dazu gehören alle zusätzlichen Leistungen, die nicht direkt die Funktionalität des Services berühren, für den Service Consumer aber dennoch nützlich sein könnten. Dazu gehören z.B. SupportLeistungen wie eine Service-Hotline, eine Fortschrittsüberwachung, die Berichterstattung in textueller oder grafischer Form etc.. Im Folgenden werden die genannten Eigenschaften in einem Service-Schema zusammengefasst. 3.5 Service-Schema Um Redundanz zu vermeiden, wird nicht jede der zuvor genannten Kategorien (Wettbewerbsinformationen, Prozesse, funktionale und nicht-funktionale Eigenschaften) als eigener Punkt im Service-Schema aufgelistet. Die Service-Kosten würden so beispielsweise unter dem Punkt Wettbewerbsinformationen und nicht-funktionale Eigenschaften gelistet. Zur Gliederung der oben identifizierten Informationen bietet sich am ehesten die Unterscheidung von funktionalen und nichtfunktionalen Eigenschaften an. Unter diesen Kategorien können auch die Informationen zu Wettbewerb und Prozessen versammelt werden. Informationen über die Kosten eines Service fallen in die Kategorie nicht-funktionale Eigenschaften, da sie die Funktionalität nicht direkt beeinflussen. Auch die zuvor genannten Differenzierungsmerkmale (Preis, Qualität, Image etc.) gehören zu den nicht-funktionalen Eigenschaften, denn gerade über diese können sich Services, die ansonsten die gleiche Funktionalität bieten, differenzieren. Die Informationen zum Segment gehören hingegen zu den funktionalen Eigenschaften. Sie beschreiben über die beabsichtigte Zielgruppe indirekt auch die Funktionalität bzw. beschränken diese. Die Funktionalität wird für eine bestimmte Gruppe zur Verfügung gestellt. Die Erbringungsprozesse werden über das Service Interface beschrieben. Dort wird erläutert, wie man die Leistung des Service Providers erhält. Das Service Interface gehört zu den funktionalen Eigenschaften. Die Erstellungsprozesse beschreiben zum einen was im Inneren des Service Providers geschieht, dazu dient die Service Description, und zum anderen wie das geschieht, d.h. mit welcher Dienstgüte. Die Service Description ist den funktionalen Eigenschaften zuzurechnen, die Dienstgüte den nicht-funktionalen Eigenschaften. 36 Modellbildung Grundlegende Informationen zur Identifikation eines Service sind ein Titel, ein Name und eine Beschreibung des Service-Providers. Diese erscheinen zu Beginn des Service-Schemas. Die Erkenntnisse des Kapitels zusammenfassend ergibt sich folgendes Service-Schema: 1. Titel o Umgangssprachliche Beschreibung 2. Service-Provider o Beschreibung o Kontaktdaten o URL 3. Funktionale Eigenschaften o Service Description o Service Interface o Segment Branche Organisationsgröße Standort/Region Operative Variablen Abteilungsfunktion Kundentechnologien 4. Nicht-funktionale Eigenschaften o o o o Nutzungsgebühren Preis pro Aufruf Preis pro Zeiteinheit Preis pro Volumeneinheit Pauschaltarife Dienstgüte Leistungsfähigkeit Verfügbarkeit Integrität Zuverlässigkeit Regelkonformität Sicherheit Reputation Reputation des Service Providers Reputation des Services Nicht-funktionale Zusatzleistungen Realisierung & Fallstudie 37 4. Realisierung & Fallstudie Das Kapitel Realisierung & Fallstudie gliedert sich in drei Teile. Im ersten Teil wird die Realisierung des Service-Schemas mit Informationen aus vorhandenen und neuen Datenstrukturen untersucht. Im zweiten Teil wird die neue Komponente Domain Manager vorgestellt, die die Informationen des Service-Schemas zusammentragen und verfügbar machen soll. Im letzten Teil wird das entwickelte Modell auf einen Prozess aus dem E-Government angewandt. 4.1 Realisierung Service-Schema Bisher stehen als Informationsquellen für die Realisierung des Service-Schemas die drei Rollen Service Registry, Service Provider und Service Consumer zur Verfügung. Im Folgenden wird dargestellt, welche der Rollen welche Informationen zur Verfügung stellen kann. In der Service-Registry werden bereits einige Informationen über die eingetragenen Services bereitgestellt. Über das UDDI-Datenmodell (siehe Kapitel 2.2.3.1) werden Informationen über den Service Provider durch die businessEntity-Klasse bereitgestellt. Sie enthält Name, Beschreibung, URL, Kontaktinformationen sowie eine Liste der angebotenen Services. Die businessService-Klasse enthält Name, Beschreibung und angebotene bindingTemplates eines Services. Die bindingTemplateKlasse enthält die Beschreibung, die Adresse für den Aufruf und eine Liste der unterstützten tModels. Die tModels enthalten wiederum den Namen, eine Beschreibung sowie Spezifikationen. Die WSDLDateien, die für jeden eingetragenen Service existieren, enthalten Angaben zu Nachrichtenformaten, Operationen und Adressen. Die weiteren Informationen des Service-Schemas muss der Service Provider liefern. Für die Bereitstellung gibt es zwei Möglichkeiten. Sie kann entweder statisch erfolgen, d.h. die Informationen werden einmalig übermittelt oder sie werden dynamisch, d.h. zum Zeitpunkt der Anfrage durch den Service Consumer zur Verfügung gestellt. Statische Informationen sollten durchgehend für den Service gelten und sich nicht ändern, während sich die dynamischen Informationen ständig ändern können und nur zum Zeitpunkt der Anfrage und des evtl. folgenden Aufrufs gültig sein müssen. Zu den statischen Informationen gehören die Informationen zum Marktsegment, den permanent gültigen Parametern der Dienstgüte (Integrität, Regelkonformität, Sicherheit), den Nutzungsgebühren und eventuellen Zusatzleistungen, sofern diese konstant sind. Zu den dynamischen Informationen gehören die variablen Parameter der Dienstgüte (Leistungsfähigkeit, Verfügbarkeit, Zuverlässigkeit), sowie variable Nutzungsgebühren und Zusatzleistungen (z.B. je nach Auslastung). 38 Realisierung & Fallstudie Einen Sonderfall stellen die Informationen zur Reputation dar. Die Bewertungen der Services stammen vom Service Consumer, aber die Ermittlung der Reputation muss durch eine neutrale Instanz erfolgen. Hierauf wird im nächsten Abschnitt genauer eingegangen. Es werden folglich mehrere neue Datenstrukturen zum Datenaustausch benötigt. Die Datenstrukturen der UDDI sind bereits in Kapitel 2.2.3.1 erläutert worden. Für die Übermittlung der statischen und dynamischen Informationen werden im Folgenden an XML angelehnte Schemas definiert. 1. Schema für statische Informationen <statische_information> <marktsegment> <branche> <organisationsgröße> <standort> <operative_variable> <abteilungsfunktion> <technologie> </operative_variable> </marktsegment> <dienstgüte> <integrität> <regelkonformität> <sicherheit> </dienstgüte> <nutzungsgebühr> <pro_aufruf> <pro_zeiteinheit> <pro_volumeneinheit> <pauschaltarif> </nutzungsgebühr> <zusatzleistung> </statische_information> 2. Schema für dynamische Informationen <dynamische_information> <dienstgüte> <leistungsfähigkeit> <verfügbarkeit> <zuverlässigkeit> </dienstgüte> <nutzungsgebühr> <pro_aufruf> <pro_zeiteinheit> <pro_volumeneinheit> <pauschaltarif> </nutzungsgebühr> <zusatzleistung> </dynamische_information> Die Herkunft der Informationen des Service-Schemas wird hier nochmals im Überblick dargestellt. Realisierung & Fallstudie 39 1. Titel o businessService Name Umgangssprachliche Beschreibung businessService Description 2. Anbieter businessEntity Name o Beschreibung businessEntity Description o Kontaktdaten businessEntity Contacts o URL businessEntity discoveryURLs 3. Funktionale Eigenschaften o Implementierung Service Description businessService Description, bindingTemplates, tModels o Service Interface WSDL-Dateien Marktsegment Branche Organisationsgröße Standort/Region Operative Variablen <statische_information> Abteilungsfunktion Kundentechnologien 4. Nicht-funktionale Eigenschaften o o o o Dienstgüte Leistungsfähigkeit Verfügbarkeit Zuverlässigkeit Integrität Regelkonformität Sicherheit <dynamische_information> <statische_information> Nutzungsgebühren Preis pro Aufruf Preis pro Zeiteinheit Preis pro Volumeneinheit Pauschaltarife <statische_information> / <dynamische_information> Reputation Reputation des Service Providers Reputation des Services neutrale Instanz Nicht-funktionale Zusatzleistungen <statische_information> / <dynamische_information> 40 Realisierung & Fallstudie Die im Service-Schema enthaltenen Informationen können nicht komplett in der Service-Registry gespeichert werden. Es wird eine zusätzliche Rolle im Dreieck der serviceorientierten Architektur benötigt. Im Folgenden wird die existierende Architektur um die Rolle Domain Manager erweitert. 4.2 Realisierung Infrastruktur Nachdem definiert wurde, wie das Service-Schema auszusehen hat und mit welchen Datenstrukturen es realisiert werden soll, stellt sich als nächstes die Frage nach der Infrastruktur für die Speicherung und Darstellung der Daten. An dieser Stelle werden lediglich Möglichkeiten der Realisierung skizziert, die vorgestellten Komponenten sind nicht implementiert worden. Es stehen die Rollen Service Consumer, Service Provider und Service Registry zur Verfügung. Welche Rolle eignet sich am besten für die Speicherung und Darstellung der Daten des ServiceSchemas? Im bereits vorgestellten Projekt E-Finance Lab (siehe Kapitel 2.4.1) registrieren sich Service Provider mit ihren Services an einem Portal des Service Consumers. Die Speicherung der Daten erfolgt demnach beim Service Consumer. Bei dieser Möglichkeit ist davon auszugehen, dass nur ein Bruchteil der Service Provider, die einen für Service Consumer X interessanten Service anbieten, sich auch wirklich an seinem Portal registrieren werden. Dem Service Consumer steht folglich nur eine stark reduzierte Auswahl an Services zur Verfügung. Eine weitere Möglichkeit ist die Speicherung der Daten direkt beim jeweiligen Service Provider. Jeder Service Provider würde dann selbstständig die im Service-Schema definierten Informationen für potenzielle Service Consumer verfügbar machen. Problematisch ist bei dieser Option die wahrheitsgemäße Angabe der Service-Informationen. Die vom Service-Provider veröffentlichten Informationen müssen nicht der Wahrheit entsprechen und es existiert keine neutrale Instanz, die dies überwacht. Weiterhin kann sich der Informationsgehalt bei verschiedenen Service Providern unterscheiden. Einige geben möglicherweise alle Informationen des Service-Schemas an, andere nur Auszüge davon. Auf diese Weise schwindet der Nutzen des Service-Schemas. Am ehesten könnte die Service Registry zur Speicherung und Darstellung der Daten dienen. Der weit verbreitete UDDI-Standard sieht die vorgestellten Informationen jedoch nicht vor. Zudem kommen immer häufiger private Service Registries zum Einsatz, die nur interne Services der eigenen Organisation beinhalten. Ziel dieser Arbeit ist jedoch die universelle, über die Grenzen einer Organisation hinausgehende Verfügbarkeit von Service-Informationen. Daher wurde die Definition einer neuen Rolle entschieden. Ein Domain Manager soll alle Daten des Service-Schemas beinhalten und mit zusätzlichen Funktionen integrieren. Der Domain Manager soll über Prozesswissen innerhalb einer Anwendungsdomäne verfügen und so die Marktteilnehmer optimal Realisierung & Fallstudie 41 bei der Suche von Services unterstützen. Er agiert dabei als electronic intermediary, d.h. als neutrale Instanz am (elektronischen) Service Markt. Im Folgenden wird zunächst auf die Funktionen von electronic intermediaries eingegangen. Im Anschluss wird genauer auf die Funktionsweise des Domain Managers eingegangen. 4.2.1 Electronic Intermediaries [BaiBak97] nennen die folgenden vier wichtige Funktionen von electronic intermediaries. Um zu verhindern, dass jeder Käufer mit jedem Verkäufer einzeln über eine Transaktion verhandeln muss, kann der intermediary das Angebot oder die Nachfrage von mehreren Verkäufern bzw. Käufern aggregieren. Er kann Rahmenbedingungen festlegen, die für alle Transaktionen gelten. Eine solche Aggregation kann Kostenvorteile durch reduzierte Transaktionskosten und Skaleneffekte ermöglichen sowie Probleme durch die ungleiche Verhandlungsmacht von Käufern und Verkäufern reduzieren. Der Amazon Marketplace [AMA] ist ein Beispiel für eine solche Aggregation. Hier werden die Angebote von mehreren Verkäufern neben dem Angebot von Amazon selbst angezeigt, so dass der Käufer eine größere Auswahl hat und den Artikel beim günstigsten Anbieter kaufen kann. Weiterhin kann ein intermediary opportunistisches Verhalten der Marktteilnehmer verhindern, indem er als agent of trust fungiert. Da der intermediary langfristig am Markt aktiv ist und möglichst viele Nutzer erreichen will, hat er ein großes Interesse daran, dass Transaktionen für alle Teilnehmer erfolgreich abgeschlossen werden. Selbst wenn die beiden Parteien einer Transaktion nur ein einmaliges Geschäft abschließen, sind sie doch am erfolgreichen Ausgang interessiert, da sie mit dem intermediary möglicherweise erneut in Kontakt kommen werden. Bei eBay [EBA] können Käufer und Verkäufer nach einer erfolgreichen Transaktion den Transaktionspartner bewerten. Die erhaltenen Bewertungen eines Käufers oder Verkäufers haben Einfluß auf die Auswahl der Transaktionspartner. Ein intermediary kann Märkte vereinfachen, indem er die Prozess- und Koordinationskosten für Transaktionen senkt. Der Informationstransfer zwischen den austauschenden Parteien kann wesentlich effizienter von einem intermediary organisiert werden als dies die Parteien alleine machen könnten. Um m Käufer mit n Verkäufern zu verbinden benötigt man in einem Markt ohne intermediary n*m Verbindungen, während ein Markt mit intermediary mit n+m Verbindungen auskommt. Zuletzt kann ein intermediary Käufern helfen, den passenden Verkäufer zu finden und umgekehrt. Er kann also die Bedürfnisse von Käufern und Verkäufern abgleichen. Bietet ein intermediary beispielsweise einen Mechanismus zum Preisvergleich an, kann er durch das Sammeln von Informationen über erfolgte Transaktionen die Präferenzen von Käufern und Verkäufern erkennen. 42 4.2.2 Realisierung & Fallstudie Domain Manager Die folgende Abbildung zeigt die Erweiterung der klassischen serviceorientierten Architektur um die neue Komponente Domain Manager. Dieser soll als Portal realisiert werden. Nach [BodSch03] stellt ein Portal „eine feste Eintritts- und Rückkehrstelle“ im Internet dar, „um neue Kunden zu gewinnen oder bestehende Kunden zu binden“. Portale integrieren „Inhalte, Dienste und Funktionen, die benutzerspezifisch angepasst werden, um den Kunden einen personalisierten Zugang zum Leistungsangebot eines Unternehmens zu schaffen“ [BodSch03]. Der Domain Manager soll für eine ausgewählte Domäne möglichst umfangreiche Informationen über Prozesse und Services besitzen. Die Interaktionen innerhalb der erweiterten serviceorientierten Architektur verändern sich gegenüber der klassischen Architektur. Der Domain Manager ist von nun an bei der Suche der alleinige Interaktionspartner des Service Consumers. Der Domain Manager stellt dem Service Consumer eine genaue Beschreibung sämtlicher verfügbarer Services nach dem oben definierten Schema bereit. Der Service Consumer kann so den für ihn am besten geeigneten Service finden und diesen, wie in der alten Architektur, selbstständig aufrufen. Merkmale veröffentlichen Services Informationen übermitteln Service suchen Domain Manager Service Registry Service Consumer Serv i ce v eröf fentl i ch e n Service aufrufen Service Provider Abbildung 16: Erweitertes Architekturmodell Der Service Provider hat bei der Veröffentlichung seines Services von nun an zwei Interaktionspartner. Er registriert wie früher seinen Service in einer Service Registry. Zusätzlich registriert er sich auch beim Domain Manager und hinterlegt dort für seine Services die zusätzlichen Informationen des Service-Schemas. Realisierung & Fallstudie 43 Der Domain Manager erhält die Einträge von neuen Services von der Service Registry. Die weiterführenden Informationen des Service-Schemas muss der Service Provider selbst beim Domain Manager veröffentlichen. Die Funktionsweise des Domain Managers wird im Folgenden einzeln für die fünf Phasen Registrierung, Suche, Optimierung, Aufruf und Bewertung betrachtet. Registrierung Suche Optimierung Aufruf Bewertung Abbildung 17: Domain Manager Nutzungsphasen 4.2.2.1 Registrierungsphase In dieser Phase registriert sich ein Service Provider mit seinen Services beim Domain Manager. In der Registrierungsphase erhält der Domain Manager die grundlegenden Informationen zu Service Provider und Services von der Service Registry. Der Service Provider übermittelt zusätzlich die statischen Informationen seines Services. Die dynamischen Informationen werden erst in der Suchphase übermittelt. 4.2.2.2 Suchphase Der Domain Manager soll für die Suche nach einem Service vier Möglichkeiten bieten: eine ProzessSuche, eine Service-Suche, ein Service-Verzeichnis und einen Service-Vergleich. Der Nutzer kann nach Prozessen suchen, die dem Domain Manager bekannt sind. Für die öffentliche Verwaltung könnte der Domain Manager bspw. den Prozess „Flächennutzungsplanung“ und den Teilprozess „Beteiligung TöB“ kennen. Für einen gegebenen Prozess kennt der Domain Manager die für die Realisierung nötigen bzw. verfügbaren Services. Der Domain-Manager bietet die Möglichkeit nach einzelnen Services unter Angabe von Informationen aus dem Service-Schema zu suchen. Es kann also nach funktionalen und nicht-funktionalen Eigenschaften gesucht werden. So können z.B. Services gesucht werden, die ein bestimmtes tModel unterstützen (funktionale Eigenschaft), die eine bestimmte Nutzungsgebühr nicht überschreiten (nichtfunktionale Eigenschaft) oder die für eine bestimmte Branche oder Region gedacht sind (Kontextinformation). Als Ergebnis soll das Service-Schema mit sämtlichen eingetragenen Informationen angezeigt werden. Betrachtet der Service Consumer das Schema eines Service, besteht die Möglichkeit, dass er sich Services mit gleichen Eigenschaften anzeigen lässt. Z.B. kann er sich Services anzeigen lassen, die das gleiche tModel unterstützen oder vom gleichen Service Provider stammen. 44 Realisierung & Fallstudie Im Service-Verzeichnis sind die Services nach Marksegmenten, also nach Branchen, Regionen, Abteilungsfunktionen etc. geordnet. Die Service-Consumer können durch diese Kategorien navigieren und bekommen die enthaltenen Services angezeigt. Hat ein Service-Consumer zwei oder mehr für ihn relevante Services gefunden, kann er dessen Eigenschaften in einer Gegenüberstellung miteinander vergleichen. Dazu werden alle Eigenschaften der ausgewählten Services in tabellarischer Form nebeneinander angezeigt, um so einen direkten Vergleich zu ermöglichen. Auf diese Art können für Services mit gleichen funktionalen Eigenschaften z.B. die nicht-funktionalen Eigenschaften oder zu zwei Services mit gleicher Dienstgüte die Nutzungsgebühren verglichen werden. 4.2.2.3 Optimierungsphase Die Service-Optimierung soll den Service Consumern die Auswahl eines Services erleichtern. Dazu macht der Service Consumer Angaben über die gesuchte Funktionalität und seine Präferenzen bzgl. nicht-funktionaler Eigenschaften. So könnte er beispielsweise besonderen Wert auf günstige Nutzungsgebühren oder auch auf hohe Dienstgüteparameter legen. Die Service-Optimierung läuft in zwei Schritten ab. Im ersten Schritt wird eine Suche über die vom Service Consumer angefragte Funktionalität durchgeführt. Die Suche kann in unterschiedlicher Granularität erfolgen, z.B. kann nach Segment, businessService Description, tModel, port, operation etc. gesucht werden. Liefert diese Suche mehr als einen Service, startet die Optimierung der nichtfunktionalen Eigenschaften. Die aus dem ersten Schritt hervorgegangenen Services werden nach einem Punktesystem bewertet. Die bestplatzierten Services in jeder Kategorie bekommen Punkte. Diese Punkte werden in jeder Kategorie mit den Präferenzen des Service Consumers multipliziert und schließlich addiert. Die Gesamtpunktzahl entscheidet über die Endplatzierung. Der Nutzer bekommt die besten ermittelten Services in einer Liste angezeigt. 4.2.2.4 Aufrufphase Hat der Service Consumer sich für einen Service entschieden, werden die Konditionen, d.h. insbesondere die vereinbarte Dienstgüte und Nutzungsgebühren fixiert und beim Domain Manager hinterlegt. Dieses Dokument sollte möglichst verbindlichen Charakter haben, um Missbrauch vorzubeugen. Anschließend übermittelt der Domain Manager dem Service Consumer die Informationen (UDDI-Schema) für den Aufruf der angeforderten Services. Der Service Consumer ruft die Services, wie in der klassischen serviceorientierten Architektur, selbstständig auf. 4.2.2.5 Bewertungsphase Nach Ausführung der Transaktionen können sich Service Consumer und Service Provider gegenseitig bewerten. Die Informationen werden in Form des Bewertungs-Schemas an den Domain Manager übermittelt. Realisierung & Fallstudie 45 Im Folgenden werden die entwickelten Komponenten anhand einer Fallstudie aus der Flächennutzungsplanung verifiziert. 4.3 Fallstudie Flächennutzungsplanung Im Folgenden wird zunächst ein Überblick über den Prozess der Flächennutzungsplanung gegeben. Ein Teilschritt aus diesem Prozess soll in einem Szenario mit Informations- und Kommunikationstechnologien unterstützt werden. Dazu wird das entwickelte Service-Schema und die erweiterte serviceorientierte Architektur mit der Komponente Domain Manager herangezogen und die Funktionsweise so an einem Beispiel verdeutlicht. 4.3.1 Prozessbeschreibung Ein Flächennutzungsplan (FNP) bzw. vorbereitender Bauplan gibt einen Überblick über die geplante Nutzung von Flächen innerhalb einer Gemeinde. Damit dient er als „strategische Grundlage für Nutzungsentscheidungen und die räumliche Investitionssteuerung“ [FNP1]. Ein FNP stellt „die Abgrenzung von bebauten und unbebauten Flächen; die Gliederung der Wohnbauflächen nach baulicher Dichte; die Lage der gemischten, gewerblichen und Sonderbauflächen; Standorte und Flächen für Einrichtungen des Gemeinbedarfs und der Ver- und Entsorgung (soweit von übergeordneter Bedeutung bzw. größer 3 ha); die wichtigsten Verkehrstrassen und die Gliederung der Freiflächen in Grün-, Wald- und Landwirtschaftsflächen“ dar [FNP1]. Der FNP besitzt einen geringeren Detailgrad als ein Bebauungsplan. Er soll Übersichtscharakter haben und schließt daher keine Grundstücke oder Flurstücksgrenzen ein. [nach FNP2] Das Baugesetzbuch sieht vor, die Öffentlichkeit möglichst frühzeitig über die Inhalte der Flächennutzungsplanung zu informieren und diese bei der Planung zu beteiligen. Dazu erhalten sie die Gelegenheit eigene Stellungnahmen einzureichen. Neben den Bürgern werden auch Behörden und Träger öffentlicher Belange (TöB) zu Stellungnahmen aufgefordert. Dieser Beteiligungsprozess soll im Folgenden als Anwendungsszenario für die erweiterte serviceorientierte Architektur dienen. [nach FNP2] 4.3.2 Szenario: Beteiligung der Träger öffentlicher Belange (TöB) Eine Gemeinde will das Beteiligungsverfahren der Flächennutzungsplanung durch Informations- und Kommunikationstechnologien unterstützen bzw. automatisieren. Die dafür benötigten SoftwareFunktionalitäten will die Gemeinde nicht selbst erstellen, sondern über Services von externen Anbietern realisieren. Das Beteiligungsverfahren stellt [Küm04, S. 72-73] wie folgt dar. „Der Gemeindevertreter (bzw. Mitarbeiter der Flächennutzungsplanung) erstellt einen neuen Flächennutzungsplan. Nach einer möglichen nachträglichen Bearbeitung wird der FNP aktiviert, d. h. 46 Realisierung & Fallstudie er kann sowohl von der Gemeinde als auch von den TÖB öffentlich eingesehen werden. Die TÖB werden gesondert per E-Mail über den neuen FNP informiert. Bis zum Ende der Einsichtnahme können die TÖB ihre Stellungnahmen und, falls erforderlich, einen Antrag auf Verlängerung der Einsichtnahme stellen. Nach dem Ende der Einsichtnahme kann der Gemeindevertreter alle von den TÖB verfassten Anträge und Stellungnahmen ansehen und entscheiden, ob das Ende der Einsichtname verlängert wird oder ob die Einsichtname beendet werden soll.“ Die Gemeinde übernimmt die Rolle des Service Consumers. Sie wendet sich an einen Domain Manager, um dort die für den Prozess benötigten Services zu finden. Dazu wird sie nicht einzelne Services, sondern die abzubildenden Prozesse beim Domain Manager anfragen. Diese kennt der Domain Manager und kann so die zur Unterstützung des Prozesses benötigten Funktionalitäten und Service-Typen identifizieren, welche zu einem orchestriertem Service zusammengesetzt werden können. Bei der Suche nach geeigneten Services sind die folgenden Merkmale entscheidend. Zunächst spielt die Anzahl und Art der TöB eine Rolle. Beides hängt von der Größe der Gemeinde ab. Gemeinden lassen sich in drei Kategorien einteilen: das Grundzentrum mit weniger als 50.000 Einwohnern, das Mittelzentrum mit 50.000 bis 100.000 Einwohnern und das Oberzentrum mit mehr als 100.000 Einwohnern. Die Art der TöB unterscheidet sich weiterhin nach regionalen Gegebenheiten, z.B. Flüsse, Berge, Tourismus, Verkehr (Autobahnen, Eisenbahnen, Flughäfen). Je nach Ausprägung gibt es unterschiedliche TöB, die zu benachrichtigen sind. In Abhängigkeit des erwarteten Datenvolumens sind die technischen Charakteristika der Services zu berücksichtigen. In einer großen Gemeinde mit vielen TöB und möglicherweise vielen Änderungsvorhaben ist das Datenvolumen größer als bei einer kleinen Gemeinde. Die Services sollten so ausgewählt werden, dass die Systeme auch zu Spitzenlastzeiten nicht überfordert sind. Weiterhin können sich die Gemeinden hinsichtlich eigener ITKompetenz unterscheiden. Große Gemeinden besitzen möglicherweise eigene IT-Spezialisten, die sich um den korrekten Betrieb der Services kümmern können, während kleine Gemeinden möglicherweise Unterstützung in diesen Bereichen benötigen. Entscheidend sind demnach auch Support-Leistungen der Service Provider wie z.B. Techniker vor Ort, eine Hotline etc. 4.3.3 Ablaufbeschreibung An dieser Stelle wird der Ablauf der Suche von geeigneten Services und deren Optimierung beschrieben. Auf die weiteren Phasen wird nicht im Detail eingegangen. 4.3.3.1 Suchphase Da der Gemeinde nicht bekannt ist, welche Funktionalitäten sie für die Realisierung der Flächennutzungsplanung benötigt, startet sie zunächst eine Suche über das Marktsegment. Dazu macht sie Angaben zur Branche (öffentliche Verwaltung), Organisationsgröße (Verwaltung mit 10.000 Realisierung & Fallstudie 47 Angestellten), Standort/Region (Rheinland-Pfalz), Abteilungsfunktion (Regionalplanung), und Technologien (MS Windows, MS Office, Internet). Der Domain Manager ermittelt für die Marktsegmentinformationen eine Liste zur Verfügung stehender Prozesse. Dort findet sich auch der Prozess „Flächennutzungsplanung“ und als Sub-Prozess „Beteiligung TöB“. Zu diesem Prozess stehen die folgenden Services zur Verfügung: 1. TöB-Service Dieser Service liefert wahlweise für eine Gemeinde oder eine Postleitzahl und einen Kilometerradius die Liste aller TöB. 2. Upload-Service Dieser Service wird von einem Gemeindevertreter verwendet, um einen neuen Flächennutzungsplan im Internet verfügbar zu machen. Zu dem Flächennutzungsplan gehören der Titel und eine Beschreibung sowie eventuell weitere Gutachten, Statistiken oder sonstige Informationen, die für die an der Planung beteiligten Akteure von Interesse sind. Der Service speichert diese Datei(en) auf einem Server, der über das Internet erreichbar ist. Für den Zugriff auf die Dateien sind vom Gemeindevertreter festgelegte Benutzernamen und Passwörter nötig. 3. Inform-Service Der Inform-Service benachrichtigt die betroffenen Akteure darüber, dass ein neuer Flächennutzungsplan erstellt wurde. Auch dieser Service wird vom Gemeindevertreter angestoßen. Die benachrichtigten TöB können sich entscheiden, ob sie den Flächennutzungsplan online einsehen möchten oder ob sie die Dokumente in Papierform erhalten möchten. 4. Account-Service Wenn die TöB den Flächennutzungsplan online einsehen möchten, müssen sie sich mit dem AccountService in Verbindung setzen. Dieser teilt ihnen ihre Login-Daten, d.h. Benutzernamen und Passwort, mit. 5. Print-Service Möchten die TöB die Dokumente in Papierform erhalten, müssen sie den Print-Service anstoßen, der den Flächennutzungsplan und die dazugehörigen Informationen ausdruckt. 6. Reminder-Service Der Reminder-Service wird vom Gemeindevertreter angestoßen und soll die betroffenen Akteure eine Woche vor Ablauf der Frist an die Stellungnahmen und Anträge erinnern. Die oben genannten sechs Services reichen aus, um die TöB-Beteiligung innerhalb der Flächennutzungsplanung zu automatisieren. 48 Realisierung & Fallstudie 4.3.3.2 Optimierungsphase Der Domain Manager muss in diesem Schritt für jeden der sechs benötigten Services den optimalen Anbieter finden. Dazu benötigt er Informationen über die Präferenzen der Gemeinde hinsichtlich funktionaler und nicht-funktionaler Eigenschaften. Die Präferenzen der Gemeinde sind wie folgt: 1. Hohe Verfügbarkeit (x4) 2. Hohe Reputation des Service Providers (x3) 3. Günstige Gebühren (x2) Die Auswahl des optimalen Services wird für zwei der sechs Services beispielhaft dargestellt. Für die beiden Services TöB-Liste und Upload-Service stehen in diesem Beispiel drei Anbieter zur Verfügung. Die Ausprägungen der Service-Eigenschaften Verfügbarkeit, Reputation und Gebühren sind in den folgenden Tabellen dargestellt. Die jeweils beste Ausprägung in einer Kategorie ist fett markiert. Der beste Service innerhalb einer Kategorie bekommt zwei Punkte, der zweitbeste bekommt einen Punkt und der letzte keinen Punkt. Wenn mehrere Services gleich gut sind, bekommen beide die gleiche Punktzahl. Multipliziert mit den Präferenzen der Gemeinde ergibt sich die Endpunktzahl und somit der optimale Service. Service TöB-Liste Serviceeigenschaften TöB-Liste 1 99,99% Verfügbarkeit (2 Punkte x 4 = 8 Punkte) Reputation (Max. = 10) 99% 95% (1 Punkt) (0 Punkte) 8,9 (1 Punkt x 3 (2 Punkte x 3 = 3 Punkte) = 6 Punkte) (1 Punkt x 2 = 2 Punkte) Gesamtpunkte TöB-Liste 3 8,5 2€/Eintrag Gebühren TöB-Liste 2 13 3€/Eintrag (0 Punkte) 7 Tabelle 1: Service TöB-Liste „TöB-Liste 1“ wird der Gemeinde als optimaler Service vorgeschlagen. 7,2 (0 Punkte) 1,50€/Eintrag (2 Punkte x 2 = 4 Punkte) 4 Realisierung & Fallstudie 49 Upload-Service Serviceeigenschaften Verfügbarkeit Upload-Service 1 Upload-Service 2 Upload-Service 3 99 % 99,999 % 99 % (1 Punkt x 4 (2 Punkte x 4 (1 Punkt x 4 = 4 Punkte) = 8 Punkte) = 4 Punkte) 8,3 8,0 (2 Punkte x 3 (1 Punkt x 3 = 6 Punkte) = 3 Punkte) Reputation 7,7 (Max. = 10) (0 Punkte) 10 € / GB Gebühren (1 Punkt x 2 = 2 Punkte) Gesamtpunkte 15 € / GB (0 Punkte) 6 Tabelle 2: Upload-Service „Upload-Service 2“ wird als optimaler Service vorgeschlagen. 14 8 € / GB (2 Punkte x 2 = 4 Punkte) 11 50 Zusammenfassung 5. Zusammenfassung Die effektive Ausführung und Unterstützung von Geschäftsprozessen kann mit vielfältigen Systemen unterstützt werden. In der vorliegenden Arbeit wurde die Verknüpfung der Workflowtechnologie mit serviceorientierte Architekturen untersucht, um so den bereits vielfach eingesetzten WorkflowManagement-Systemen zusätzliche Effektivität und Flexibilität zu verleihen. Als entscheidendes Problem wurde in diesem Zusammenhang ein Mangel an Informationen identifiziert. Services werden nicht umfassend genug beschrieben, um diese in Workflows integrieren zu können. Das entwickelte Service-Schema enthält ausführliche Informationen über funktionale und nichtfunktionale Eigenschaften eines Service, über interne und externe Prozesse sowie über Kosten, Differenzierungsmerkmale und Segmente des Service Providers. Diese Informationen stellen dem Service Consumer eine solide Entscheidungsgrundlage zur Verfügung und ermöglichen es den Service Providern, sich von der Konkurrenz abzuheben. Zur Speicherung und Darstellung der Daten wurde die Komponente Domain Manager konzipiert. Dieser tritt an die Stelle der Service Registry ohne diese komplett zu ersetzen, und stellt Informationen über Service Provider und Services für eine Domäne zur Verfügung. Der Domain Manager bietet die Möglichkeit zur Suche von Services und automatischen Optimierung nicht-funktionaler Eigenschaften nach den Präferenzen des Service Consumers. Die Funktionsweise des Service-Schemas und des Domain Managers wurden im Rahmen einer Fallstudie an einem Prozess aus der Flächennutzungsplanung veranschaulicht. Die Komponente Domain Manager und das Service-Schema wurden konzeptuell entwickelt. Weitere Arbeiten könnten sich mit der Implementierung der vorgestellten Komponenten beschäftigen. Es könnte z.B. ein Domain Manager für Services der Fakultäten und Lehrstühle der Technischen Universität Kaiserslautern aufgesetzt werden. Dieser könnte zunächst zur universitätsinternen Nutzung vorgesehen werden und an späterer Stelle möglicherweise für universitätsexterne Nutzer freigegeben werden. Langfristig ist eine weitere Verbreitung von serviceorientierten Architekturen zu erwarten. Dazu müssen vor allem die Zuverlässigkeit serviceorientierter Architekturen und die Möglichkeiten zur Integration in bestehende Systeme, wie z.B. Workflow-Management-Systeme, verbessert werden. Literaturverzeichnis 51 Literaturverzeichnis [AalHee92] W. van der Aalst; K. van Hee.: Workflow Management – Models, Methods, and Systems, The MIT Press Cambridge, Massachusetts London, England, 2002 [AMA] www.amazon.de [BaiBak97] J. P. Bailey; Y. Bakos: An Exploratory Study of the Emerging Role of Electronic Intermediaries. International Journal of Electronic Commerce, Vol. 1, No. 3, S. 7 – 20, 1997. [BecMüh99] J. Becker; M. zur Mühlen: Rocks, Stones and Sand – Zur Granularität von Komponenten in Workflowmanagementsystemen, In: IM Information Management & Consulting. Saarbrücken, 17 (1999) 2, S. 57-67. [BHMS03] R. Berbner; O. Heckmann; A. Mauthe; R. Steinmetz: Eine Dienstgüte unterstützende Webservice-Architektur für flexible Geschäftsprozesse. Wirtschaftsinformatik 47 (2005) 4, S. 268 – 277. [BHS05] Berbner, Rainer; Heckmann, Oliver; Steinmetz, Ralf: An Architecture for a QoS driven composition of Web Service based Workflows. Networking and Electronic Commerce Research Conference (NAEC 2005), October 6-9, 2005, Riva Del Garda, Italy. [Bli02] Bliemel, Friedhelm: Marktorientierte Strategische Planung als Vorbereitung zum Erfolg. Vorlesungsskript Marketing WS 2002/2003. [BodSch03] F. Bodendorf; A. Schobert: Integration von Web-Services in ein Kundenportal. In: HMD 234 – Praxis der Wirtschaftsinformatik, 2003. [BonSha83] T. P. Bonoma; B. P. Shapiro: Segmenting the Industrial Market. Lexington Books, 1983. [CCDS03] M. Castellanos; F. Casati; U. Dayal; M-C. Shan: Intelligent Management of SLAs for Composite Web Services. In: Databases in Networked Information Systems, S. 158 – 171, 2003. [CCMW01] E. Christensen; F. Curbera; G. Meredith; S. Weerawarana: Web Services Description Language (WSDL) 1.1. W3C Note, [online], 2001, verfügbar im World Wide Web: http://www.w3.org/TR/wsdl 52 [Cer02] Literaturverzeichnis E. Cerami: Web Services Essentials – Distributed Applications with XMLRPC, SOAP, UDDI & WSDL. O’Reilly, 2002. [CZ06] Service Levels lassen das Business außen vor. Computer Zeitung, Nr. 45, 6.11.2006. [EBA] www.ebay.de [Fau04] Faust, Nicole: Modellierung und Design von virtuellen Organisationen in Grid-Architekturen. 2004 [FNP1] Flächennutzungsplan Berlin. [online], http://fbinter.stadt-berlin.de/fnp/ [FNP2] Wikipedia: Stichwort “Flächennutzungsplan”. [online] http://de.wikipedia.org/wiki/Fl%C3%A4chennutzungsplan [GKG03] D. Gouscos; M. Kalikakis; P. Georgiadis: An Approach to Modeling Webservice QoS and Provision Price. In: Proceedings of the 4th International Conference on Web Information Systems Engineering Workshops (WISEW 2003). Rom, Italien 2003, S. 121–130. [Gra02] R. M. Grant: Contemporary Strategy Analysis, concepts, Techniques, Applications. Blackwell Publishers Inc, 2002. [Gri98] F. Griffel et. al.: Electronic Contracting with COSMOS – How to Establish, Negotiate and Execute Electronic Contracts on the Internet. In: Enterprise Distributed Object Computing Workshop, 1998. EDOC '98. Proceedings (La Jolla, CA, USA). Nov. 1998, S. 46 – 55. [HaaBro04] H. Haas; A. Brown: Web Services Glossary. W3C Working Group Note, [online], 2004, verfügbar im World Wide Web: http://www.w3.org/TR/wsgloss/ [Hof03] O. Hofmann: Web-Services in serviceorientierten IT-Architekturkonzepten. In: HMD 234 – Praxis der Wirtschaftsinformatik, 2003. [Hol95] D. Hollingsworth: Workflow Management Coalition - The Workflow Reference Model, Issue 1.1, [online], 1995, verfügbar im World Wide Web: http://www.wfmc.org/standards/docs/tc003v11.pdf [Hol99] D. Hollingsworth: Workflow Management Coalition - Terminology & Glossary, [online], 1999, verfügbar im World Wide Web: http://www.wfmc.org/standards/docs/TC-1011_term_glossary_v3.pdf Literaturverzeichnis [Jab97] 53 S. Jablonski et al.: Workflow-Management – Entwicklung von Anwendungen und Systemen, dpunkt-Verlag, 1997. [KosLey04] D. Kossmann; F. Leymann: Web Services. In: Informatik Spektrum 27(2) S. 117-128 (2004), verfügbar im World Wide Web: http://www.dbis.ethz.ch/research/publications/WebServices.pdf [Kot94] Kotler, Philip; Marketing Management. Analysis, Planning, Implementation, and Control. 8th edition. Prentice Hall. Englewood Cliffs, NJ, 1994. [KotBli01] P. Kotler; F. Bliemel: Marketing-Management. Schäffer-Poeschel Verlag, 2001. [Küm04] A. Kümpel: Strategien zur Prozessorchestrierung und Workflow-Integration in Web-Applikationen. Diplomarbeit Fachbereich Informatik, TU Kaiserslautern, Dezember 2004. [Küs03] M. W. Küster: Web-Services – Versprechen und Realität. In: HMD 234 – Praxis der Wirtschaftsinformatik, 2003. [Mac06] C. MacKenzie et al.: Reference Model for Service Oriented Architecture 1.0 – OASIS Standard. [online], 2006, verfügbar im World Wide Web: http://docs.oasis-open.org/soa-rm/v1.0/ [ManNag02] A. Mani; A. Nagarajan: Understanding quality of service for Web services. [online], 2002, developerWorks – IBM’s Resource for developers, verfügbar im World Wide Web: http://www-128.ibm.com/developerworks/library/wsquality.html [Mat03] Mattern, Thomas: Web-Services als Basis neuer betriebswirtschaftlicher Konzepte. In: HMD 234 – Praxis der Wirtschaftsinformatik, S. 34 – 41, 2003. [MQG95] H. Mintzberg; J. B. Quinn; S. N. Ghoshal: Strategy Process: Concepts, Context and Cases. Prentice Hall, 1995. [Oas04] OASIS - Organization for the Advancement of Structured Information Systems: Introduction to UDDI: Important Features and Functional Concepts. [online], 2004, verfügbar im World Wide Web: http://uddi.org/pubs/uddi-tech-wp.pdf [PapHeu] M. P. Papazoglou; W. J. van den Heuvel: Service-Oriented Computing: Stateof-the-Art and Open Research Issues. [online], Tilburg University. verfügbar 54 Literaturverzeichnis im World Wide Web: https://doc.telin.nl/dscgi/ds.py/Get/File40060/UvT_SOC_research_agenda.pdf [PFW03] G. Piccinelli; A. Finkelstein; S. L. Williams: Service-Oriented Workflows: The DySCo Framework. In: Euromicro Conference, 2003, Proceedings, S. 291 – 297. [Por85] M. E. Porter: Competitive Advantage: Creating and Sustaining Superior Performance. Free Press, 1985. [PZL03] G. Piccinelli; C. Zirpins; W. Lamersdorf: The FRESCO Framework – An Overview. In: Applications and the Internet Workshops, 2003, Proceedings, S. 120 – 124. [Ran03] S. Ran: A Model for Web Services Discovery With QoS. In: ACM SIGecom Exchanges, Vol. 4, Issue 1, 2003, S. 1 – 10. verfügbar im World Wide Web: http://www.acm.org/sigs/sigecom/exchanges/volume_4_(03)/4.1-Ran.pdf [RBR91] R. Reeder; E. G. Brierty; B. H. Reeder: Industrial Marketing. Analysis, Planning and Control. 2nd edition. Prentice Hall. Englewood Cliffs, NJ, 1991 [Rei03] H. A. Reijers: Design and Control of Workflow Processes, Springer-Verlag Berlin, Heidelberg 2003. [RHS05] J. P. Richter; H. Haller; P. Schrey: Serviceorientierte Architektur. In: Informatik Spektrum, Vol. 28 (5), 2005. [ZirLam04] Zirpins, C.; Lamersdorf, W.: Dienstorientierte Kooperationsmuster in servicebasierten Grids. In: PIK – Praxis der Informationsverarbeitung und Kommunikation. Vol. 27 (3), 2004, S. 152 – 158, verfügbar im World Wide Web: http://vsys-www.informatik.unihamburg.de/getDoc.php/publications/214/zl-dksg-04.pdf Abbildungsverzeichnis 55 Abbildungsverzeichnis Abbildung 1: Horizontales Design ........................................................................................................ 10 Abbildung 2: Workflow-Management-System [WfMC95, S. 9] .......................................................... 12 Abbildung 3: Allgemeine Struktur eines Workflow-Management-Systems [nach WfMC95, S. 13] ... 13 Abbildung 4: Workflow-Granularität.................................................................................................... 15 Abbildung 5: Allgemeines Architekturmodell ...................................................................................... 17 Abbildung 6: UDDI-Datenmodell ......................................................................................................... 19 Abbildung 7: businessEntity-Datentyp ................................................................................................. 20 Abbildung 8: businessService-Datentyp ............................................................................................... 20 Abbildung 9: bindingTemplate-Datentyp ............................................................................................. 21 Abbildung 10: tModel-Datentyp ........................................................................................................... 21 Abbildung 11: Web Services Technology Stack [KosLey04] .............................................................. 23 Abbildung 12: COSMOS Service ......................................................................................................... 27 Abbildung 13: Generische Wettbewerbsstrategien nach Porter ............................................................ 30 Abbildung 14: Serviceorientierter Workflow........................................................................................ 31 Abbildung 15: Konzeptionelles Servicemodell ..................................................................................... 34 Abbildung 16: Erweitertes Architekturmodell ...................................................................................... 42 Abbildung 17: Domain Manager Nutzungsphasen ............................................................................... 43 56 Tabellenverzeichnis Tabellenverzeichnis Tabelle 1: Service TöB-Liste................................................................................................................. 48 Tabelle 2: Upload-Service ..................................................................................................................... 49