JAX 07: Web Services mit JAX-WS

Idee

  • Vereinheitlichung der verschiedenen aktuell genutzten Herangehensweisen (AXIS, Fire, RI,…)
  • Interoperabilität mit Fremdsystemen (.NET)
  • State-of-the-Art Model für die Entwicklung

Historie

Object / XML Mapping

  • mittels JAXB (2.x)
  • hohe Performance
  • ebenfalls auch als einzelnes Projekt verfügbar
  • > http://jaxb.dev.java.net

WSDL to Service

  • Ausgangspunkt WSDL, Skeleton bauen, Annotation @WebService(endpointInterface(name=“AddNumbersPort“))
  • Deploy 1: Klasse Endpoint; Methode publish. Integriert in JAX-WS
  • Deploy 2: über JAX-WS im Web Cotainer, com.sun.xml.transport.http.servlet WSServlet – für „spezielel „Wünsche, zB Load Balancing
  • Deploy: interner Server für Service Deployment
  • Deploy: main-Methode + Endpoint.publish(„http://localhost:8080/addnumbers“)
  • Nutze Annotatins für Konfiguration! @WebMethod, @WebResult, @RequestWrapper…
  • Aufruf wie gewohnt über http://localhost:8080/addnumbers?wsdl

WAX-WS Handler

  • Logical Handler – Unabhängig vom Protokoll, Zugriff auf Nachrichteninhalt
  • SOAP HAndler – Zugriff auf vollständige Nachricht + SOAP HEader

Remote Persistent Objects

  • Client <-> Hibernate JPS Service <-> POJOs
  • Annotationen: @Stateful @WebService @Adressing
  • Zugabe Annotation: @Entity = JPA! reicht aus für die Kennzeichnung als persistentes Objekt

JAX-WS und Java 6

  • kein ANT Task vorhanden. Wenn Einsatz mit ANT geplant muss die Standalone-Version verwendet werden
  • meist ältere Versionen. Bei der Erstellung von JRE’S wird jeweils der Snapshot des JAX-WS-Repositorys verwendet, was bei aktueller Entwicklungsgeschwindigkeit schnell outdated sein kann
  • Update über Java Extensions Mechanismus möglich
  • Besserung in Java 7 (Modulkonzept) in Sicht (?)

thanks to Andreas Holubek! Great!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert