- 15. Mai 2013

SAP NetWeaver Cloud Development – Web Service Integration mit JAX-WS

Dies ist ein Gastbeitrag von Christian Wiegleb, SAP Consultant bei der mindsquare GmbH.

Ziel

SAP NetWeaver Cloud

SAP NetWeaver Cloud

Dieser Artikel beschreibt, wie ein Web Service mit Hilfe von JAX-WS von einer SAP NetWeaver Cloud Application  über ein Servlet konsumiert werden kann. Der Beitrag setze dabei auf das SAP NetWeaver Cloud SDK auf und zeigt prototypisch das Potential der Entwicklungs-Infrastruktur. Außerdem wird dadurch eine Art der Kommunikation aufgezeigt, welche – meiner Meinung nach – das SDK leider nicht als „Example“ bietet.

Exkurs SAP NetWeaver Cloud

Sofern noch keine Erfahrungen mit Cloud Development gesammelt werden konnten, hier noch ein kurzer Abschnitt was die SAP AG darunter versteht:

Mit SAP NetWeaver Cloud hat die SAP AG eine Plattform schaffen wollen(PaaS), die es Kunden und Partner ermöglicht Applikationen auf Java-Basis zu entwickeln und diese in der Cloud zu veröffentlichen  bzw. zu verwenden.

Die SAP AG bezeichnet SAP NetWeaver Cloud selber als Development Kit, welches auf aktuellen Industrie-Cloud-Standards beruht und Eclipse-basiert ist. Die Plattform unterstützt dabei den kompletten Lebenszyklus über Entwicklung bis hin zur Verteilung der Software.

Weitere Information auf SAP

Vorteile für Kunden

Für Kunden ergeben sich aus meiner Sicht die Vorteile, dass durch eine voll funktionsfähige Infrastruktur und standardisierte Schnittstellen zu Backend-Systemen (durch SAP NetWeaver Cloud SDK) die Möglichkeit geschaffen wird, effizient Applikationen entwickeln zu lassen und die administrativen Kosten niedrig zu halten.

Vorbedingungen

Für die Entwicklung der Hello Cloud Application müssen noch folgende Schritte vorher ausgeführt werden:

  1. Zunächst wird ein SAP SCN Account bzw. Developer Account benötigt, um Applikation zu deployen bzw.  zu administrieren.

    Signing up for an Account
  2. Für die Entwicklung der Applikation müssen anschließend alle relevanten Tools  heruntergeladen und konfiguriert werden.

    Setting Up the Tools and SDK

Entwicklung der Applikation

Und nun kann auch schon die Entwicklung der Hello Cloud Application beginnen. Insgesamt sind nur sieben Schritte notwendig, um mit Hilfe der bereitgestellten Tools einen Web Service innerhalb einer Cloud Application zu konsumieren.

  1. Anlegen eines dynamischen Web Projektes
    Zunächst wird ein dynamisches Web Projekt mit den cloud-spezifischen Einstellungen in Eclipse angelegt, sodass alle wesentlichen Libraries dem Classpath / Buildpath hinzugefügt und Ordnerstrukturen angelegt werden.
  2. Auswahl eines geeigneten Web Services (JAX-WS kompatibel)
    Anschließend wird ein JAX-WS kompatibler Web Service gesucht, welcher vom Servlet konsumiert werden kann. In unserem Fall soll zu einer IP-Adresse das Land sowie der Ländercode ermittelt werden.WSDL
  3. Mit Hilfe von wsimport JAX-WS Artefakte generieren
    Mit Hilfe des Programms wsimport werden daraufhin zu dieser WSDL-Datei alle relevanten Java-Artefakte generiert, sodass objektorientiert auf den Service zugegriffen werden kann. Es ist dabei zu beachten, dass der Classpath korrekt gesetzt wird und die generierten Dateien im src-Verzeichnis des dynamischen Web Projektes abgelegt werden.WSIMPORT HowTO
  4. Servlet anlegen
    Jetzt wechseln wir wieder in Eclipse und legen ein Servlet an.
  5. Service konsumieren (JAX-WS-Artefakte im Servlet einbinden)
    Die generierten Java-Artefakte bzw. der Web Service kann nun, wie im folgenden Listing dargestellt, konsumiert werden.
  6. Deploy der Anwendung
    Im Anschluss daran wird das dynamische Web Projekt deployed. In Eclipse öffnet sich automatisch  der integrierten Browser und zeigt das gewünschte Ergebnis oder den typischen Java-Fehlerstack an.
  7. Login in Cloud
    Über den Cloud-Account kann anschließend die Applikation verwaltet sowie konfiguriert werden.SAP NetWeaver (Trial) Cloud AccountHello Cloud Application (Geo IP Service)

SHARE