Wiederholungfragen UIT EDI 1. Integration allgemein Grundsätzlicher Ansatz einer Integrationslösung im Regelfall nachträgliches Aufsetzen auf der Basis bereits vorhandener Systeme, Systemen, Informationen und Diensten im Gegensatz zu einer von vorneherein „auf der grünen Wiese“ konzipierten, vollständig integrierten Gesamtlösung mit dem Ziel einer Einzelsystem-, Abteilungs- und/oder Unternehmens- übergreifenden Lösung Enterprise Application Integration (EAI) Wesentliche Phasen bei der Konzeption und Erstellung von Integrationslösungen Identifikation der Inhalte und ihrer Quellen à Analyse & Modellierung Festlegung einer Integrationsarchitektur Technische Integration Inhaltliche/ Fachliche Integration Visuelle Aufbereitung und Personalisierung Bereitstellung und Betrieb der Plattform Anpassung/ Weiterentwicklung Grundsätzliches Architekturschema: Logische Middleware-Zwischenschicht zur konzeptuellen Informationsintegration 2. Welche Integrationskonflikte gibt es? Hauptproblem „Heterogenität“ unterschiedlichste Plattformen und Betriebssysteme proprietäre Altanwendungen („Legacy“) Zugriffsprotokolle und Standards o HTTP o ODBC, JDBC o CORBA/IIOP, COM+ o ... Wiederholungsfragen UIT/SS 2009 1 Ergebnissyntax und Wertformate o Datumsrepräsentation, Einheiten/Währungen, ... Informationsmodelle/Schemata (Semantik) o unterschiedliche Begriffswelten o unterschiedliche Datenmodelle Redundanz <-> Datenkonsistenz Anfragemöglichkeiten & unterschiedliche Sichten o volle Mächtigkeit von SQL o navigierende Anfragen (HTML-Seiten) o unterschiedliche Informationsportionierung 3. Wie schaut eine Integration aus? Man hat verschiedene Anwendungen und diese Anwendungen muss man so gestalten, dass man sie in ein System integrieren kann und sie dort miteinander kommunizieren können. 4. Was gibt es für Integrationskonzepte und welche Vor- bzw. Nachteile haben sie? Grundsätzliche Lösungsansätze „direkter Zugriff“: Integrationsebene greift unmittelbar auf die einzubindenden Datenquellen zu Anpassungen von Protokollen, Formaten, Schemata, Anfragesprachen etc. erfolgen direkt in der Anwendung (z.B. Portallösung) Nachteile • jede neue Quelle und jede Änderung an bestehenden Quellen zieht eine Änderung an der Portalanwendung nach sich • schwer wartbare und beherrschbare Lösung • keine Skalierbarkeit „zentralisiert“: zentrale, integrierte Datenbasis, in die die Inhalte aller Quellen importiert werden • a priori Integration „virtualisiert“: Nutzung der Systeme der Fremdanbieter für die Anfrageauswertung (Durchreichen von Anfragen) • integrierte Sicht ist physisch nicht vorhanden, sondern wird von Mediatoren dynamisch bereitgestellt • a posteriori Integration, Integration bei Bedarf Zentralisierter Ansatz Wiederholungsfragen UIT/SS 2009 2 Verfahren für den Import in die Datenbank: Push o Datenquellen liefern ihre Daten in einem bestimmten Austauschformat an zB.: UN/EDIFACT, XML, ebXML, etc. o Einigung der kooperierenden Partner erforderlich o Starker Eingriff in die Autonomie Pull o Die Daten werden durch Nutzung dieser Dienste der Datenquellen « eingesammelt » Zusätzlicher Aspekt o Effiziente Import-/Exportmechanismen für große Datenmengen Vorteile zentralisierter Ansatz Vergleichsweise einfach zu realisieren o Anwendungsentwicklung selbst unterscheidet sich nur wenig vom klassischen „EinQuellen-Prinzip“ Hohe Performanz o Direkte Datenbankzugriffe für Anfrageauswertung o Entkopplung von u.U. langsamen, nur beschränkt verfügbaren externen Systemen o Gezielte Optimierungen möglich Nachbearbeitung möglich o Von den Fremdanbietern gelieferte Daten können vor der Nutzung geprüft und evtl. „bereinigt“ werden o Filterung/Aggregation von Daten leicht möglich Nachteile zentralisierter Ansatz Wiederholungsfragen UIT/SS 2009 3 Virtualisierter Ansatz Architektur Beispiel: Wiederholungsfragen UIT/SS 2009 4 Zusammenfassung virtualisierter Ansatz: Aufteilung der Funktionalität auf unterschiedliche Schichten/Komponenten ist idealisiert In realen System ist die Aufgabenteilung zwischen Wrappern und Mediatoren meist uneinheitlich o Fette Wrapper: Hier werden zB große Teile der Anfrageübersetzung vom Wrapper übernommen o Dünne Wrapper: Hier ist der Wrapper nur für die Informationsextraktion und die Transformation der Daten in das gemeinsame Datenmodell zuständig Auch Aufgaben der Facilitator –Schicht werden oft entweder in die Mediatoren oder eine Portal-Anwendung verlagert Vorteile: Aktualität o Es wird immer auf den aktuellen Datenbestand zugegriffen o Eine explizite Aktualisierung ist nicht erforderlich Ressourcenverbrauch o Durch die Nutzung der Fremdsysteme ist der Ressourcenverbrauch auf Portalseite niedriger Autonomie der Quellen o Nutzt man ausschließlich vorhandene Zugänge (zB. www), so ist keinerlei Eingriff in die Datenquellen erforderlich Nachteile: Performanz o Abhängig von den Fremdsystemen und der Netzwerkverbindung o Keine gezielten Optimierungen möglich o Abgleich der Datenmodelle schwierig 2 Grundansätze Globales Datenschema Integration der Schemata aller Quellen in ein globales Schema Einheitliche Sicht auf alle Quellen Muss mit jeder neuen / geänderten Quelle nachgezogen werden Domänenmodell Globales Schema als Sichten auf die Quellen definiert o Mangelnde Kenntnisse über den Datenbestand Komfortfunktionen sind erschwert, da keine Analyse des vollständigen Datenbestands möglich ist. o Nachbereitungsoperationen Alle Transformationen der Daten müssen ausgeführt werden, wenn die Anfrage ausgewertet wird o Änderungen an den Datenquellen führen zu Problemen Wiederholungsfragen UIT/SS 2009 5 5. Warum spricht man von einem Integrationsspaghetti? Weil alle Systeme eines Unternehmens miteinander verbunden sind Todgesagte leben länger: Legacy - Anwendungen Merkmale bestehender Legacy-Systeme o Oberflächen veraltet, zeichenorientiert o Systeme proprietär, heterogen, wenig ausbaufähig o Bearbeitung sequentiell, umständlich, zeitintensiv o Kommunikation, Replikationen, Mehrfacheingaben, Medienbrüche o Wartung aufwendig, kompliziert, teuer Warum Legacy-Anwendungen beibehalten o Legacy-Systeme stellen einen hohen Investitionswert dar o sind in den Kernprozessen verankert o enthalten erprobte Basis-Algorithmen und Funktionalitäten o sind sehr stabil, sicher und weitgehend fehlerfrei Probleme bei Legacy-Anwendungen o Legacy-Systeme benötigen oft 75% des IT-Budgets für Wartung und Anpassung o Die administrative Abläufe sind komplex und nicht aktuell dokumentiert o Hohe Redundanz in den Tätigkeiten o unterschiedliche Systeme zur Bewältigung einer Tätigkeit Resultat: Viele Schnittstellen „Integrationsspaghetti“ Heterogene Systemlandschaft mit vielen Schnittstellen im Unternehmen: Wiederholungsfragen UIT/SS 2009 6 Lösung über Schnittstellen In der Praxis ist diese Anzahl von theoretisch möglichen Schnittstellen natürlich nicht realistisch. Nicht jedes System muss mit jedem anderen System verbunden werden. Allerdings zeigt sich, dass im Laufe der Zeit eine große Anzahl von Schnittstellen zwischen Systemen in den Unternehmen verwirklicht werden. Zu Bedenken ist auch, dass zwischen 2 Systemen mehrere Schnittstellen anfallen können, wie z.B. Materialstamm, Kundenstamm, Aufträge, etc. zwischen CRM und ERP. 6. Was versteht man unter einer Legacy-Anwendung? Nennen Sie einige typische Merkmale. Genereller Begriff für betriebswirtschaftliche Anwendungen Typische Merkmale: o Probleme mit neueren Datenformaten o Wartung der Anwendungen ist teuer und langwierig o Meist nicht mal graphische Oberfläche Beispiele: laufen meist über Großrechner, es sind keine offenen Schnittstellen vorhanden, Wartung ist sehr aufwändig und teuer siehe Frage Integrationsspaghetti!! EAI 7. Was versteht man unter dem Best-of-Bread Ansatz? Warum ist er meist eine Motivation für EAI? Man holt sich von überall die besten Anbieter man wählt von jedem System das beste aus und das von mehreren Anbieter EAI-Plattform schafft die Zusammenarbeit über die Anwendungsgrenzen hinweg Haben Motivation für EAI, da sie unterschiedliche Datenbanken haben und miteinander integriert werden müssen und Prozessübergreifendes Arbeiten trotzdem gewährleistet werden Wiederholungsfragen UIT/SS 2009 7 muss 8. Warum entscheidet sich ein Unternehmen zur Implementierung einer EAI Plattform? Nennen Sie einige Gründe? Gründe: Die Einführung neuer Applikationen und diese zu integrieren Einführung eines neuen Systems, neuer Applikationen; Beziehung Zusammenarbeit mit externen Partnern verbessern Unternehmenszusammenschlüsse Es ermöglicht: Kommunikation zwischen eigen-entwickelten Anwendungen und Standard-SoftwareSystemen, Austausch von Geschäftsdaten in Format und Inhalt Auch Informationsaustausch mit externen Geschäftspartnern Automatische Verarbeitung der Daten in allen beteiligten Systemen. Business Anforderungen an eine Integrationsplattform: Unternehmen wollen Ihre interne EDV nahtlos an die Geschäftsprozesse ohne Medienbrüche anpassen. Unternehmen gehen Partnerschaften ein und harmonisieren die Geschäftsprozesse mit ihren Partnern. Geschäftsprozesse über Unternehmensgrenzen hinweg wird von einer flexiblen und leicht anpassungsfähigen EDV Architektur unterstützt. Kunden und Lieferanten werden direkt über Webanwendungen (Webshops, Portale, Marktplätze,…) in die Geschäftsprozesse integriert. Alte Legacy Anwendungen sollen mit den neuen Möglichkeiten des Internet verbunden werden. Neue Technologien wie Notebook Computer, PDA, Mobiltelefonie oder Call- Center (CTI = Computer-Telephony-Integration) sollen mit den Unternehmensanwendungen kommunizieren können. Übernahmen, Zusammenschlüsse von Unternehmen erfordert Integration unterschiedlicher Systemwelten Best of Breed - Ansatz statt monolithische Anwendung 9. Was versteht man unter EAI? Was ist EDI? Was ist der Unterschied zwischen den beiden Begriffen, was haben sie gemeinsam? Was versteht man unter EAI o Enterprise Application Integration o Verbindungsstück für alle Unternehmenssysteme o Abbildung von Prozessen über Anwendungen hinweg Was versteht man unter EDI o Electronic Data Interchange o Datenaustausch zwischen Unternehmen, zB. Bestellungen, Rechnungen o Es gibt eine Syntax dahinter o Es handelt sich um strukturierten Datenaustausch (im Gegensatz zu OfficeDokumenten, die unstrukturiert sind o EDIFACT: Standardisiert, genormtes Format; zB. Austausch einer Datei per EDI mit dem EDIFACT Format Wiederholungsfragen UIT/SS 2009 8 Was ist der Unterschied zwischen den beiden Begriffen, was haben sie gemeinsam? o EAI ist eine Anwendung, EDI nicht o Gemeinsamkeit: EDI stellt oft die Basis für EDI und für den Datenaustausch dar EAI – Begriffsbestimmung Integration von Daten, Funktionen, Prozessen in heterogener Anwendungslandschaft Beibehaltung der logischen Entkopplung der Anwendungen Wahrung/ Erhöhung der Flexibilität Realisierung der Integration auf Basis von Middleware Nutzung standardisierter Schnittstellen und Austauschformate EDI- Voraussetzungen für eine unternehmensübergreifende Zusammenarbeit Effiziente Zusammenarbeit zwischen Unternehmen, aber auch zwischen Standorten eines Unternehmens, erfordert eine intensive EDV-Vernetzung Verschiedene Möglichkeiten und Technologien zur Vernetzung Früher nutzten Firmen eigene Netzwerke zur Kommunikation – WAN (Wide Area Networks, Standleitungen), diese Technologie ist aber teuer und daher nur großen Unternehmen zugänglich Es gibt auch Drittanbieter solcher Netzwerke – VAN (Value Added Network), wodurch die Kosten gesenkt werden können, da nach tatsächlichem Bedarf verrechnet wird. Diese privaten Netzwerke oder auch Extranets gibt es auch heute noch in vielen Branchen, z.B. Giro-Netz oder SWIFT im Bankenbereich Erst mit der Verbreitung des Internet und dessen Technologie ermöglichte neue kostengünstige Lösungen für die Datenübertragung zwischen Unternehmen Aber neben den Netzwerken ist auch der Aufbau (Struktur) der Daten wichtig, damit Sender und Empfänger die Information richtig interpretieren können (=> Nachrichten) So sind zur effizienten Kooperation nicht nur die Nachrichten normiert (Standards), sondern auch die Abläufe und Abfolge der einzelnen Kommunikationsschritte – Syntax und Semantik – Regeln. Man spricht auch von einer „Choreographie“ der Nachrichtenübermittlung Wiederholungsfragen UIT/SS 2009 9 EDI – Überblick EDI … Electronic Data Interchange Austausch von Informationen zwischen Unternehmen. Genauer: Nicht Austausch von irgendwelchen Daten, sondern von strukturierten Geschäftsdokumenten oder auch Nachrichten (Messages) genannt. Bsp: Einkaufsbestellung, Rechnung, aber auch Bestandsinformationen, etc. Eigene Software erforderlich, um EDI mit Kunden oder Lieferanten zu verwirklichen (EDI Server, oft auch EDI Connector genannt) Ziel: Schnellere, günstigere, sicherere und fehlerfreie Geschäftsabläufe EDI ist die Voraussetzung für Optimierung der Zusammenarbeit zwischen Unternehmen mit Methoden wie z.B. ECR Warum EDI und nicht einfach Filetransfers? EDI basiert auf genormten Nachrichtenformaten (Standardisierung) und EDI-Nachrichten zusammen mit EDI-Software gewährleisten, dass o Struktur und Aufbau der Nachricht Normen entspricht und daher allgemein verstanden wird o Die Nachricht zum richtigen Adressaten gesendet wird o Dort auch ankommt o Vom EDV-System des Geschäftspartners auch verstanden wird EDI – Begriffsdefinition EDI (Electronic Data Interchange) ist der elektronische Austausch strukturierter Daten mittels festgelegter Nachrichtenstandards zwischen den Computeranwendungen von Geschäftspartnern (wie z. B. Bestellungen, Rechnungen,…), die auf unterschiedlichen und meist lokal getrennten Rechnern laufen. Diese Computersysteme gehören in der Regel zu unterschiedlichen Unternehmen (z.B. Kunde und Lieferant), sind von unterschiedlichen Herstellern und bedienen sich unterschiedlicher Betriebssysteme. EDI ist also die elektronische Kommunikation zwischen IT-Systemen ohne manuellen Eingriff. Dieser automatisierte Nachrichtenaustausch ist die Basis für eine automatische Weiterverarbeitung von Geschäftsvorfällen bzw. Geschäftsnachrichten EDI verwendet erprobte und bestehende Techniken (Datenverarbeitung und Telekommunikation) Wiederholungsfragen UIT/SS 2009 10 EDI kann mit einem PC, einem Modem und einem Telefonanschluß als technische Voraussetzung sowie einer EDI-Software betrieben werden (Minimalanforderung). Die Softwareausrüstung für EDI ist prinzipiell auf zwei Arten möglich. Entweder wird ein bestehendes Anwendungsprogramm (z.B. Bestellprogramm), das selbst keine EDISchnittstelle aufweist, mit einer speziellen EDI-Software verbunden (Schnittstellenlösung, üblich) oder ein Anwendungsprogramm verfügt selbst bereits über eine EDI-Funktion (Ausnahme) 10. Was versteht man unter EDIFACT? EDIFACT ist eine von den Vereinten Nationen geschaffene weltweite, branchenübergreifende Norm zum Austausch formatierter, strukturierter Daten Ergebnis sind sehr generische Standards mit breiten Anwendungsmöglichkeiten, da viele Gruppen mit ihren eigenen spezifischen Geschäftsanforderungen an der Entwicklung beteiligt sind EDIFACT-Standardnachrichten sind oft sehr komplex, mit Funktionalitäten überladen und schwierig zu verstehen Subsetbildung von EDIFACT-Nachrichten bedeutet, daß all jene optionalen (Kann-) Bestandteile wegfallen können, die in den EDIFACT-Nachrichten enthalten sind, um sehr spezielle Anforderungen abzudecken. Nur die wirklich benötigten (Muß-) Bestandteile des Standards und jene optionalen Elemente, die für die Geschäftsanwendung als notwendig erachtet werden, bleiben im Subset erhalten. Beispiel: EANCOM von EAN International (primär im Handel) 11. Beschreiben Sie EDI Lösungsmöglichkeiten für unterschiedliche Datenvolumen. 12. Was versteht man unter Middle-Ware? Logische Middleware-Zwischenschicht zur konzeptuellen Informationsintegration Wiederholungsfragen UIT/SS 2009 11 Datenbankorientierte Middleware Message orientierte Middleware (MOM) Wiederholungsfragen UIT/SS 2009 12 Middleware – komponentenbasiert Dienstorientierte Middleware (SOA) Grundprinzip: Wiederholungsfragen UIT/SS 2009 13 Enterprise Application Integration Anbieter: Wiederholungsfragen UIT/SS 2009 14 Wesentliches Ziel: 13. Nennen Sie die wesentlichen Funktionsbausteine einer EAI Lösung und erklären Sie ihren Zweck Konsole ist meist außerhalb Transformation Engine übernimmt das Routing und beinhaltet transaktionale Services konsistente Daten sind wichtig Prozess Management Management um die Plattform zu überwachen Transformation Engine Connectivity o Übertragung Kommunikation Sicherheit Ressource Adapter o Schnittstellen werden umgesetzt (Protokollumwandlung); zB. SAP-Adapter Development o Mapping zwischen den Schemas 14. Wann ist der Einsatz einer EAI Lösung kaufmännisch sinnvoll, wenn man an die hohen Initialkosten für Hardware, Software und Implementierung denkt? Je mehr Anwendungen ich habe, desto sinnvoller wird das EAI Es hängt aber auch sehr stark von der Strategie ab und von den Anwendungen die ich habe 15. Warum ist im Zusammenhang mit EAI von Geschäftsprozessen die Rede? Wie kann EAI Geschäftsprozesse unterstützen? EAI soll die Geschäftsprozesse bestmöglich unterstützen Sehr oft hat man bereits eine Workflow engine dabei, um die Geschäftsprozesse bestmöglich zu unterstützen Wiederholungsfragen UIT/SS 2009 15 16. Welche Hauptaufgaben führt eine EAI Software mit den empfangen Nachrichten durch? Daten werden empfangen Daten werden in einheitliches Format verwandelt Daten werden so transformiert, dass sie austauschbar werden (in das Format das der Empfänger benötigt) Daten werden in ein eigenes Format umgewandelt 17. Welche Daten (nenne einige Bsp) werden bei EDI von wem und an wen übertragen und wie werden diese Daten aufgrund ihres Formates genannt? Daten: Headerdaten, Message Häufigste Nachrichten: Rechnungen, Bestellungen, Lieferavis BizTalk 18. Was ist der BizTalk Server? Messaging System für Enterprise Anwendungen Herstellung einer Verbindung unterschiedlicher Entitäten über eine zentrale Stelle Anwenden von Geschäftsregeln auf Lieferantendaten ….BizTalk Server ist eine Sammlung von Komponenten mit dem Ziel der Integration 19. Aus welchen Hauptkomponenten besteht der BizTalk Server? Messagingkomponente, die die Kommunikation mit einer Vielzahl anderer Programme gewährleistet. Basierend auf austauschbaren Adaptern für unterschiedliche Kommunikationsarten kann die BizTalk Server 2006 Engine eine Vielzahl von Protokollen und Dateiformaten unterstützen. Unterstützung für das Erstellen von grafisch definierten Prozessen, die Orchestrierungen genannt werden. Die auf Messaging Komponenten der BizTalk Server 2006 Engine basierenden Orchestrierungen implementieren die Logik, die den Geschäftsprozess oder Teile davon steuert. Wiederholungsfragen UIT/SS 2009 16 20. Was tut der BizTalk Server Schema Nachrichten senden, empfangen, … Message wird über Receive Port empfangen, über Pipelines ins xml Format verwandelt, … Message Flow Orchestration macht die Nachrichten einheitlich verwendbar, egal aus welchem System sie kommen. Webservices 21. Bestandteile von Webservices Zentrale Web Service Techniken SOAP (Simple Object Access Protocol) • Aufrufprotokoll für Dienstzugriff • Unterstützt unterschiedliche Transportprotokolle: HTTP, SMTP WSDL (Web Service Description Language) • Beschreibung von Web Services über Meta-Daten UDDI (Universal Description, Discovery and Integration) • Dienstbeschreibung und Auffindung • universeller Verzeichnisdienst für Dienstleistungen XML 22. Was ist ein Webservice? Web Services sind verteilte, lose gekoppelte und … wieder verwendbare Software-Komponenten, auf die … über Standard-Internetprotokolle programmtechnisch zugegriffen werden kann Web Service-Techniken sollen auf der Grundlage standardisierter Internetprotokolle den entfernten Zugriff auf wohl definierte, gekapselte Anwendungsdienste (Web Services) ermöglichen . . . und damit als universelle Basis für die dynamische Kopplung global verteilter Anwendungssysteme bzw. entsprechender Dienste dienen Web Services zur Vermarktung von Softwarekomponenten !? Wiederholungsfragen UIT/SS 2009 17 Aufgaben des Bereitstellers von Web Services Konstruktion von Web Services Publizieren / Registrieren von selbst beschreibenden Web Services • Schnittstelle, funktionale Spezifikation • Randbedingungen der Nutzung von Web Services (technisch, organisatorisch, qualitativ) Betreiben des Web Services Aufgaben des Nutzers von Web Services Finden geeigneter Web Services Zugriff auf Web Services Übergreifende Anforderungen Abwicklung von Prozessabläufen Transaktionsmanagement / Fehlerbehebung SOA 23. Was versteht man unter SOA? Eine serviceorientierte Architektur (SOA) beruht auf der losen Kopplung wiederverwendbarer Softwarebausteine (Services), die bestimmte Standards erfüllen. Applikationen sollen sich dadurch an geänderte Anforderungen leichter und schneller anpassen lassen. Eine SOA strukturiert Anwendungssoftware, doch auch Infrastrukturprogramme, Entwicklungs- und Verwaltungswerkzeuge müssen darauf abgestimmt sein. Die Verbindung zu den geschäftlichen Konzepten und Abläufen ist dabei essenziell. Gegenüber EAI ist SOA in hohem Maße standardisiert und bietet auch die technischen Möglichkeiten zur Abbildung eines fachlichen Geschäftsprozesses. Auch die Einbindung bestehender Systeme im Sinne von EAI lässt sich mit einem dienstorientierten Ansatz realisieren. Gerade bei der Integration von Anwendungen aus Altsystemen (sogenannte Legacy-Anwendungen) über Services lässt sich eine Flexibilisierung von monolithischen Systemen erreichen. Auf diese Weise kann auch eine schrittweise Migration großer Legacy Systeme erfolgen. Unternehmen benötigen nicht den gefürchteten BigBang, sondern migrieren Schritt für Schritt. Welche Dienste nutzbar sind und wie sie angesteuert werden kann durch einen Verzeichnisdienst wie UDDI in Erfahrung gebracht werden. Wiederholungsfragen UIT/SS 2009 18 Merkmale einer SOA Verteiltheit: Dienste können auf unterschiedlichen Servern ablaufen Verzeichnisdienst: Um Dienste finden zu können, müssen diese in einem Verzeichnis registriert und eschrieben sein. Standards: Offene Standards gewährleisten eine Kommunikation der Dienste verschiedener Dienstanbieter untereinander. Lose Kopplung: Bei Bedarf dynamische Suche nach Diensten (zur Laufzeit) und Anbindung. Sicherheit: Sicherheit (bei verteilten Diensten) darf nicht vernachlässigt werden. Prozessorientiert: Die Kommunikation zwischen mehreren Diensten läuft zu einem Großteil autark. Grobe Abläufe können im Voraus modelliert werden. Durch Ereignisse, z.B. die Interaktion eines Menschen, wird der Prozessablauf gesteuert. SOA Prinzip Wiederholungsfragen UIT/SS 2009 19 SOA ist nicht gleichzusetzen mit Web Services! derzeit herrscht ziemlich viel Konfusion und Begriffsverwirrung dazu Yefim V. Natis im Gartner Report 2003: "Web services are about technology specifications, whereas SOA is a software design principle. Notably, Web services' WSDL is an SOA- suitable interface definition standard: this is where Web services and SOA fundamentally connect." also: • SOA ist ein Architekturmuster • Web Services sind Dienste, die über einen Satz von Standards implementiert sind • Web Services stellen somit eine Form der Umsetzung von SOA dar • Der Vorteil einer Implementierung von SOA mittelsWeb Services ist der Plattform-neutrale Ansatz verbunden mit hoher Interoperabilität, da immer mehr Anbieter immer mehr Web Services veröffentlichen 24. Was ist ein WSDL? Fragen, zu denen ein allgemeiner „Vertrag“ über einen Web Service Auskunft geben sollte: Welche Operationen bietet der Dienst an? Welche Parameter haben die Operationen? • Struktur der Aufrufnachricht • Struktur des Ergebnisses • Rückgriff auf XML Schema Wo und wie kann ich einen Dienst erreichen? • Adresse • Informationen über das Protokoll - z.B. SOAP, auch mehrere Protokolle! - verwendetes Transportprotokoll: HTTP, SMTP etc. Web Service Description Language WSDL zur allgemeinen Beschreibung eines Dienstes aber: keine semantische Dienstbeschreibung Ein Web Service kann auf Anforderung eine Liste seiner Dienstfunktionen liefern Er muss darauf in einem „allgemein verständlichen“ Format antworten Web Service Description Language WSDL ist ein Standard-Format für die Beschreibung von XMLbasierten Web Services Dadurch wird insbesondere die „automatisierte Kommunikation“ zwischen verschiedenen Web Services ermöglicht Port Type • Menge von Methoden (Operations) • „Messages“ gemäß Signatur der Methoden (Aufruf- und Rückgabe-Parameter, XSD-Typ-System) Binding • konkrete Transportprotokolle und Nachrichtenformate • z.B. „SOAP over HTTP“ Service • Menge von Ports (Endpoints) • Port: Binding + Netzwerkadresse Wiederholungsfragen UIT/SS 2009 20 WSDL Aufbau 25. Was ist UDDI? Universal Description, Discovery and Integration UDDI Universelle, zentrale E-Business-Suchmaschine mit verteilter Konzeption (UDDI Business Registry) • Informationen über Unternehmen abrufen (Description) • Geschäftspartner auffinden (Discovery) • Geschäftsprozesse über Unternehmensgrenzen hinaus beschreiben und nutzbar machen (Integration) Entwicklung begann im Frühjahr 2000 • Ariba, IBM, Microsoft • Erste Registry im Mai 2001 • Heute von hunderten Unternehmen unterstützt Verzeichnisdienst für Web Services Selbst wieder ein Web Service Ziel: Registrierung standardisierter und spezifischer Dienste Wiederholungsfragen UIT/SS 2009 21 Universeller Verzeichnisdienst white pages: Informationen über Unternehmen (Namensregister, Details, Kontaktinformationen) yellow pages: »Branchenbuch« - Ordnung der Unternehmen nach Technologiecodes, Branchentaxonomienv oder geographischemOrt green pages: Geschäftsmodell, technische Informationen über Nachrichtenformate, Protokolle (=> WSDL), Informationen über Geschäftsprozesse service type registrations: Referenzen auf Beschreibungen des jeweiligen Typs Informationen über das anbietende Unternehmen auch Taxonomie nach Branche o.ä. möglich Beschreibung des angebotenen Dienstes nicht nur für Web Services Kategorisierung des Dienstes (Thesauri) nach • Branche • Art der Dienstleistung • geographischer Ort Technische Schnittstelle (z.B. WSDL, aber auch natürlich sprachliche Beschreibungen) Protokoll zum Veröffentlichen und Nachschlagen von Dienstinformationen Basis: SOAP verteilte Registries Zwei APIs: Inquire API für die Anfrage + Publish API für die Registrierung 26. Was sind Vor- und Nachteile von SOA? Vorteile Flexibilität (z.B. durch einfache Austauschbarkeit von Services), Wiederverwendbarkeit von Services (höhere Produktivität) und Vermeidung monolithischer Systeme (Reduktion der Komplexität), Hohe Dynamik: schnelle Anpassung an neue Gegebenheiten und verbesserte Möglichkeiten zur Restrukturierung, da die Softwarekomponente frei von der Geschäftslogik ist und diese statt dessen in der Orchestrierung der Services zu einem Geschäftsprozess enthalten ist, Kostengünstige Integration zentralisierter Dienste wie PKIs, Single-Sign-On oder Identity Management Verbesserte Nachhaltigkeit der IT einer Institution oder eines Unternehmens, Verteilte Architektur (auch Redundanz) und Optimale Anpassung an den abzubildenden Geschäftsprozessen – somit auch leicht zugänglich für Management statt nur für Techniker. Geringere IT Kosten Agilität Nachteile SOA unterliegt zurzeit dem Begriffsmissbrauch durch Marketingabteilungen, die ihren Kunden durch Einführung von SOA die Lösung aller bisherigen Probleme versprechen. Wie unter Abgrenzung aber besprochen, ist SOA weder eine Lösung für fachliche Probleme in Unternehmen, noch gibt es eine "standardisierte", die man einem Unternehmen als solches verkaufen könnte. Sind fachliche Probleme vorhanden, wird die Einführung von SOA aus genannten Gründen mit höchster Wahrscheinlichkeit scheitern. Wiederholungsfragen UIT/SS 2009 22 SOA generiert durch die Arbeit, die in die Entkopplung von Diensten gesteckt werden muss, einen höheren Aufwand als bisherige monolithische Programmstrukturen. SOA erzeugt im Code wesentlich komplexere Abläufe, was das Logging und Debugging deutlich erschwert. Ebenso sind Tests zwangsläufig wesentlich komplexer. SOA setzt für die beteiligten Entwickler ein erhebliches Know-How voraus. Somit sind Entwickler auch nicht so einfach ersetzbar und die Abhängigkeit der Unternehmen von einzelnen Entwicklern steigt deutlich. SOA wird zumeist mit Diensten realisiert, die in irgendeiner Form per XML miteinander kommunizieren, was vom hohen Standardisierungsgrad und der Plattformunabhängigkeit dieser Technologie herrührt. Da XML für die Analyse und Nutzung im Programmablauf beim aktuellen Stand der Technik aber deutlich mehr Rechenzeit in Anspruch nimmt als ein herkömmlicher Funktionsaufruf, entsteht hier ein Overhead, der selbstverständlich Kosten verursacht. 27. Was will man mit SOA erreichen? Kostenreduktion durch höheren Automatisierungsgrad der Geschäftsprozesse Integrierte Prozesse beschleunigen insgesamt das Business Sichere und zuverlässige Prozesse vermindern das Geschäftsrisiko Synchronisierte Prozesse erhöhen die Reaktionszeit Flexibles Prozess-Management hilft bei der zeitnahen Umsetzung von strategischen Zielen Intelligente Prozesse helfen, Probleme zu lösen bevor sie auftreten 28. Was ist eine sinnvolle Verwendung, ein sinnvoller Aufbau von SOA? Integration Stack Informationsebene Metadaten Management Meta Data Ziel: Informationen über Daten/ Informationen zur Verfügung stellen Kategrorien: • Descriptivemetadata • Structural metadata • Administrative metadata • Rights management metadata • Preservation metadata explizit machen in so genannten Repositories • geschäftsprozessspezifische Anteile • technische Anteile (Datentypen, Feldlängen etc.) • semantische Anteile • Mapping/ Zusammenhänge Wiederholungsfragen UIT/SS 2009 23 Herausforderungen • standardisierte Vokabulare • semantisch abgestimmte Inhalte (z.B. über Ontologien) • Werkzeuge und Verfahren zum verteiltenManagement (ontology sharing, mapping, merging…) Serviceebene SOA Web Services Portalsebene „Virtuelle kollaborative Applikation“ kollaborativen Teams gemeinsame Information, Funktionalität und Wissen im Kontext ihrer gemeinsamen Prozesse bereitstellen stellt auch Werkzeugfunktionalitäten zur Verfügung personalisierte, auf den jeweiligen Kontext bezogene Sichten auf aggregierte Dienste und Inhalte Prozessintegrationsebene Geschäftslogik kontextunabhängig modelliert und organisiert Controller-Funktion typischerweise über Koordinationstechniken nachgebildet View muss i. d. R. komplett neu gestaltet werden Wiederholungsfragen UIT/SS 2009 24