Taskübersicht: Web-Service-Anwendungen implementieren

Verwenden Sie diesen Artikel als Einführung in die Verwendung von Web-Services. WebSphere Application Server unterstützt Web-Services, die basierend auf verschiedenen Java™-Programmiermodellen entwickelt und implementiert wurden. Verwenden Sie Web-Services, wenn Sie mit mehreren Plattformen arbeiten, z. B. mit Java Platform, Enterprise Edition (Java EE) und anderen Plattformen.

Vorbereitende Schritte

Stellen Sie fest, ob eine Web-Service-Implementierung für Ihren Geschäftsprozess von Vorteil ist.

Informationen zu diesem Vorgang

Bewährte Verfahren: IBM® WebSphere Application Server unterstützt das Programmiermodell Java API for XML-Based Web Services (JAX-WS) und das Programmiermodell Java API for XML-based RPC (JAX-RPC). JAX-WS ist das Web-Service-Programmiermodell der nächsten Generation, das die vom Programmiermodell JAX-RPC bereitgestellte Grundlage erweitert. Durch die Verwendung des strategischen Programmiermodells JAX-WS, das ein auf Standards basierendes Annotationsmodell unterstützt, vereinfacht sich die Entwicklung von Web-Services und -Clients. Obwohl das Programmiermodell JAX-RPC und JAX-RPC-Anwendungen weiterhin unterstützt werden, sollten Sie das einfach zu implementierende Programmiermodell JAX-WS für die Entwicklung neuer Web-Service-Anwendungen und -Clients nutzen.

Eine vollständige Liste der unterstützten Standards und Spezifikationen finden Sie in der Dokumentation zu den Web-Service-Spezifikationen und den Anwendungsprogrammierschnittstellen.

Die Implementierung von Web-Service-Anwendungen ist eine einfache Möglichkeit, Anwendungssysteme gemeinsam innerhalb oder außerhalb der Infrastruktur eines Geschäfts zu integrieren, die als eigenständige Systeme arbeiten. Beispiel: Ihre Kundendatenbank ist eine eigenständige Anwendung ist, aber Ihre Fakturierungsanwendung soll auf die Kundenddaten zugreifen. Sie können einen Web-Service für die Kundendatenbank erstellen und anschließend die Fakturierungsanwendung als Client des Web-Service aktivieren. Danach kann Ihre Fakturierungsanwendung auf die Kundendaten zugreifen. Durch die Implementierung eines Web-Service können die beiden Anwendungen Informationen effizient gemeinsam nutzen.

Da Web-Services leicht auf vorhandene Anwendungen und IT-Ressourcen anwendbar sind, können neue Lösungen schnell entwickelt, implementiert und neu strukturiert werden, um neue Chancen wahrzunehmen. Mit der zunehmenden Verbreitung von Web-Services steigt nicht nur die Zahl der Services. Gleichzeitig wird die Entwicklung sehr robuster Modelle für Just-in-time-Anwendungen und Geschäftsintegration über das Internet.

Führen Sie für die Verwendung von Web-Service-Anwendungen mit dem Anwendungsserver die folgenden Schritte aus:

Vorgehensweise

  1. Planen Sie die Verwendung von Web-Services. Machen Sie sich mit allen Komponenten von Web-Services vertraut, um zu lernen, wie Sie Ihre Web-Services leistungsfähiger gestalten können.
  2. (Optional) Migrieren Sie vorhandene Web-Services.

    Da Kompatibilität in Java-EE-Umgebungen ein wichtiger Aspekt ist, bieten meisten Anwendungsserver, die die neueren Spezifikationen JAX-WS und JAXB unterstützen, weiterhin Unterstützung für die ältere Spezifikation JAX-RPC an. Dies hat zur Folge, dass vorhandene Web-Services wahrscheinlich weiterhin JAX-RPC-basiert bleiben, während die neuen Web-Services mit JAX-WS und JAXB entwickelt werden.

    Es empfiehlt sich jedoch, die JAX-RPC-basierten Web-Services nach und nach auf JAX-WS und JAXB umzustellen, insbesondere wenn Anwendungen überarbeitet und neu programmiert werden müssen. Hierfür müssen Lieferanten möglicherweise Erweiterungen für die Servicequalitäten bereitstellen, die nur in den neuen Programmiermodellen verfügbar sind. Die Unterstützung für SOAP 1.2 und SOAP Message Transmission Optimization Mechanism (MTOM) ist beispielsweise nur in den Programmiermodellen JAX-WS 2.x und JAXB 2.x, aber nicht in JAX-RPC verfügbar. Machen Sie sich mit den bewährten Verfahren für die Migration von Web-Services vertraut, um mehr darüber zu erfahren und sich Beispiele für die Migration von JAX-RPC-Web-Services auf JAX-WS- und JAXB-Web-Services anzusehen.

    Anmerkung: Vorhandene JAX-RPC-Anwendungen, in denen JAX-WS-Features verwendet werden sollen, müssen mit dem JAX-WS-Programmiermodell erneut geschrieben werden.

    Wenn Sie Web-Services verwenden, die auf Apache SOAP basieren, und jetzt Web-Services für die Spezifikation "Java EE" entwickeln und implementieren möchten, müssen Sie Clientanwendungen migrieren, die mit allen Versionen 4.0 und 5.0 vor 5.0.2 entwickelt wurden. Weitere Informationen finden Sie im Artikel zur Migration von Apache-SOAP-Web-Services auf JAX-RPC-Web-Services auf der Basis von Java-EE-Standards.

  3. Entwickeln Sie Web-Service-Anwendungen. Sie können Web-Services wie folgt entwickeln:
    1. Entwickeln Sie Web-Services aus vorhandenen WSDL-Dateien mit JAX-WS.

      Sie können einen JAX-WS-Web-Service aus einer vorhandenen WSDL-Datei (Web Services Description Language) erstellen, die die Serviceschnittstelle für eine JavaBeans- oder Enterprise-Bean-Anwendung beschreibt. Gewöhnlich wird die WSDL-Datei im Rahmen des Anwendungsmodellierungsprozesses definiert. Die Verwendung einer vorhandenen Servicedefinition oder WSDL-Datei zum Generieren einer neuen Anwendung wird bei der Entwicklung von Web-Services als Top-down-Ansatz bezeichnet.

    2. Entwickeln Sie Web-Service-Anwendungen mit JAX-WS.

      Sie können das Programmiermodell JAX-WS (Java API for XML-Based Web) verwenden, um Web-Services zu entwickeln. JAX-WS vereinfacht die Anwendungsentwicklung mit einem standardisierten, annotationsbasierten Modell für die Entwicklung von Web-Service-Anwendungen und -Clients. Ein allgemeiner Satz von Bindungsregeln für XML- und Java-Objekte vereinfacht die Einbindung von XML-Daten und die Verarbeitung von Funktionen in Java-Anwendungen. Ein weiterer Satz mit Erweiterungen unterstützt Sie bei der optimalen Versendung binärer Anhänge, wie z. B. Bildern oder Dateien, mit den Web-Service-Anforderungen.

      Version 9.0 bietet Unterstützung für Singleton-Session-Enterprise-Beans als JAX-WS-Endpunkte. Singleton-Session-Beans sind in Situationen hilfreich, in denen eine einzige Instanz einer Implementierungsbean für einen Web-Service-Endpunkt erforderlich ist, um alle Anforderungen zu verarbeiten, die für einen bestimmten Web-Service-Endpunkt empfangen werden. Möglicherweise muss diese einzige Instanz der Bean Statusinformationen für mehrere Anforderungen nutzen. Gewöhnlich wird für die Verarbeitung jeder Anforderung eine neue Instanz einer Implementierungsbean für den Web-Service-Endpunkt erstellt.

      Wenn Sie einen JAX-WS-Web-Service aus vorhandenen JavaBeans oder Stateless- bzw. Singleton-Session-Enterprise-Beans erstellen, können Sie die Bean unter Verwendung von Annotationen als JAX-WS-Web-Service bereitstellen. Wenn Sie der Bean die Annotation "@WebService" oder "@WebServiceProvider" hinzufügen, definieren Sie die Bean damit als JAX-WS-Web-Service. Als JAX-WS-Web-Services bereitgestellte Enterprise-Beans müssen in Modulen der EJB Version 3.0 oder höher gepackt werden.

      Die Umsetzung einer vorhandenen Anwendung in Web-Services wird bei der Entwicklung von Web-Services als Bottom-Up-Ansatz bezeichnet. Dieser Prozess wird als Bottom-Up-Ansatz bezeichnet, weil Sie mit der Implementierung und nicht mit einem vorhandenen Service oder WSDL-Datei (Web Services Description Language) beginnen.

    3. Entwickeln und implementieren Sie JAX-WS-Web-Service-Clients. Web-Service-Clients, die auf JAX-WS-Web-Services zugreifen und diese aufrufen können, werden auf der Basis der Spezifikation "Web Services for Java Platform, Enterprise Edition (Java EE)" entwickelt. Der Anwendungsserver unterstützt EJB-Clients, Java EE-Anwendungsclients, JSP-Dateien (JavaServer Pages) und Servlets, die auf dem Programmiermodell JAX-WS basieren.
    4. Entwickeln Sie Web-Service-Anwendungen aus vorhandenen WSDL-Dateien mit JAX-RPC.

      Sie können einen JAX-RPC-Web-Service unter Verwendung eines Top-down-Ansatzes für die Entwicklung von Web-Services aus einer vorhandenen WSDL-Datei erstellen, in der die Serviceschnittstelle einer Enterprise-Bean-Implementierung beschrieben wird.

    5. Entwickeln Sie Web-Service-Anwendungen mit JAX-RPC.

      Sie können das Programmiermodell JAX-RPC (Java API for XML-based RPC) verwenden, um Web-Services zu entwickeln. Wenn Sie einen JAX-RPC-Web-Service mit vorhandenen JavaBeans oder Enterprise-Beans als Ausgangspunkt entwickeln, müssen Sie eine WSDL-Datei entwickeln. Sie können vorhandene JavaBeans oder Enterprise-Beans verwenden und anschließend die Implementierung für Web-Services aktivieren.

    6. Entwickeln und implementieren Sie JAX-RPC-Web-Service-Clients. Sie können Web-Service-Clients auf der Basis der Spezifikation "Web Services for Java Platform, Enterprise Edition (Java EE)" und der Spezifikation "Java API for XML-based Remote Procedure Call (JAX-RPC)" entwickeln. Der Anwendungsserver unterstützt EJB-Clients, Java EE-Anwendungsclients, JSP-Dateien (JavaServer Pages) und Servlets, die auf dem Programmiermodell JAX-RPC basieren.
    7. Aktivieren Sie Web-Services über die Serviceintegrationstechnologien.
      Mit der Web-Service-Aktivierung des Service Integration Bus können Sie die folgenden Ziele erreichen:
      • Sie können einen an einem Busziel verfügbaren internen Service als Web-Service bereitstellen.
      • Sie können einen externen Web-Service an einem Busziel intern bereitstellen.
      • Sie können das Web-Service-Gateway verwenden, um einen vorhandenen Service (einen internen Service oder einen externen Web-Service) einem neuen Web-Service zuzuordnen, der vom Gateway bereitgestellt wird.

    Sie können Web-Services entwickeln, um die Vorteile der Unterstützung von Web Services Addressing (WS-Addressing), Web Services Resource Framework (WSRF) und Web Services Transaction (WS-Transaction) zu nutzen.

    • Verwenden Sie die WS-Addressing SPI, um erweiterte Web-Services-Addressing-Tasks auszuführen.

      Sie können Web-Services entwickeln, um die Unterstützung für Web Services Addressing (WS-Addressing) zu nutzen. WS-Addressing unterstützt die Interoperabilität zwischen Web-Service über eine Standardmethode für die Adressierung von Web-Services und die Bereitstellung von Adressierungsinformationen in Nachrichten.

    • Erstellen Sie statusabhängige Web-Services mit dem Web Services Resource Framework.

      Mit der Unterstützung für Web Services Resource Framework (WSRF) im Anwendungsserver können Sie einen statusabhängigen Web-Service als WS-Ressource implementieren und über eine WS-Addressing-Endpoint-Referenz auf diese Ressource verweisen.

    • Verwenden Sie die WS-Transaction-Richtlinie, um Transaktionen oder Geschäftsaktivitäten für Web-Services zu koordinieren.

      WS-Transaction ist ein Interoperabilitätsstandard, der die Spezifikationen WS-AtomicTransaction, WS-BusinessActivity und WS-Coordination enthält. Die Unterstützung für WS-AT (Web Services Atomic Transaction) im Anwendungsserver stellt transaktionsorientierte Servicequalität für die Web-Service-Umgebung bereit. Verteilte Web-Service-Anwendungen und die von ihnen verwendeten Ressourcen können so an verteilten globalen Transaktionen teilnehmen. Mit der WS-BA-Unterstützung (Web Services Business Activity) können Web-Services auf unterschiedlichen Systemen Aktivitäten koordinieren, die loser gekoppelt sind als atomare Transaktionen. Solche Aktivitäten können möglicherweise nur schwer oder gar nicht rückgängig gemacht werden und erfordern im Falle eines Fehlers einen Kompensationsprozess.

    • Verwenden Sie WS-Policy, um Richtlinien in einem Standardformat auszutauschen.

      WS-Policy ist ein Interoperabilitätsstandard, der verwendet wird, um die Richtlinien eines Web-Service so zu beschreiben und zu kommunizieren, dass die Service-Provider Richtlinienanforderungen in einem Standardformat exportieren können. Clients können die Service-Provider-Anforderungen mit ihren eigenen Leistungsmerkmalen kombinieren, um die für eine bestimmte Interaktion erforderlichen Richtlinien festzulegen.

  4. Assemblieren Sie Web-Services.

    Lesen Sie den Artikel, in dem die Voraussetzungen und die Reihenfolge für das Assemblieren eines Web-Service zu einer EAR-Datei beschrieben werden.

  5. Implementieren Sie Web-Services.

    Lesen Sie den Artikel, in dem die erforderlichen Schritte für die Implementierung der EAR-Datei beschrieben werden, die für Web-Services konfiguriert und aktiviert wurde.

  6. Verwalten Sie die implementierten Web-Services.

    Nachdem Sie Ihre Web-Service-Anwendung implementiert haben, können Sie Sicherheitseinstellungen konfigurieren, Implementierungsdeskriptoren und WSDL-Dokumente anzeigen, den Geltungsbereich eines Web-Service-Ports festlegen und Richtliniensätze und Service-Provider verwalten. Diese Tasks können über die Administrationskonsole oder mit Befehlszeilentools ausgeführt werden.

  7. Sichern Sie Ihre Web-Services.
  8. Veröffentlichen Sie die WSDL-Datei.

    Nach der Installation einer Web-Service-Anwendung und der Änderung der Endpunktinformationen (optional) benötigen Sie möglicherweise WSDL-Dateien, die die aktualisierten Endpunktinformationen enthalten. Lesen Sie den Artikel, in dem beschrieben wird, wie Sie die WSDL-Dateien veröffentlichen, um diese Informationen verfügbar zu machen.

  9. Überwachen Sie die Leistung der Web-Service-Anwendungen.

    Lesen Sie den Artikel, in dem beschrieben wird, wie Sie mit Performance Monitoring Infrastructure (PMI) die erforderliche Zeit für die Verarbeitung von Web-Service-Anforderungen messen können.

  10. Führen Sie die Fehlerbehebung für Web-Services durch.

    Machen Sie sich mit der Fehlerbehebung für unterschiedliche Prozesse vertraut, die für die Entwicklung, Implementierung und Nutzung von Web-Services, einschließlich Befehlszeilentools, verwendet werden. Die Informationen beziehen sich auf Java-Kompilierfehler, Clientlaufzeitfehler und -ausnahmen, Serialisierungs- und Entserialisierungsfehler sowie Authentifizierungsanforderungen und -fehler in Web Services Security.

Beispiel

Das folgende Beispiel veranschaulicht, wie Web-Services in einem Geschäft eingesetzt werden können.

Der Inhaber eines Blumengeschäfts möchte seinen Kunden ermöglichen, Bestellungen über das Web aufzugeben. Zunächst sucht er nach Großhändlern, erfragt deren Preise und vereinbart die Abwicklung künftiger Blumenbestellungen.

Die Großhändler kann der Inhaber des Blumengeschäfts mit einem Web-Service finden. Eine Möglichkeit, neue Lieferanten zu finden, ist die Verwendung einer UDDI-Registry (Universal Description, Discovery and Integration), um potenzielle Lieferanten zu suchen. Wenn die Lieferanten ausgewählt werden, sendet die Registry Informationen darüber zurück, wie die Blumenlieferanten kontaktiert werden können, die den Kriterien des Blumenladenbesitzers entsprechen.

Von jedem der potenziellen Lieferanten kann der Ladeninhaber Preislisten (in Form einer WSDL-Datei) anfordern. Jeder Lieferant kann seine WSDL auf seiner Webseite zum Download bereitstellen, per E-Mail verschicken oder über seinen Eintrag in der UDDI-Registry zur Verfügung stellen.

Die WSDL beschreibt den Prozeduraufruf. Wenn Sie den Anwendungsserver verwenden, ist der Prozeduraufruf ein JAX-RPC- oder JAX-WS-Prozeduraufruf. Bei Prozeduraufruftypen rufen die Preisliste ab. Die WSDL-Datei gibt außerdem den URL (Universal Resource Locator) an, an den die Anforderung zu senden ist.

Jetzt kann der Inhaber des Blumengeschäfts die von den einzelnen Lieferanten empfangenen Preise vergleichen, sich für bestimmte Lieferanten entscheiden und Vereinbarungen über künftige Bestellungen treffen. Damit ist der Grundstein dafür gelegt, dass der Blumenladen Waren über das web verkaufen kann. Preisverhandlungen mit den Lieferanten und die Abwicklung der Bestellung erfolgen über Web-Services. Nun muss der Ladeninhaber eine Liste seiner Waren mit den zugehörigen Preisen auf seiner Website veröffentlichen und einen Mechanismus bereitstellen, über den die Kunden Blumen bestellen können.

Die Web-Service-Clients der Blumenlieferanten werden auf dem Server des Blumengeschäfts implementiert. Wenn ein Kunde eine Transaktion ausführt, um Blumen über das Web zu kaufen, wird die Bestellung über den Prozeduraufruf an den Lieferanten gesendet. Der Lieferant sendet eine Bestätigung mit Bestellnummer und Lieferdatum an den Kunden zurück. Die Lieferanten verwalten den Warenbestand und der Inhaber des Blumengeschäfts kümmert sich um die Rechnungen und die Verwaltung der Kundenbestellungen.

In ähnlicher Weise kann automatisch ein Katalog des Blumengeschäfts aus den Katalogen jedes Lieferanten zusammengestellt werden. Wenn der Lieferant die Ware direkt an den Kunden schickt, kann die Überwachung der Bestellungen direkt an das Bestellüberwachungssystem des Lieferanten übergeben werden. Der Lieferant kann Web-Services auch verwenden, um Rechnungen für Bestellungen vom Blumengeschäft zu senden. Prozesse, für die bisher Formulare ausgefüllt werden mussten, die dann per Telefax oder Post verschickt wurden, können jetzt automatisch ausgeführt werden. Das spart Arbeitskosten für das Blumengeschäft und den Lieferanten.

Die Nutzung von Web-Services ist für das Blumengeschäft von Vorteil, da es ein weit größeres Warensortiment anbieten kann. Es müssen keine Warenbestände vorgehalten werden. Dennoch kann der Inhaber des Blumengeschäfts seinen Kunden Produkte anbieten, die er sonst vielleicht nicht im Sortiment gehabt hätte. Der Verkauf von Blumen über das web vermehrt das Kapital des Blumengeschäfts, ohne das Kosten für einen weiteren Laden anfallen oder Ressourcen in ein zusätzliches Produktsortiment investiert werden müsste.

Ein ausführlicheres Szenario wird im Artikel "Web-Service-Szenario: Übersicht" beschrieben. Dieses Szenario erzählt die Geschichte eines fiktiven Onlinegartencenters mit dem Namen "Plants by WebSphere" und veranschaulicht das dort integrierte Web-Service-Konzept.

Weitere Beispiele, JAX-WS- und JAX-RPC-Web-Services demonstrieren, finden Sie im Abschnitt "Beispiele" im Information Center.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_usewbs
Dateiname:twbs_usewbs.html