Plattformunabhängiger, standardisierter Austausch von Informationen

Feature | 27. Oktober 2003 von admin 0

Was sind Web-Services?

Was sind Web-Services?

Web-Services bieten Anwendern und Anwendungen in Unternehmen eine Möglichkeit, Informationen und Funktionalitäten standardisiert und plattformunabhängig zu nutzen. Mit Web-Services lassen sich darüber hinaus die Kosten für Wartung und Integration von Prozessen reduzieren, die sich über mehrere Plattformen und Lösungen erstrecken – einschließlich derjenigen von Partnern und Kunden. Das Stichwort lautet, seine IT-Investitionen voll auszuschöpfen – nur wie?
Das SAP NetWeaver Developer Studio ist die integrierte Entwicklungsumgebung von SAP. Sie unterstützt nicht nur Java, J2EE und die Web-Dynpro-Entwicklung, sondern gibt Anwendern auch Werkzeuge an die Hand, Web-Sevices zu erstellen, wieder zu verwenden oder zu ändern. Für diese Operationen sind mithin nur wenige Mausklicks nötig. SAP bietet ein flexibles und erweiterbares Web Services Framework als Bestandteil ihrer Standardentwicklungsprozesse. Damit ist gewährleistet, dass sich Web-Services mit Hilfe derselben Mechanismen und Werkzeuge implementiert lassen und auf dieselben Services zugreifen – beispielsweise die Transportlandschaft oder die Infrastruktur für die Java-Entwicklung – wie andere SAP-Anwendungen.
Ist ein Geschäftsprozess und die entsprechende Schnittstelle, die als Web-Service bereitgestellt werden soll, ausgewählt, führt das SAP NetWeaver Developer Studio den Anwender durch die wesentlichen Arbeitsschritte führen.

Bereitstellung von (Web)-Services – Die Server-Seite

Web-Service-Standards

Web-Service-Standards

Jeder, der einen Web-Service erstellen will muss sich zunächst über den Geschäftsprozess und eventuell vorhandene betriebswirtschaftliche Standardfunktionalität im Klaren sein. Beispiele sind etwa Kreditkartenprüfungen, Währungsumrechnungen oder Funktionalitäten zur Personalabrechnung. Auf Basis der Standardschnittstellen einer Anwendung lässt sich jegliche eigenständige, modularisierte Funktionalität, die als Enterprise JavaBean (Session Bean) oder als Java-Klasse implementiert ist, auch als Web-Service bereitstellen. Diese Funktionalität ist möglicher Weise Bestandteil einer Lösung der mySAP Business Suite, oder sie wurde von einem SAP-Anwender, einem Kunden oder Partner entwickelt. Wie wird darauf aufbauend der Web-Service erstellt und auf der Server-Seite registriert?
Das SAP NetWeaver Developer Studio bietet zwei Optionen zur Erstellung eines Web-Service. Zum einen handelt es sich um einen schnellen Ansatz auf der Basis eines Assistenten. Der andere Ansatz ist aufwändiger, ermöglicht es jedoch, komplexere Web-Services für individuelle Anforderungen zu erstellen. Die beiden Ansätze schließen sich nicht notwendigerweise aus. Web-Service lassen sich beispielsweise mit Hilfe des Assistenten schnell erstellen, jedoch später mit dem erweiterten Ansatz ausbauen und optimieren.

Der schnelle Weg zu einem Web-Service

Assistent zum Erstellen von Web-Services

Assistent zum Erstellen von Web-Services

Sobald ein Prozess und eine Schnittstelle identifiziert sind, die zur Verfügung gestellt werden sollen, besteht die einfachste Möglichkeit für den Einstieg darin, das SAP NetWeaver Developer Studio und den Assistenten zur Erstellung von Web-Services zu nutzen. Mit diesem Assistenten ist die Konfiguration eines Web-Service ein hochgradig automatisierter Vorgang, basierend auf vordefinierten Konfigurationsprofilen, die von SAP entwickelt wurden und Einstellungen zusammenfassen, die in typischen Web-Service-Szenarien verwendet werden.

Wer erstellt den Web-Service?

Wer erstellt den Web-Service?

Das Konfigurationsprofil, etwa Simple SOAP, ist für zustandslose Web-Service-Aufrufe über ein Intranet eingestellt, für die keine zusätzlichen Sicherheitsmaßnahmen notwendig sind. In Abbildung 1 enthält dieses Profil keine Authentifizierungs- oder Berechtigungsfunktionen und spezifiziert die Verwendung von SOAP über HTTP für den Transport. Weitere Profile fassen andere Einstellungen zusammen, darunter Standardauthentifizierung, hohe Sicherheit oder Berechtigung.

Wer implementiert den Web-Service?

Wer implementiert den Web-Service?

Mit diesem Assistenten ist auch ein Java-Entwickler, der weniger Erfahrung mit den technischen Details von Web-Services hat, dazu in der Lage, einen solchen Service zu erstellen, indem er sich einfach durch die drei Schritte des Assistenten klickt. Im Hintergrund werden alle benötigten Objekte generiert.

Schrittweiser Ansatz

Fünf Schritte

Fünf Schritte

Manchmal jedoch müssen die Einfachheit und Geschwindigkeit einer Entwicklung hinter komplexeren Prozessen zurückstehen, mit denen spezielle Anforderungen erfüllt werden sollen. In diesem Fall ist ein aus fünf Schritten bestehender Prozess zur Bereitstellung einer Anwendung als Web-Service der richtige Weg.

1. Implementierung der Geschäftslogik.
Wer eine Java-Klasse oder Enterprise Session Bean implementieren kann, ist auch dazu in der Lage, die Geschäftslogik für einen Web-Service zu implementieren. Dabei ist hinsichtlich des Web-Services nichts speziell zu beachten – es handelt sich lediglich um die Implementierung einer Java-Klasse oder die Anwendung des Enterprise-Session-Bean-Modells. Beide Ansätze lassen sich zur Erstellung von Web-Services verwenden und werden von den Java- oder J2EE-Perspektiven im SAP NetWeaver Developer Studio unterstützt.
2. Definition der virtuellen Schnittstelle.
Die virtuelle Schnittstelle (Virtual Interface = VI) ist die Schnittstelle, die der Web-Service für die Clients bereitstellt. Die virtuelle Schnittstelle wird von der “eigentlichen”, ursprünglichen Schnittstelle der Anwendung abstrahiert. Standard für die VI ist eine 1:1-Abbildung zwischen der ursprünglichen, implementierten Schnittstelle und derjenigen Schnittstelle, die für den Client bereitgestellt wird. Der Anwender hat die Möglichkeit, diese Standardschnittstelle seinen Anforderungen anpassen. Dazu steht ihm im SAP NetWeaver Developer Studio ein VI-Editor mit folgenden Möglichkeiten zur Verfügung:

  • Umbenennen von Methoden und Parametern,
  • verbergen von Methoden oder Parametern,
  • bereitstellen von Standardwerten für Parameter,
  • festlegen, ob Parameter in der SOAP-Nachricht als Attribute oder Elemente behandelt werden sollen,
  • ändern von Namensräumen und
  • Zuordnung der elementaren Datentypen gemäß der Java-Standards.

Ausgehend von der ursprünglichen, implementierten Schnittstelle lassen sich also auf einfache Weise eine beliebige Anzahl von Sichten definieren, um für die Clients der Web-Services individuell angepasste, plattformunabhängige Schnittstellen zur Verfügung zu stellen.

3. Erstellen der Definition des Web-Service.
Auf Basis der virtuellen Schnittstelle erstellt der Entwickler unter Verwendung eines Assistenten eine Web-Service-Definition. Dieser Schritt legt das Verhalten des Web-Service auf einer allgemeinen Ebene fest. In diesem Schritt werden – unterstützt durch einen Editor – Session Handling, Authentifizierung, Berechtigung und Transport definiert.
4. Einrichten der Konfiguration des Web-Service.
In einer Systemlandschaft können verschiedene Anwendungsserver über verschiedene technische Möglichkeiten verfügen. In diesem Schritt werden die allgemeinen Funktionen, die in Schritt 3 definiert wurden, den tatsächlichen technischen Fähigkeiten des Servers zugeordnet. Wenn also der Entwickler in Schritt 3 vorgegeben hat, dass dieser Web-Service eine zustandsbehaftete Kommunikation erfordert, legt das IT-Team in dieser Phase fest, ob dies über HTTP-Cookies oder URL-Erweiterungen umgesetzt werden soll.
5. Bereitstellen des Web-Service.
Java-Entwickler werden erfreut sein, dass bei der Bereitstellung keine Aufgaben anfallen, die für Web-Services spezifisch sind. Die Deployment-Prozesse sind voll in das SAP NetWeaver Developer Studio integriert, die gesamte Konfiguration für die Bereitstellung wird transparent im Hintergrund abgewickelt.

Testfunktionen – schnelle Durchlaufzeiten in der Entwicklung

Testen von Web-Services

Testen von Web-Services

Für jeden neu erstellten und installierten Web-Service, der getestet werden soll, wird automatisch eine Web-Service-Homepage erstellt und bereitgestellt. Über eine browserbasierte Schnittstelle führt die Homepage die komplette Dokumentation zusammen, zeigt die zugehörigen WSDL-Dateien an, ermöglicht es, Client-Proxies zu generieren und bietet Testmöglichkeiten an. Dadurch lässt sich jeder Web-Service überprüfen, ohne dass zusätzliches Coding zur Implementierung eines Test-Client erforderlich ist. Die Homepage wird durch eine vollständige Statusübersicht komplettiert, die bestimmte Features wie etwa den Status des UDDI-Publishing anzeigt.

Web-Services – die Client-Seite

Der SAP Web Application Server (SAP WAS) unterstützt es nicht nur, Web-Services auf der Server-Seite zu erstellen. Der SAP WAS ist auch dazu in der Lage, Web-Services als Web-Service-Client aufzurufen. Wie auf der Server-Seite bietet das SAP NetWeaver Developer Studio dem Entwickler auch auf der Client-Seite viel Unterstützung. Vier wesentliche Schritte sind erforderlich, um eine Web-Service-Anwendung auf Client-Seite auszuführen:

  • Abrufen der Beschreibung des Web-Service: Eine standardkonforme Web-Service-Beschreibung ist Ausgangspunkt zur Implementierung einer Client-Anwendung. Um einen geeigneten Web-Service zu finden, muss entweder das UDDI mit dem integrierten Web-Services-Suchwerkzeug durchforstet oder die eigene WSDL-Beschreibung manuell hinzugefügt werden.
  • Generieren eines Web-Service-Proxy: Ein Web-Services-Client-Proxy wird mit einer gültigen WSDL-Datei als Eingabedatei generiert. Der Proxy ermöglicht es dem Anwendungsentwickler, sich auf die betriebswirtschaftliche Funktionalität zu konzentrieren, während technische Aspekte wie die Erstellung einer gültigen SOAP-Nachricht automatisch von der Proxy-Implementierung übernommen werden.
  • Implementieren der Client-Anwendung: Verschiedene Implementierungstypen können den generierten Web-Service-Proxy verwenden. Je nach Anforderungen des Projekts werden Enterprise JavaBeans, Java-Klassen oder Java Server Pages ausgewählt. Unabhängig von der Auswahl orientiert sich die Implementierung der Client-Funktionalität am standardisierten und allgemein akzeptierten Web-Service-Programmiermodell.
  • Deployment der Anwendung: Abschließend muss der Web-Service bereitgestellt werden. Ebenso wie auf der Server-Seite basiert das Deployment auf der Integration mit Standard-SAP-Web-AS-Prozessen; es sind also keine spezifischen Schritte für den Web-Service erforderlich.

Mit dem SAP Web Application Server 6.30 bietet SAP eine einfache und praktische Möglichkeit, Web-Services zu erstellen. SAP erwartet, dass sich Geschäftsprozesse auf der Basis von Web-Services etablieren werden und hat deshalb die Enterprise Service Architecture (ESA) geschaffen. Es handelt sich dabei um einen neu entwickelten Ansatz zur Entwicklung von Anwendungen, die sich an Services orientieren. Die ESA bietet einen Bauplan zur Erstellung neuer, flexibler, modularer Anwendungen, die einen Informationsaustausch in heterogenen Umgebungen unterstützen. SAP NetWeaver und seine Anwendungsplattform, SAP Web Application Server, sind die Grundlage für alle mySAP-Lösungen; die Web-Service-Funktionalität von SAP Web AS ist wesentlicher Bestandteil der ESA-Strategie.
Mit der Weiterentwicklung der Web-Services werden neue Standards die Sicherheit weiter verbessern, einen komplexeren Datenaustausch zwischen mehreren Web-Services unterstützen und zu einer weiteren Standardisierung von Geschäftsbelegen und -prozessen führen. Dies fördert die allgemeine Verbreitung von Web-Services und stellt die kontinuierliche Weiterentwicklung der unterstützenden Technologien sicher.
Weitere Informationen

Quelle: SAP Insider

Martin Huvar

Martin Huvar

Tags:

Leave a Reply