WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine...

20
| WebServices mit Java SE und EE Wolfgang Nast Nürnberg, 21.11.2012

Transcript of WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine...

Page 1: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

WebServices mit Java SE und EE

Wolfgang Nast

Nürnberg, 21.11.2012

Page 2: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

||

MT AG

WebServices mit Java SE und EE

Daten und Fakten

� Hamburg

� Dortmund� Ratingen

� Frankfurt

Luxemburg �

HauptsitzRatingen

NiederlassungenHamburg, Dortmund, Frankfurt,Luxemburg

TochtergesellschaftenMT-ifs GmbH, MT-ics GmbH

Beschäftigte (2012)220 Festangestellte80 Freiberufler

Als anerkannter Partner der führenden Technologiehersteller verbinden wir die Agilität eines mittelständischen Unternehmens mit der Lösungskompetenz internationaler Beratungshäuser.

2

Page 3: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

||

WebServices mit Java SE und EE

WebServices mit Java SE und EE

1. Java SE mit SOAP

2. Java EE mit SOAP

3. Java EE mit REST

3

Page 4: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

WebService in Java SE

• WebService in SOAP

• Keine REST WebService

• Interner WebServer von Java SE (HTTP)

• Keine SSL Verschlüsselung (kein HTTPS)

WebServices mit Java SE und EE4

Page 5: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

WebService in Java EE

• WebService in SOAP

• REST WebService

• AppServer muss passend konfiguriert werden

• HTTP und HTTPS

• AppServer mit WebProfile sind eingeschränkt

WebServices mit Java SE und EE5

Page 6: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

||

SOAP WebServices

WebServices mit Java SE und EE6

Page 7: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

SOAP WebService

• Interface mit Beschreibung WSDL

• Realisierung in Java

• JAX-WS

• Top Down = WSDL � Java

• Bottom Up = Java � WSDL

WebServices mit Java SE und EE7

Page 8: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

REST WebService

� Realisierung in Java

- JAX-RS

� Keine formale Interface Beschreibung

� Verwender muss den Service kennen

WebServices mit Java SE und EE8

Page 9: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

||

SOAP Beispiele

WebServices mit Java SE und EE9

Page 10: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

Realisierung mit WSDL

� Interface definieren mit Hello.wsdl

� Java Teil generieren mit Programm wsimport

� Realisierung in Java umsetzen

� WebServices im Endpoint veröffentlichen

WebServices mit Java SE und EE10

Page 11: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

Realisierung Top Down mit wsimport

� In das Verzeichnis „gen“ die Java-Dateien generieren:

� wsimport -d gen -Xnocompile Hello.wsdl

� Den Client für den Aufruf als Jar Bibliothek generieren:

� wsimport -clientjar HelloWS.jar Hello.wsdl

• wsimport mit Ant

• wsimport mit Maven

WebServices mit Java SE und EE11

Page 12: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

Realisierung Endpoint

� Endpoint.publish(URL_TO_WS, new ServerHello());

� Bei GlassFish War-Datei erstellen und deployen

WebServices mit Java SE und EE12

Page 13: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

Realisierung Bottom Up mit Annotation

1. Realisierung in Java umsetzen

2. Annotation an der Realisierung eintragen

3. WebServices im Endpoint veröffentlichen

4. WSDL wird vom Server automatisch generiert

WebServices mit Java SE und EE13

Page 14: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

Realisierung SOAP mit Annotation

• An Klasse @WebService mit den Parametern

• An Methode @WebMethod und die Parameter

• Optional an Klasse @MTOM

WebServices mit Java SE und EE14

Page 15: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

||

REST Beispiele

WebServices mit Java SE und EE15

Page 16: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

Realisierung REST

� An der Klasse @Path mit dem Pfad angeben

� An der Methode @GET/@PUT/@SET/@DELETE angeben

� @Path an der Methode angeben

� @Produces mit „MediaType“ angeben

� Optional @Consumes angeben

� Bei den Parametern den Typ der Parameter

WebServices mit Java SE und EE16

Page 17: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

REST in Server eintragen web.xml

� In web.xml REST-Servlet eintragen:

<servlet>

<servlet-name>Jersey REST Service</servlet-name>

<servlet-class>

com.sun.jersey.spi.container.servlet.ServletContainer

</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

� Servlet-Mapping eintragen:

<servlet-mapping>

<servlet-name>Jersey REST Service</servlet-name>

<url-pattern>/Daten/*</url-pattern>

</servlet-mapping>

WebServices mit Java SE und EE17

Page 18: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

||

Fragen ?

WebServices mit Java SE und EE18

Page 19: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

||

Besuchen Sie auch unsere weiteren Vorträge auf der DOAG 2012

WebServices mit Java SE und EE

Dienstag, 12 Uhr, Raum Riga

Dienstag, 13 Uhr, Raum Seoul

Dienstag, 14 Uhr, Raum Stockholm

Dienstag, 15 Uhr, Raum Kopenhagen

Dienstag, 16 Uhr, Raum Stockholm

Mittwoch, 13 Uhr, Raum Riga

Mittwoch, 15 Uhr, Raum Riga

Mittwoch, 16 Uhr, Raum Seoul

Donnerstag, 09 Uhr, Raum Istanbul

Donnerstag, 14 Uhr, Raum Konf. EG

Donnerstag, 15 Uhr, Raum Istanbul

Donnerstag, 16 Uhr, Raum Oslo

Dynamisch Unterschiede in Datensätzen auf Feldebene finden by S.O. Kelbert

Route to ASM by Ernst Leber

Automatische Generierung der ETL-Prozesse OWB vs. ODI by Irina Gotlibovych

Wiederverwendung von bestehendem PL/SQL Code in ADF Anwendungen by

Hendrik Gossens

„Managed Code“ mit OWB – Methoden und Wege by Bernhard Rosenberger

Dateizugriff mit new I/O 2 by Wolfgang Nast

WebServices in Java SE und EE by Wolfgang Nast

Das Mysterium OPatch by Volker Mach

Das größte APEX Projekt der Welt @ Union Investment by Niels de Bruijn

Testen mit Pfefferminzgeschmack by Birgit Kratz

APEX goes UNIT Testing by Oliver Lemm

SOA verspielt – rekursive BPEL Prozesse by Guido Neander

19

Page 20: WebServices mit Java SE und EE - doag.org fileWebService in Java SE • WebService in SOAP • Keine REST WebService • Interner WebServer von Java SE (HTTP) • Keine SSL Verschlüsselung

|

Vielen Dank.MT AG

Balcke-Dürr-Allee 9

40882 Ratingen

Telefon: +49 (0) 21 02 309 61-0

Telefax: +49 (0) 21 02 309 61-10

E-Mail: [email protected]

www.mt-ag.com