XML Service Architekturen im Unternehmen Version 2.0 August 2001 Daniel Schmutz, Simtech AG
! Einführung! Architekturen! Organisation! Fallstudie Inhalt
Einführung! Was ist XML! Grundsätze von XML! Was ist ein Interface! Was ist eine Komponente! Was ist ein Service! Was ist ein XML Service! Was sind Web Services! Was ist eine XML Applikation! Wichtige Internet Adressen
Was ist XML! Extensible Markup Language! W3C Standard! Internet Standard Datenformat! Teilmenge von SGML! Verwandt mit HTML (XHTML)! Metasprache! Definition beliebiger Datenformate! UNICODE kompatibel! XML Dokument! Standard Datenformat
Grundsätze von XML! XML soll sich im Internet auf einfache Weise nutzen lassen.! XML soll ein breites Spektrum von Anwendungen unterstützen.! XML soll zu SGML kompatibel sein.! Es soll einfach sein, Programme zu schreiben, die XML- Dokumente verarbeiten.! Die Anzahl optionaler Merkmale in XML soll minimal sein, idealerweise NULL.! XML-Dokumente sollten für Menschen lesbar und angemessen verständlich sein.! Der XML-Entwurf sollte zügig abgefasst werden.! Der Entwurf von XML soll formal und präzise sein.! XML-Dokumente sollen leicht zu erstellen sein.! Knappheit von XML-Markup ist von minimaler Bedeutung.
Was ist ein Interface! Schnittstellenspezifikation! Ein Software Vertrag Vertrag! Hoher Abstraktionsgrad! Nur Deklaration! Keine Implementation! Verschiedene Formate:! IDL! Java!...
Was ist eine Komponente! Benannte Menge von Interfaces! Implementation ist von Interfaces getrennt! Funktioniert innerhalb Framework! Framework definiert Protokoll! Verschiedene Implementationen:! CORBA! COM/DCOM! Java RMI! tightly coupling
Was ist ein Service! Erbringt Dienstleistung! Definiert Protokoll und Interface! Funktioniert eigenständig (optionales Framework)! Unabhängig von der Implementationssprache! Hohe Skalierbarkeit! loose coupling
Was ist ein XML Service! XML Service ist ein Service! XML basiertes Protokoll! XML basierte Interfaces! Völlige Trennung der Implementation von der Deklaration! Maximale Portabilität! UNICODE kompatibel! Hoher Standardisierungsgrad (seit 1997)
XML Mikro Service! Ein XML Mikro Service ist ein XML Service! Stellt Core-Funktionen zur Verfügung! Hohe Wiederverwendbarkeit! Kleiner und einfacher Funktionsumfang! Funktioniert als Daemon! Ohne Bezug zu einer bestimmten Anwendung! Einfache Wartbarkeit
XML Makro Service! Ein XML Makro Service ist ein XML Service! Stellt Funktionen für Applikationen zur Verfügung! Geringe Wiederverwendbarkeit! Teilweise umfassender Funktionsumfang! Teil einer bestimmten Anwendung! Ganz oder teilweise für andere Anwendungen einsetzbar
Relation Mikro/Makro Makro Service
Well-formed XML Service! Ein wohlgeformter XML Service ist ein XML Service! Basiert vollständig auf wohlgeformten XML Datenstrukturen (well-formed document)! Alle internen Datenstrukturen sind XML basiert (Bsp:: Collections, Arrays, usw)! Alle internen Objekte sind XML basiert
Was ist ein Web Service! Web Service ist ein XML Service! Wird über eine URL angesprochen! Basiert auf Internet Technologie! Internet Protokolle (z.b. Http, Smtp)! SOAP (Simple Object Access Protocol)! Microsoft aktuellste Strategie (.net)! Extrem hohe Skalierbarkeit! Extrem hoher Standardisierungsgrad! Web Services sind abwärtskompatibel
Was ist eine XML Applikation! Basiert auf dem XML Standard! Verwendet XML Services! Multi Tier Architektur! Nicht XML Daten sind gekapselt! Hochgradig skalierbar! Hochgradig verteilbar! Keine sichtbaren proprietären Schnittstellen! Ultra Light Clients ULC
Wichtige Internet Adressen! www.ietf ietf.org! www.w3.org! www.oasis-open.org! www.ebxml ebxml.org! www.uddi uddi.org! xml.apache.org! www.javasoft javasoft.com! www.ibm ibm.com/.com/xml! msdn.microsoft microsoft.com/.com/xml! www.xml xml.com! www.xmlrpc xmlrpc.org
Architekturen! XML Dokumenten Architektur! XML 3 Tier Model! XML 4 Tier Model! XML Business Architektur! XML SOAP Architektur! XML Service Architektur! XML Mikro Service! XML Makro Service
XML Dokumenten Architektur! DTD : Document Type Defintion! XML : Extensible Markup Language! XSL : Extensible Stylesheet Language
XML 3 Tier Model! Alle Layer verarbeiten XML Daten
XML 4 Tier Model! Verteilte Architektur mit XML/XSL
XML Business Architektur http://www.lansa lansa.com
XML SOAP Architektur! SOAP: Simple Object Access Protocol
! XML Service! Architektur! Beispiel: Alert auslösen
Organisation! Vorbild Internet! Interne Organisation! Externe Organisation! Service Repository! Initial Tasks
Vorbild Internet! Organisationsstruktur! Internet Architecture Board (IAB)! Internet Engineering Taskforce (IETF)! Internet Engineering Steering Group (IESG)! Internet Research Steering Group (IRSG)! Internet Standard Track
Internet Organisationsstruktur! IAB! IRTF! IRSG! IETF! IESG : Internet Architecture Board : Internet Research Task Force : Internet Research Steering Group : Internet Engineering Task Force : Internet Engineering Steering Group
Internet Standard Track
Interne Organisation! <<Firma Firma>> Architecture Board! <<Firma Firma>> Engineering Task Force! <<Firma Firma>> Working Groups! <<Firma Firma>> Request for Comments (RFC)! Ziele dieser internen Organisation:! Definition interner Standards unter Einbezug aller relevanten Abteilungen und Interessengruppen! Hohe Akzeptanz der internen Standards
Externe Organisation! Definiert die Zusammenarbeit mit externen Lieferanten (z.b. Outsourcing)! Definiert die Zusammenarbeit mit externen Standardisierungsgremien (z.b. OASIS, ebxml)! Definiert den Einbezug individueller Ideen und Aktionen in den internen Prozess der Standardisierung
Service Respository! Datenbank der verfügbaren Services! Zentrales Instrument für die Entwicklung, Verteilung und Versionierung der Services! Service Repository Informationen:! Standard Track Prozess! Definition der Interfaces! Programmcode der Implementationen! Versionierung! Verteilte Service Instanzen (Naming Service)
Initial Tasks! Aufbau der internen Organisation! Aufbau der externen Organisation! Definition des Standard Prozesses! Aufbau des Service Repositories! Definition und Realisierung eines ersten Prototyps (kleines Teilprojekt)! Verbesserung der Abläufe (Korrekturen)! Freigabe des Prozesses
Fallstudie: Reservationssystem! Ziele! Service Architektur! XML DTD s! Services! Beispiel: Hotelreservationssystem
Ziele! Verwaltung von Reservationsobjekten! Object/Time Mapping! Allgemeine Verwendbarkeit! Beispiele:! Raumreservation! Seminarreservation! Tischreservation (Restaurant)! Vermietung (z.b. Bibliothek, Videothek)
Service Architektur
! DTD Allocation! DTD Object! DTD Reservation! DTD TimeToken! DTD Transaction XML DTD s
Beispiel: : DTD Transaction DTD: Beispiel: <!ELEMENT document (transaction)> <!ELEMENT transaction (instance*)> <!ELEMENT instance (service,commit,abort)> <!ELEMENT commit (action)> <!ELEMENT abort (action)> <!ELEMENT service (name)> <!ELEMENT name (#PCDATA)> <!ELEMENT action ANY> <document> <transaction> <instance> <service> <name>myservice</name> </service> <commit><action></action></commit> <abort><action></action></abort> </instance> </transaction> </document>
Services! CollectionService! ObjectAllocationService! ReservationService! SingleReservationService! TimeTokenService! TransactionService
Beispiel: CollectionService Name : CollectionService Beschreibung : Beziehungen : keine Interface : Operationen: addobject firstobject nextobject objectat (pos) removeobject DTD Objekte : DTD Object Der Collection Service verwaltet Objekte beliebiger Art.
Beispiel: Hotelreservation Reservation Objects: Allocation Objects:
Vielen Dank für Ihre Aufmerksamkeit! Simtech AG Marktgasse 6 3011 Bern www.simtech-ag.ch Kontakt:seminars@simtech-ag.ch