Enterprise Java Web Services
()
About this ebook
Dank dem seit der fünften Java-Version eingeschlagenen Weg, in Verbindung mit Komponenten auf annotierte POJOs zu setzen, geht dies einfach und elegant vonstatten. Im ersten Teil dieses shortcuts steht die Implementierung von SOAP Web Services mit JAX-WS (Java API for XML-Based Web Services) im Mittelpunkt. Wie sich RESTful Web Services mit JAX-RS (Java API for RESTful Web Services) realisieren lassen, wird der zweite Teil zeigen, während die letzen beiden Teile einen Überblick über verschiedene Web-Service-Frameworks geben, die bei der Entwicklung derartiger Dienste hilfreich sind.
Read more from Bernhard Löwenstein
shortcut
Related to Enterprise Java Web Services
Titles in the series (16)
Big Data - Apache Hadoop Rating: 0 out of 5 stars0 ratingsCloud Computing Grundlagen: Technisch / rechtlich / wirtschaftlich und architekturell Rating: 0 out of 5 stars0 ratingsCloud Computing Anbietervergleich: Amazon / Microsoft / Google & Co Rating: 0 out of 5 stars0 ratingsHTML 5 meets GWT Rating: 0 out of 5 stars0 ratingsiOS Essentials: Frameworks, Tools und Twitter API Rating: 0 out of 5 stars0 ratingsCSS: Grundlagen und Best Practices Rating: 0 out of 5 stars0 ratingsDatenbanken: Grundlagen und Entwurf Rating: 0 out of 5 stars0 ratingsEnterprise Java Web Services Rating: 0 out of 5 stars0 ratingsJava 7: Project Coin, Generics und NIO2 Rating: 0 out of 5 stars0 ratingsMagento Entwicklung: Themes, Widgets und Eigene Entitäten Rating: 0 out of 5 stars0 ratingsNoSQL Einführung: CouchDB, MongoDB und Regis Rating: 0 out of 5 stars0 ratingsOnlinerecht: Grundlegende juristische Spielregeln im eCommerce Rating: 0 out of 5 stars0 ratingsJava ME: Pragmatische Plattform für Mobile und Embedded Rating: 0 out of 5 stars0 ratingsUsability von UML Editoren: Ein Vergleich Rating: 0 out of 5 stars0 ratingsPHP for Office: Automatisierte Dokumentenerstellung mit PHPExcel, PHPWord und PHPPowerPoint Rating: 1 out of 5 stars1/5Progressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Rating: 0 out of 5 stars0 ratings
Related ebooks
Spring: Vier Perspektiven auf Framework und Ökosystem Rating: 0 out of 5 stars0 ratingsXtend beyond Java: DSL für mobile Business-Apps Rating: 0 out of 5 stars0 ratingsApps mit Azure Rating: 0 out of 5 stars0 ratingsWeb Services mit Apache CXF: Schnell und einfach erklärt Rating: 0 out of 5 stars0 ratingsMicrosoft AJAX: AJAX Libary, ASP .NET 2.0 Extensions, AJAX Control Toolkit Rating: 0 out of 5 stars0 ratingsMicrosoft Azure: Cloud Entwicklung für lokale Applikationen Rating: 0 out of 5 stars0 ratingsASP.NET Core: Eine Einführung Rating: 0 out of 5 stars0 ratingsModerne Webanwendungen mit AngularJS Rating: 0 out of 5 stars0 ratingsProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Rating: 0 out of 5 stars0 ratingsAufsetzen, Testen und Betrieb einer Android-App Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 16 Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsApache Kafka Rating: 0 out of 5 stars0 ratingsAngular 2: Moderne Frontends für alle Plattformen entwickeln Rating: 0 out of 5 stars0 ratingsCDI - Dependency Injection in Java EE 7: Dependency Injection in Java EE 7 Rating: 0 out of 5 stars0 ratingsVisual Studio Release Management Rating: 0 out of 5 stars0 ratingsDas Vulkan-API: Teil 2: Wie man ein Framework erstellt und Shader programmiert Rating: 0 out of 5 stars0 ratingsJava FX - Status Quo: Status Quo Rating: 0 out of 5 stars0 ratingsWeb-APIs mit ASP.NET MVC 6 Rating: 0 out of 5 stars0 ratingsSoftware Development Trends: Wegweisende Beiträge für eine neue IT: Wegweisende Beiträge für eine neue IT Rating: 0 out of 5 stars0 ratingsForms over Data mit Knockout.js: Die freie MVVM-JavaScript-Bibliothek im Praxiseinsatz Rating: 0 out of 5 stars0 ratingsVue.js für alle: Wissenswertes für Einsteiger und Experten Rating: 0 out of 5 stars0 ratingsSprachenkompendium: Vala, Go und Rust Rating: 0 out of 5 stars0 ratingsStructr: Quelloffenes Daten-CMS auf Neo4j-Basis Rating: 0 out of 5 stars0 ratingsMicroservices: Der Hype im Realitätscheck Rating: 0 out of 5 stars0 ratingsBig Data: Datenverarbeitung basierend auf MOM und SQL Rating: 0 out of 5 stars0 ratingsDynamic Proxies: Effizient programmieren Rating: 0 out of 5 stars0 ratingsVaadin Schnelleinstieg Rating: 0 out of 5 stars0 ratingsSingle-Page-Web-Apps: JavaScript im Einsatz: Webseiten erstellen mit AngularJS, Meteor und jQuery Mobile Rating: 0 out of 5 stars0 ratingsSpring Boot und Spring Cloud Rating: 5 out of 5 stars5/5
Computers For You
Die Burg IT-Sicherheit: IT-Sicherheit Stein auf Stein Rating: 0 out of 5 stars0 ratingsEinstieg in ChatGPT: Künstliche Intelligenz verstehen und nutzen: Ein praktischer Ratgeber für Einsteiger Rating: 0 out of 5 stars0 ratingsDie 10 besten Regal-Lautsprecher: 1hourbook Rating: 0 out of 5 stars0 ratingsRaspberry Pi Kinderleicht: Pi 4 mit 8 GB Rating: 0 out of 5 stars0 ratingsDie KI Bibel, mit künstlicher Intelligenz Geld verdienen: Echte Fallbeispiele und Anleitungen zum Umsetzen Rating: 1 out of 5 stars1/560+ Webtools - Für den Unterricht und mehr: Unterricht Digital gestalten und spielerisch Online Unterrichten Rating: 0 out of 5 stars0 ratingsErste Schritte mit dem Raspberry Pi: Installation, Konfiguration, Tuning und Praxis für alle aktuellen Raspberry-Pi-Modelle Rating: 0 out of 5 stars0 ratingsEinführung ins Darknet: Darknet ABC Rating: 0 out of 5 stars0 ratingsLaws of UX: 10 praktische Grundprinzipien für intuitives, menschenzentriertes UX-Design Rating: 0 out of 5 stars0 ratingsWordPress - Elementor Rating: 0 out of 5 stars0 ratingsBusiness-Intelligence-Lösungen für Unternehmen Rating: 0 out of 5 stars0 ratingsNew Game Plus: Perspektiven der Game Studies. Genres - Künste - Diskurse (Bild und Bit. Studien zur digitalen Medienkultur) Rating: 0 out of 5 stars0 ratingsMachine Learning – kurz & gut: Eine Einführung mit Python, Pandas und Scikit-Learn Rating: 5 out of 5 stars5/5Big Data - Apache Hadoop Rating: 0 out of 5 stars0 ratingsNeuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python Rating: 0 out of 5 stars0 ratingsScribus Desktop Publishing: Das Einsteigerseminar Rating: 0 out of 5 stars0 ratingsCommand Line Kung Fu: Bash-Scripting-Tricks, Linux Tipps und praktische Einzeiler für die Shell Rating: 0 out of 5 stars0 ratingsData Warehouse im Rahmen der Business Intelligence: Konzeption eines Vorgehensmodells Rating: 0 out of 5 stars0 ratingsDie Geschichte des Computers: Wie es bis zur Form des heutigen 'PC' kam. Rating: 0 out of 5 stars0 ratingsTaschen-Guide zur Professional Scrum Master-Zertifizierung (PSM 1) Rating: 0 out of 5 stars0 ratingsiPhone Tipps und Tricks zu iOS 13 - zu allen aktuellen iPhone Modellen - komplett in Farbe Rating: 0 out of 5 stars0 ratingsShopware 6 Handbuch Rating: 0 out of 5 stars0 ratingsPocket Book - Das inoffizielle Handbuch. Anleitung, Tipps, Tricks Rating: 0 out of 5 stars0 ratingsBig Data: Die neue Intelligenz des Menschen (GEO eBook) Rating: 0 out of 5 stars0 ratingsGames | Game Design | Game Studies: Eine Einführung (Deutschsprachige Ausgabe) Rating: 0 out of 5 stars0 ratingsNimm den Chor doch selber auf: Crashkurs für das Aufnehmen und Mischen von Chören Rating: 0 out of 5 stars0 ratingsLexikon der Symbole und Archetypen für die Traumdeutung Rating: 5 out of 5 stars5/5
Reviews for Enterprise Java Web Services
0 ratings0 reviews
Book preview
Enterprise Java Web Services - Bernhard Löwenstein
Bernhard Löwenstein
Enterprise Java Web Services
ISBN: 978-3-86802-405-0
© 2012 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 SOAP Web Services mit JAX-WS
Die geschickte Kombination von POJOs und Annotationen hat in den letzten Jahren die Implementierung zahlreicher Java-Komponenten deutlich vereinfacht. Auch SOAP Web Services lassen sich mithilfe von JAX-WS auf diese Weise realisieren. Wie das genau geht, zeigt das folgende Kapitel.
Erinnern Sie sich noch an CORBA? Um dort ein paar Objekte zwischen den verteilten Systemteilen hin und her wandern zu lassen, war ein ganz schöner Aufwand vonnöten, oder? Doch dann kamen sie und vieles wurde einfacher: Web Services. Zwar dauerte es ein wenig bis die anfänglichen Kinderkrankheiten ausgemerzt waren, mittlerweile sind Web Services aber als Brückentechnologie in der vor Heterogenität nur so strotzenden IT-Landschaft nicht mehr wegzudenken.
Im Rahmen dieser vierteiligen Veröffentlichung wollen wir uns deshalb mit der Entwicklung solcher Dienste in Java beschäftigen. Dank dem seit der fünften Java-Version eingeschlagenen Weg, in Verbindung mit Komponenten auf annotierte POJOs zu setzen, geht dies einfach und elegant vonstatten. Im ersten Teil steht die Implementierung von SOAP Web Services mit JAX-WS (Java API for XML-Based Web Services) im Mittelpunkt. Wie sich RESTful Web Services mit JAX-RS (Java API for RESTful Web Services) realisieren lassen, wird der zweite Teil zeigen, während die letzen beiden Teile einen Überblick über verschiedene Web-Service-Frameworks geben, die bei der Entwicklung derartiger Dienste hilfreich sind.
SOAP Web Services
Charakteristisch für jeden SOAP Web Service ist, dass er die Funktionalitäten eines Dienstes kapselt. Der Methodenaufruf läuft nach dem RPC-Prinzip ab. Die Kommunikation zwischen dem aufgerufenen Service und seinem aufrufenden Client erfolgt mittels SOAP (früher: Simple Object Access Protocol). Dieses nutzt XML als Nachrichtenformat. Für den Transport solcher Nachrichten lassen sich verschiedene Protokolle verwenden. Üblicherweise gelangt HTTP(S) zum Einsatz. Eine SOAP-Nachricht besteht aus einem optionalen Header sowie dem Body mit dem eigentlichen Nachrichteninhalt. Ersterer kann zur Übertragung zusätzlicher Informationen, beispielsweise Authentifizierungsdaten, genutzt werden.
Die Beschreibung der Web-Service-Schnittstelle erfolgt mithilfe von WSDL (Web Services Description Language), einer ebenfalls auf XML basierenden Sprache. Die Schnittstellenbeschreibung dient als Vertrag zwischen dem Web Service und seinen Clients. Sie gibt im Großen und Ganzen Auskunft über die vom Service bereitgestellten Methoden und spezifiziert die zugehörigen Datenstrukturen.
JAX-WS
JAX-WS [1] ermöglicht dem Java-Programmierer die einfache Realisierung von SOAP Web Services auf Basis annotierter POJOs. Sie ist der Nachfolger von JAX-RPC (Java API for XML-based RPC) und Teil der Java-Plattformen SE 6 und EE 5. Die Spezifikation liegt aktuell in der Version 2.2 vor, die zugehörige Referenzimplementierung heißt Metro [2]. Beim Codieren bedient sich der Entwickler üblicherweise der Annotationen gleich mehrerer Java-Technologien (Tabelle 1.1).
Tabelle 1.1: Verschiedene Java-Technologien steuern Annotationen zur JAX-WS-Entwicklung bei
Begleitendes Beispiel: Kalkulator
Zur Verdeutlichung der Theorie dient uns in Folge ein einfacher Berechnungsdienst, der mithilfe von JAX-WS als SOAP Web Service realisiert werden soll. Der Kalkulator soll seinen Nutzern die folgenden Funktionen bereitstellen:
Addition zweier Zahlen
Division zweier Zahlen
Anmeldung bei einem mathematischen Newsletter
Überprüfung einer Zahl auf Primzahleigenschaft
Implementierung eines Web Service
Ein jeder SOAP Web Service besteht aus einem SEI (Service Endpoint Interface) und einer SIB (Service Implementation Bean). Beim SEI handelt es