Java Web Services mit Apache Axis2



Ähnliche Dokumente
Java Web Services mit Apache Axis2 Entwickler

Java Web Services mit Apache Axis2

E-Business Architekturen

Axis2, CXF und JAX-WS RI im Vergleich

Auszug aus Axis2 Schulung

Friedrich. Kiltz. Java Webservices

Organisation und Systeme SOA: Erstellung von Templates für WebService Consumer und Provider in Java

3-schichtige Informationssystem-Architektur

Axis2, CXF und JAX-WS RI im Vergleich

Spring Dynamic Modules for OSGi Service Platforms

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

Vertiefte Grundlagen Graphentheorie

Etablierung serviceorientierter Architekturen mit Web Services

Auszug aus Axis2 Übungen

SOA mit.net: Vom Geschäftsprozess zur Lösung

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Softwareentwicklung mit Enterprise JAVA Beans

Christoph Mathas. SOA intern. » Praxiswissen zu Service-orientierten IT-Systemen HANSER

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Architecture Blueprints

Zustandsgebundene Webservices

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Vorwort Azure Cloud Computing mit Microsoft Danksagungen Kontakt zum Autor... 13

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

SE2-10-Entwurfsmuster-2 15

Implementierung von Web Services: Teil I: Einleitung / SOAP

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Schneller, höher, weiter Die erweiterten Amt24-Schnittstellen. Klaus-Peter Geyer (T-Systems)

Auszug aus JAX-WS Folien

PL/SQL Web-Services mit Oracle 11g

Web Services mit Java

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

Java und XML 2. Java und XML

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010

Themen. Web Service - Clients. Kommunikation zw. Web Services

Bachelorarbeit. Modellierung interaktiver Web Service Workflows. Thema: Benjamin Koch. von

ABACONNECT VERWENDUNG VON APACHE TCPMON UTILITY MIT ABACONNECT WEBSERVICES

Vorwort 15. Einleitung 17

WSDL. Web Services Description Language. André Vorbach. André Vorbach

Masterkurs Client/Server-Programmierung mit Java

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

JBoss AS 7. Installation, Konfiguration und Betrieb. Alexander Pacnik Karlsruhe,

Apache AXIS Architektur

CENIT SERVICEMANAGER Pluscard, Saarbrücken Dirk Günther, Produktmanager ECM R&D

Workflow, Business Process Management, 4.Teil

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

... Einleitung Prozessintegration und Integrationsszenarien Integrationsszenariomodelle

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Das Interceptor Muster

Innovative Mainframe-Integration

Enterprise Softwarearchitekturen in Java

1 BizTalk Server-Einführung Einführung in die Entwicklung einer BizTalk-Anwendung... 69

Semantic Web Services

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz

Gradle. Ein kompakter Einstieg in das moderne Build-Management-System ---> Mit einem Geleitwort von Hans Dockter, Erfinder von Gradle

Datenhaltung für Android Model First Christian Ingenhaag, Frederik Götz, Carl Steeg

Kapitel WT:VI (Fortsetzung)

Monitoringvon Workflows in einer BPEL-Engine

Sind Prozessmanagement-Systeme auch für eingebettete Systeme einsetzbar?

Programmierhandbuch SAP NetWeaver* Sicherheit

Zur Definition von Web-Services

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Web- Applikationen. in Java-Web

Security Technologien in Java EE 6

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal

Apache-Tomcat Workshop

AS/point, Ihr Partner die nächsten 10 und mehr Jahre -

NET.Compact Framework

Inhaltsverzeichnis. TeiM. V E E.l E.2 E.3 E.4. Vorwort von Stefan Tilkov Einleitung Zielgruppe Über dieses Buch Konventionen Dank

<Insert Picture Here> Oracle Datenbank Einführung Ulrike Schwinn

.NET-Networking 2 Windows Communication Foundation

Java EE Projektseminar

Evaluation von Open Source-Produkten zur Ausführung Web Service-basierter Geschäftsprozesse

Web-Services - die GIS-Zukunft?

Programmierung für Mathematik (HS13)

Konfigurationsmanagement mit Subversion, Maven und Redmine

Björn Heinemann Leiter Entwicklung Energiewirtschaft

Grundlagen und Best Practices bei der SharePoint Entwicklung

Der Trusted Capital Cloud Marktplatz

WebService in Java SE und EE

Spring Dynamic Modules for OSGi Service Platforms

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

PHP & Windows. Jan Burkl System Engineer, Zend Technologies. All rights reserved. Zend Technologies, Inc.

Liste V Enterprise JavaBeans

easylearn Webservice lsessionservice Interface für Single Sign On (SSO)

Transkript:

Thilo Frotscher, Marc Teufel, Dapeng Wang Java Web Services mit Apache Axis2 ntwickier

Vorwort 13 Wer sollte dieses Buch lesen? 14 Aufbau 14 Wichtiger Hinweis zu den Listings 16 Feedback 16 Danksagung 16 Preface 19 1 Einleitung 21 1.1 Entstehung 21 1.2 Unterstützte Standards 22 1.3 Was beinhaltet Axis2? 23 1.4 Warum Axis2 einsetzen? 24 Bessere Performance durch StAX und AXIOM 24 Flexiblere Kommunikationsinfrastruktur 24 Einfacheres Deployment von Services 24 Bessere Unterstützung während der Entwicklung 24 Erweitertes Handler-Konzept 25 Bessere Unterstützung von aktuellen Standards 25 1.5 Die Zukunft von Axis2 25 2 Web Service Grundlagen 27 2.1 SOAP 27 Nachrichtenformat 28 Verarbeitungsmodell 31 SOAP-Fault 34 Nachrichtenaustausch 36 Protokoll-Binding * 39 SOAP 1.2 vs. SOAP 1.1 41 2.2 WSDL 44 MEPs - Message Exchange Patterns 45 WSDL 1.1 46 WSDL 2.0 52 2.3 Code First vs. Contract First 54 Der Code-First-Ansatz 55 Der Contract-First-Ansatz 58 Einsatz von Contract First bei bereits bestehendem Code 61 Java Web Services mit Apache Axis2 5

3 Erste Schritte 63 3.1 Axis2 Distributionen 63 3.2 Installation von Axis2 64 Die Axis2 Web-Anwendung 64 Standard Distribution 67 3.3 Zentrale Konzepte von Axis2 69 AXIOM 69 Service-Archive 69 Message Receiver 70 Repository 71 3.4 Implementierung einfacher Web Services mit POJOs 72 3.5 Deployment von Services in einem Standalone-Server 80 3.6 Einsatz der Axis2 Web-Anwendung 81 Deployment von Web Services 81 Service-Administration 83 3.7 Entwicklung eines Clients für den SimpleHotelService 85 Direkte Verwendung der Client-API von Axis2 85 Entwicklung von Clients mit Hilfe von Codegenerierung 89 3.8 Geruhsame Nächte mit Axis Hotels 91 4 Entwicklung mit Axis2 93 4.1 Eclipse als Entwicklungsumgebung verwenden 93 Projekteinrichtung 93 Eclipse Web Tools Platform 95 4.2 Axis2 Eclipse Plug-ins 96 Code-Generator-Wizard 96 Service Archiver Wizard 96 4.3 Debugging 98 4.4 Diving into the Sources 99 Den Axis2 Quelltext sichten und browsen 100 Axis2 Quelltext erforschen - Ein kleines Beispiel 101 4.5 Werkzeuge für den Umgang mit SOAP-Nachrichten 103 Apache TCPMon 103 SOAP erforschen und lernen mit TCPMon 106 SOAPMonitor 107 5 5.1 5.2 AXIOM Einführung StAX Push vs. Pull Parsing StAX API XML parsen mit StAX 111 111 111 111 113 114

5.3 AXIOM AXIOM Architektur AXIOM API Caching 122 123 125 132 5.4 Web Service-Implementierung mit AXIOM 135 6 Client-API 141 6.1 6.2 6.3 6.4 ServiceClient Aufrufmuster Request-Response mit blockierendem API Request-Response mit nicht-blockierendem API über eine Verbindung Request-Response mit nicht-blockierendem API über zwei Verbindungen Einweg-Aufruf Zuverlässiger Einweg-Aufruf Clientseitige Konfiguration JavaBean-Properties Generische Properties HTTP Properties OperationClient 141 144 146 147 149 153 154 155 155 157 160 164 7 ' Contract First mit Axis2 169 7.1 7.2 7.3 7.4 Codegenerierung Aufruf von WSDL2Java von der Kommandozeile Axis2 Code-Generator-Wizard für Eclipse Ant-Task Implementierung und Deployment von Services Der Ordner resources Generierter Code und Implementierung des Service Paketierung und Deployment Implementierung von Service-Clients Einwegkommunikation 169 170 177 181 183 183 186 190 190 198 8 Weiterführende Aspekte der Entwicklung 203, 8.1 8-2 8.3 Fehlerbehandlung Definition von Fehlern in XML Schema und WSDL Codegenerierung Lebenszyklus von Services Session-Verwaltung Request-Session-Scope SOAP-Session-Scope Transport-Session-Scope 203 205 208 212 216 219 220 222 Java Web Services mit Apache Axis2

8.4 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 Application-Scope Session-Verwaltung mit Client-Anwendungen Codebeispiel REST Einführung SOAP oder REST? REST in Axis2 konfigurieren HTTP GET HTTP POST HTTP GET oder HTTP POST? Architektur und Konfiguration Interne Verarbeitung von SO AP-Nachrichten Flows Phasen Dispatch-Mechanismus Interne Datenstrukturen: Description und Context Description-Hierarchie Context-Hierarchie Beziehung zwischen Context- und Description-Hierarchien Laden von Konfigurationen Globale Konfiguration Parameter Message Receiver Transporte Global eingeschaltete Module und Modulkonfigurationen Standardmäßige Modulversion Phasen Target Resolver Listeners / Observers Konfiguration von Services Services und Service-Gruppen Bestimmung der Namen von Services und Service-Gruppen WSDL-Dokumente und automatische WSDL-Generierung Elemente der Datei services.xml Service-Parameter Deployment von Services Axis2 Web-Anwendung Standalone-Server Zugriff eines Service auf Context und Konfiguration Zugriff auf Ressourcen im Service-Archiv Start von Axis2 mit entferntem Reoositorv 223 224 224 230 230 231 232 233 234 243 245 246 246 251 255 257 257 259 261 262 263 264 265 265 266 266 266 267 268 270 270 271 271 272 277 279 279 280 281 281 282

10 Handler und Module 285 10.1 Handler 286 Die Schnittstelle Handler 287 Implementierung von Handlern 289 Konfiguration von Handlern 290 10.2 Module 292 Die Schnittstelle Module 293 Konfiguration von Modulen 294 Paketierung und Deployment 299 Engagement 302 Dynamisches Engagement zur Laufzeit 307 11 Data Binding 309 11.1 Grundlagen des XML Data Binding 310 11.2 Code-Generator-Framework 312 11.3 ADB - Axis Data Binding 318 ADB Schema-Compiler 318 ADB Integration in Axis2 322 Codegenerierung 323 11.4 XMLBeans 333 11.5 JiBX 340 11.6 JAXBRI 349 11.7 JAXME 352 11.8 Zusammenfassung 354 12 Message Receiver & ServiceObjectSupplier 357 12.1 Einführung 357 Blick zurück: Provider in Axis 1.x 357 Blick nach vorne: Reise durch die Axis2 Engine 358 12.2 Nachrichtenempfänger 359 Contract First 360 Message Receiver von Innen 360 12.3 Axis2 und Groovy 362 12.4 Message Receiver und WSDL 369 12.5 Enterprise JavaBeans und Axis2 371 Einführung 371 Möglichkeiten, eine EJB zu integrieren 373 Der Bankleitzahlen-Service als EJB 374 Die Realisierung von EJBMessageReceiver 379 EJB als Web Service bereitstellen 380 Java Web Services mit Apache Axis2

12.6 ServiceObjectSupplier 12.7 Spring Framework Einführung Axis2 und das Spring Framework Der Bankleitzahlen-Service als Spring-Bean SpringServletContextObjectSupplier Erforderliche Spring-Bibliothken SpringAppContextAwareObjectSupplier 12.8 Die EJBUtil Implementierung 13 MTOM & SwA 13.1 Base64 & SwA Base64 SwA 13.2 XOP&MTOM XOP MTOM SwA vs. MTOM 13.3 MTOM in Axis2 OMText MTOM Web Service mit AXIOM-API MTOM Data Binding 13.4 SwA in Axis2 13.5 Attachment-Caching 14 Transportprotokolle 14.1 Transportmechanismus TransportListener TransportSender 14.2 Aktivierung von Transportprotokollen auf Service-Ebene 14.3 HTTP Transport Receiver für Standalone-Modus SimpleHttpServer in eigene Applikationen einbetten CommonsHTTPSender 14.4 TCP 14.5 Mail Transport (SMTP) Konfiguration des Mail-Transports Web Service über Mail 14.6 JMS Installation von ActiveMQ Services mit JMS-Kommunikation Client-Anwendungen mit TMS-Kommunikation 383 385 385 386 388 393 395 396 400 409 409 410 411 414 414 418 419 420 420 421 432 441 444 447 447 448 449 450 451 451 453 454 458 460 461 466 471 471 472 475 10

15 Module für WS-* Erweiterungen 477 15.1 WS-Addressing 478 Grundlagen 478 WS-Addressing mit Axis2 480 15.2 WS-Policy 485 Grundlagen 485 Neethi: WS-Policy mit Axis2 488 15.3 WS-Security 490 Grundlagen 490 Rampart: WS-Security mit Axis2 494 Konfiguration mit WS-Policy 534 15.4 WS-ReliableMessaging 537 Grundlagen 537 Sandesha2: WS-ReliableMessaging mit Axis2 542 A B B.l B.2 B.3 C C.l C.2 D XML Schema und WS WSDL2Java Kommandozeile Ant-Task Maven-Plug-in Java2WSDL Kommandozeile Maven-Plug-in Maven 2 AAR Plug-in Stichwortverzeichnis ron Axis Hotels 557 565 565 565 565 569 569 570 573 575 Jtwi Web Servias mit Apache Axis2