 |
 |
 |
In beinahe jeder IT- und Business-Zeitschrift findet man heutzutage mindestens einen Artikel, in dem die Vorteile von Webservices und SOA gepriesen werden.
Marktführende Unternehmen der Internet-Branche wie Amazon, eBay, Google, and FedEx bieten öffentlich zugängliche Webservices an, die die API zum Abrufen von Daten und anderen Funktionalitäten bilden. So bietet z.B. Amazon.com Webservices für die Produktsuche, das Einkaufswagensystem, Wunschlisten. Auf eBay kann man mittels Webservices nach Artikeln suchen, anbieten und mitbieten. Google bietet Webservices für die Websuche, für den Zugriff auf den Cache und Rechtschreibprüfung. Die Webservices von FedEx stellen eine Verbindung zu den Paketversendungs- und Rückverfolgungssystemen her.
Analysten zufolge könnten Firmen durch Implementierung von Webservices und SOA Milliarden von Euro sparen, doch haben bisher nicht einmal 20 % der Unternehmen entsprechende Erfahrung mit diesen Technologien.
Trotz der großen Ziele, der vielversprechenden Prognosen und all der Erfolgsstories haben sich Webservices im Umfeld der Unternehmens-IT noch nicht wirklich durchgesetzt. Die für die Erstellung eines End-to-End Webservice erforderlichen Programmiersprachen, Industriestandards und Technologien stellen selbst an erfahrene Programmierer hohe Anforderungen. Glücklicherweise stehen nun Neulingen auf dem Gebiet Webservices hochentwickelte Tools zur Verfügung, mit denen sich Webservices mit visuellen Mitteln viel schneller und effizienter entwickeln lassen.
Der Altova® MissionKit™ 2008 ist eine robuste Lösung und bietet die folgenden Webservice-Funktionen: - Graphischer XML-Schema Editor zum Einbetten von Schemas in WSDL-Dateien
- visuelles WSDL-Design mit Generierung des entsprechenden WSDL-Codes
- automatische Generierung von SOAP Messages auf Basis von WSDL-Definitionen
- universellen SOAP-Client zum Senden und Empfangen von SOAP Messages
- SOAP Debugger zum Testen und Perfektionieren von Client und Server Webservice-Implementierungen
- graphische Webservice-Implementierung und Mappen auf XML-, Datenbank-, EDI- und Flat File-Datenquellen
- automatische Codegenerierung für Webservices in Java und C#
Bevor wir die Vorteile des Altova® MissionKit™ 2008 näher erläutern, werfen wir noch einen Blick auf die Herausforderungen im Zusammenhang mit der Entwicklung von Webservices.
Da es immer noch Unklarheiten zum Begriff "Webservices" gibt, hier zunächst eine Definition: Das W3C beschreibt einen Webservice als:
„ . . . ein Software-System zur Unterstützung interoperabler Interaktionen zwischen verschiedenen Rechnern über ein Netzwerk. Ein Webservice hat eine Schnittstelle, die in einem durch Maschinen verarbeitbaren Format gespeichert ist (WSDL). Andere Systeme interagieren mittels SOAP Messages mit dem Webservice auf eine durch die WSDL-Datei vorgeschriebene Weise. Diese SOAP Messages werden im Allgemeinen über HTTP mittels XML-Serialisierung in Verbindung mit anderen Web-Standards übertragen.“
Anders ausgedrückt, sind "Webservices" eine lose verknüpfte, plattform- und sprachunabhängige Gruppe von webbasierten Kommunikationsprotokollen, die ein einfaches, interoperables Nachrichtenformat zur Verbindung von Applikationen und Übertragen von Daten bilden.
Webservices wurden auf Basis von Standards zur Förderung einer Implementierung öffentlich zugänglicher Anwendungen über das Internet entworfen. Webservice-Technologien können jedoch auch innerhalb eines Unternehmensintranet oder einer anderen geschlossenen Umgebung implementiert werden, z.B. um dem Verkaufsteam eines Unternehmens die Abfrage eines Inventarsystems bzgl. der Verfügbarkeit eines Produkts zu ermöglichen, bevor eine Bestellung aufgegeben wird. Mit einem internen Projekt zu beginnen, kann eine gute Art sein, um sich mit der Technologie vertraut zu machen, bevor man ein groß angelegtes Webservices-Projekt in Angriff nimmt.
Webservices werden in WSDL (Web Services Description Language) definiert. WSDL ist im XML-Format geschrieben. Eine WSDL-Datei beschreibt den Pfad zu einem Service (URL), die Operationen, die der Service ausführt und die jeweiligen Kommunikationsmethoden, die für den Webservice verwendet werden. Wenn die zu übertragenden Daten eine komplexe Struktur haben, enthält die WSDL-Datei auch eine Definition der Datentypen in den Webservice Messages (Schema).
Webservices verwenden XML zum Codieren und Decodieren von Informationen und SOAP (Simple Object Access Protocol) zum Übertragen der Nachrichten (Messages) unter Verwendung offener Internet-Standards.
Von innen nach außen beschrieben heißt dies, dass ein XML-Schema in eine WSDL-Datei eingebettet ist, die auch Definitionen der Operationen und Zugriffsmethoden des Webservice enthält. Die WSDL-Datei selbst ist auf dem Server gespeichert, auf dem der Webservice ausgeführt wird. Auf diese Weise kann eine Client-Applikation auf jeder beliebigen Plattform und in einer beliebigen Programmiersprache die WSDL-Datei über das Internet lesen um zu ermitteln, nach welchen Regeln und in welchem Format die Messages mit dem Webservice ausgetauscht werden.
Im Folgenden ist die Abfolge der Aktionen aufgelistet, die bei Ausführung eines typischen Webservice erfolgen, sowie die dafür benötigten Technologien: - Der Webservice Client sendet einen Request aus (definiert durch die WSDL-Datei, formatiert in XML, gesendet über SOAP).
- Die für den Webservice bereitsgestellte Infrastruktur (Webserver) übergibt den Request an die Webservice-Implementierung (die aus Java- oder C#-Code kompiliert wurde).
- Die Webservice-Implementierung kommuniziert mit einem Informationsspeicher (normalerweise über SQL mit einer relationalen Datenbank , oder auch mit einer nativen XML- oder anderen Datenquelle).
- Die Webservice-Implementierung setzt die vom Datenspeichersystem zurückgegebenen Daten in eine syntaktisch korrekte Antwort (Response) (XML, das in der WSDL-Datei definiert ist).
- Der Webserver sendet die ordnungsgemäß formatierte Antwort an den Client (XML über SOAP).

Dies ist jedoch nicht die Reihenfolge, in der ein Entwickler bei Erstellung eines neuen Webservice vorgeht. Der Entwickler bzw. das Entwicklerteam könnte z.B. folgendermaßen vorgehen:
- Überprüfung der Aufgaben, die der Webservice erfüllen soll. Welche Daten werden vom Client abgefragt und welche Informationen sollen in der Antwort enthalten sein, um die Aufgabe am besten zu lösen?
- Analyse der aktuellen Struktur der Daten im Datenspeichersystem (bzw. wie soll die neue Datenbank am besten strukturiert sein, falls noch keine vorhanden ist!)
- Konstruktion oder Ableitung eines XML-Schemas, das die notwendigen Datenstrukturen beschreibt und Optimieren des Schemas für Webservices.
- Einbettung des Schemas in eine WSDL-Datei und Definition des Kommunikationsprotokolls zur Definition des Webservice.
- Schreiben des Implementierungsquellcodes für die Kommunikation mit der Datenbank.
- Kompilieren des Quellcodes und Bereitstellung der Implementierung auf einem Server
- Erstellen eines HTML-Web-Formulars oder einer einfachen Client-Applikation für die Interaktion mit dem Service.
- Testen, Debuggen, und Umschreiben . . . , gegebenenfalls Wiederholung des Vorgangs.
Mit Hilfe der Altova-Tools können viele der komplexen Schritte bei der Entwicklung von Webservices automatisiert werden, gleichzeitig bieten sie Funktionen zum Testen und Debuggen der Applikation während der Erstellung. Entwickler, die die Altova-Lösungen verwenden, können sich auf die Regeln und Struktur der Business Logic konzentrieren und dadurch funktionierende Webservices einfach und schnell erstellen, ohne sich mit dem Schreiben von Quellcode oder den komplexen Implementierungsdetails der anderen Technologien befassen zu müssen. 
Im Altova® MissionKit™ 2008 sind die einander ergänzenden Features von XMLSpy® 2008 und MapForce® 2008 kombiniert, um Hindernisse bei der Entwicklung aus dem Weg zu räumen und die Entwicklung von Webservices schneller voranzutreiben.
Analyse der Daten und Erstellung eines XML-Schemas XMLSpy® 2008, die Industriestandard-Entwicklungsumgebung, kann automatisch anhand des Inhaltsmodells einer Datenbank oder eines XML-Beispieldokuments ein XML-Schema ableiten. Geben Sie in XMLSpy einfach Ihre Datenquelle an und das Programm erstellt automatisch ein XML-Schema für die Einbettung in Ihren Webservice.
Optimieren des XML-Schemas für einen Webservice Im XMLSpy Schema Editor wird Ihr Schema graphisch in Form einer übersichtlichen Hierarchie dargestellt, sodass die Beziehungen und die Struktur der Datenquelle auf einen Blick zu sehen sind.
Um Ihr Schema zu optimieren, müssen Sie oft nur das Schlüsselelement des Service als globales Element definieren oder vertrauliche Daten schützen. Beides ist in XMLSpy ein Kinderspiel.
So könnte Ihre Produktdatenbank im zweiten Fall z.B. die firmeninternen Kosten für jedes einzelne SKU enthalten, Sie möchten jedoch nur die Produktbeschreibungen und den Vertriebspreis öffentlich zugänglich machen. Mit Hilfe von XMLSpy können Sie die vertraulichen Elemente ganz einfach wegschalten, damit diese aus dem Webservice ausgenommen werden, oder nur die relevanten Teile in das neue für den Webservice optimierte Schema hineinkopieren.
Einbetten des Schemas und graphische Definition der WSDL-Datei Altova XMLSpy enthält einen WSDL Editor zum Erstellen, Visualisieren und graphischen Editieren und Validieren jeder beliebigen WSDL-Datei.
Über die XMLSpy-Menüoption "Datei/Neu" wird eine Vorlage für eine neue WSDL-Datei erstellt. Als nächstes fügen Sie Ihr optimiertes Schema einfach in der Text-Ansicht ein. Wechseln Sie in die graphische WSDL-Ansicht, um Operationen, Port-Typen, Bindings und Services zu definieren. Beim Arbeiten in der graphischen Ansicht lassen sich Syntaxfehler vermeiden, die beim manuellen Schreiben von Code oft auftreten.
Mappen von Datenquellen und Generieren von Webservice-Implementierungscode Nach Fertigstellung Ihres WSDL Designs können Sie mit Hilfe der visuellen Drag and Drop-Mapping-Funktionen von MapForce® 2008, dem führenden Tool zur Datenintegration und zum Implementieren von Webservices, die WSDL-Operationen mit den jeweiligen Datenquellen verbinden. Nach Definition der Mappings (und Testen mit Hilfe der von XMLSpy erstellten SOAP Request-Dokumente) generiert MapForce Quellcode für Ihren Webservice in Java oder C#. In beiden Programmiersprachen erstellt MapForce ein komplettes, kompilierbereites Projekt.
Testen des bereitgestellten Webservice Egal ob Ihr Webservice auf einem Apache- oder einem Microsoft Webserver ausgeführt wird, XMLSpy kann als Client verwendet werden, um einen SOAP Request dafür zu erstellen. Sie können die Request-Parameter bearbeiten, an den Server senden und anschließend die Antwort des Webservice empfangen und überprüfen. Wenn Sie die Kommunikation zwischen Ihrer eigenen Client-Applikation und dem Webservice überprüfen wollen, so bietet der SOAP Debugger von XMLSpy die Möglichkeit, die Webservice-Transaktionen Schritt für Schritt durchzugehen, Breakpoints zu setzen und jeden einzelnen Request und jede Response zu überprüfen.
XMLSpy und MapForce bieten sogar Tools zum Dokumentieren Ihres Webservice-Projekts. In MapForce können Sie Mapping-Diagramme zur Archivierung ausdrucken und in XMLSpy können Sie eine ausführliche Dokumentation zu XML-Schema- und WSDL-Dateien im HTML- oder Microsoft Word-Format generieren.
Nähere Informationen zum Altova MissionKit und zu Webservices finden Sie unter den folgenden Links:
- Lesen Sie mehr über Webservice-Funktionen von XMLSpy® 2008 und MapForce® 2008
- Hier sehen Sie eine Flash Demo zur Erstellung von Webservices mit Hilfe von XMLSpy und MapForce
- In der Equifax Fallstudie wird beschrieben, wie diese führende Wirtschaftsauskunftei mit Hilfe von XMLSpy eine komplexe SOAP-Schnittstelle für ihren ID-Überprüfungs- und Authentifizierungs-Webservice erstellt hat.
- Lesen Sie in dieser Fallstudie nach, wie wir mit Hilfe der Altova-Tools einen Webservice für ein reales Szenario erstellten
- Verwenden Sie die Webservice-Funktionen in XMLSpy, um eine Verbindung als Client mit einem bestehenden Webservice herzustellen
- Lesen Sie unser Whitepaper über Webservices mit dem Titel: Web services: Benefits, challenges, and a unique visual development solution
Downloaden Sie jetzt eine kostenlose 30-Tage-Testversion des Altova® MissionKit™ 2008!
|
 |
 |
 |