Mit WADL Servicedokumentation generieren

Web Application Description Language (WADL) ist eine Beschreibungssprache für HTTP-basierte Anwendungen. Gegenwärtig hat WADL den Status einer Eingabe gemäß World Wide Web Consortium (W3C). WADL kann von Programmen verwendet werden, um Informationen zum Service in einem von Maschinen verarbeitbaren Verfahren bereitzustellen. Beispielsweise können Sie ein XSLT-Dokument (Extensible Stylesheet Transformation) verwenden, um die WADL-Dokumentation mit einer angepassten XSLT (Extensible Stylesheet Language Transformation) und einem XSLT-Prozessor umzuwandeln.

Informationen zu diesem Vorgang

Standardmäßig können Sie ein WADL-Dokument für eine bestimmte Ressource anfordern, indem Sie eine HTTP-OPTIONS-Anforderung für einen JAX-RS-URL (Java™ API for RESTful Web Services) aufrufen. Sie können eine OPTIONS-Anforderung mit den meisten HTTP-Clients absetzen. Das WADL-Dokument, das von der Anforderung zurückgegeben wird, beschreibt die Ressource anhand von Informationen aus den JAX-RS-Annotationen.

WADL ist ein Entwicklungsstandard, der hilft, die für Benutzer verfügbaren Services zu beschreiben. WADL-Dokumente werden in XML geschrieben. Mit XSTL- oder XML-Parsern können Entwickler Dokumentation für den Server generieren. In einigen Fällen können Benutzer Clients entwickeln, um den REST-konformen Service (RESTful) durch Überprüfen des WADL-Dokuments dynamisch zu erfassen.

Mit IBM® JAX-RS können Entwickler eine JAXB-XML-Darstellung eines WADL-Dokuments generieren, die alle in der Anwendung verfügbaren Ressourcen beschreibt. Die JAXB-Darstellung kann von einer JAX-RS-Ressourcenmethode zurückgegeben werden. Dann wird die Ressource des WADL-Dokuments wie jede andere JAX-RS-Ressource behandelt und kann von Clients verwendet werden.

Vorgehensweise

  1. Konfigurieren Sie die Entwicklungsumgebung.
    1. Bevor Sie mit dem Entwickeln von JAX-RS-Anwendungen beginnen, müssen Sie Ihre Entwicklungsumgebung konfigurieren, indem Sie die JAX-RS-Bibliotheken im Klassenpfad hinzufügen.
  2. Definieren Sie die Ressourcen in den JAX-RS-Webanwendungen.
    1. Ressourcen sind die Grundbausteine eines REST-konformen Service. Ressourcen können statische oder dynamisch aktualisierte Daten enthalten. Im Falle einer Onlinebuchhandlung sind Ressourcen beispielsweise ein Buch, eine Bestellung von einem Geschäft, ein Benutzerverbund. Wenn Sie die Ressourcen in Ihrer Anwendung definieren, können Sie den Service effizienter machen und so gestalten, dass er einfacher entwickelt werden kann.
  3. Konfigurieren Sie die JAX-RS-Anwendung.

    Sie können JAX-RS-Anwendungen je nach Anforderungen auf unterschiedliche Weise konfigurieren. Um die Funktionen von Java Platform, Enterprise Edition (Java EE) 6 zu nutzen, können Sie die Scanfunktionen für Annotationen verwenden. Wenn Sie die Scanfunktionen für Annotationen verwenden, können Sie eine JAX-RS-Unterklasse vom Typ "javax.ws.rs.core.Application" ausschließen oder eine minimal definierte Unterklasse "javax.ws.rs.core.Application" verwenden. Alternativ können Sie das IBM JAX-RS-Servlet bzw. den IBM JAX-RS-Filter angeben, wenn Sie die im IBM JAX-RS-Servlet bzw. -Filter enthaltenen Funktionen verwenden möchten.

    Wenn Sie eine der Konfigurationsmethoden der JAX-RS Version 1.1 verwenden, können Sie eine Unterklasse "javax.ws.rs.core.Application" in Ihrer Anwendung ausschließen oder eine Unterklasse "javax.ws.rs.core.Application" verwenden, die einen leeren Satz von Klassen zurückgibt, um die JAX-RS-Laufzeitumgebung anzuweisen, alle JAX-RS-Klassen in der Anwendung zu suchen und zu verwenden. Sie können diese Methode verwenden, wenn Sie beim Entwickeln der Anwendung nicht jede relevante JAX-RS-Klasse manuell einer Unterklasse "javax.ws.rs.core.Application" hinzufügen möchten.

    Durch die Angabe des speziellen IBM JAX-RS-Servlets und -Filters können Sie bestimmte IBM JAX-RS-Verhalten nutzen und sicherstellen. Die Verwendung des IBM JAX-RS-Filters kann beispielsweise bei der Entwicklung einer Webanwendung mit einer Mischung von JAX-RS-Ressourcen und JSP-Dateien (JavaServer Pages) mit denselben URL-Mustern hilfreich sein.

    Obwohl es eine Konfigurationsmethode der JAX-RS Version V1.1 gibt, die die Verwendung einer optionalen Datei "web.xml" unterstützt, müssen Sie Integritätsbedingungen für die Sicherheit oder Rollen und andere Features, die Sie verwenden möchten und die über eine Datei "web.xml" aktiviert werden, in einer Datei "web.xml" angeben.

    Wählen Sie eine der folgenden drei Methoden aus, um Ihre JAX-RS-Anwendung zu konfigurieren:

    • JAX-RS-Anwendungen mithilfe von Methoden der JAX-RS Version 1.1 konfigurieren

      Verwenden Sie diese Methode, wenn Sie die Scanfunktionen für Annotationen oder die Konfigurationsmethoden der JAX-RS Version 1.1 verwenden möchten. Sie können die Scanfunktionen für Annotationen verwenden, um die Portierbarkeit von Anwendungen zu fördern, das Konfigurationscodevolumen zu minimieren oder die Anwendung dynamisch zu ändern, ohne Änderungen am Anwendungscode vorzunehmen.

    • Datei "web.xml" für JAX-RS-Servlets konfigurieren

      Verwenden Sie diese Methode, wenn Sie Features, die über Initialisierungsparameter für Servlets aktiviert werden, angeben möchten, um das Verhalten zu ändern und um sicherzustellen, dass Sie das IBM JAX-RS-Servlet erhalten. Wenn Sie Servlets verwenden möchten, können Sie einen Servletpfad in der Datei "web.xml" definieren, der an den Basis-URL angefügt wird.

    • Datei "web.xml" für JAX-RS-Filter konfigurieren

      Verwenden Sie diese Methode, um den Filter zu verwenden, wenn Sie JSPs, andere Servlets und Filter sowie JAX-RS-Ressourcen mit verschiedenen URL-Mustern haben. Sie können die Datei "web.xml" konfigurieren, um Filter zu definieren, die die möglichen URLs angeben, unter denen der Filter aufgerufen werden kann.

  4. Verwenden Sie WADL, um Servicedokumentation zu generieren. Dann können Sie Ihr eigenes WADL-Dokument mit dem org.apache.wink.common.model.wadl.WADLGenerator erstellen. WADLGenerator erstellt ein annotiertes JAXB-Objektmodell (Java Architecture for XML Binding), das einfach als Entitätsantwort in einer @OPTIONS-Ressourcenmethode zurückgegeben werden kann.
  5. Assemblieren Sie JAX-RS-Webanwendungen.
    1. Nachdem Sie die Java-Klassendateien für Ihre JAX-RS-Webanwendung entwickelt und die Datei "web.xml" bearbeitet haben, um das JAX-RS-Servlet zu aktivieren, können Sie die Anwendung assemblieren. Assemblieren Sie die Webanwendung in einem WAR-Paket. Sie können das WAR-Paket in einem EAR-Paket (Unternehmensarchiv) assemblieren, falls dies erforderlich ist.
  6. Implementieren Sie JAX-RS-Webanwendungen.
    1. Wenn Sie die JAX-RS-Webanwendung assembliert haben, müssen Sie das WAR-Paket oder das EAR-Paket auf dem Anwendungsserver implementieren.

Ergebnisse

Sie haben ein WADL-Servicedokument zu Ihrer Anwendung hinzugefügt, um eine Darstellung Ihres Service abzurufen. Standardmäßig können Sie auch OPTIONS-Anforderungen an Ihre Ressourcen absetzen, um eine WADL-Darstellung der einzelnen Ressource abzurufen. Wenn Sie sich dazu entschieden haben, können Sie die automatische Generierung eines WADL-Dokuments für OPTIONS-Anforderungen inaktivieren.


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_jaxrs_wink_wadl
Dateiname:twbs_jaxrs_wink_wadl.html