Masterkurs Client/Server-Programmierung mit Java



Ähnliche Dokumente
Tanja Hartwig genannt Harbsmeier. Up- und Cross-Selling

Gelassenheit gewinnen 30 Bilder für ein starkes Selbst

Industrie 4.0 in Produktion, Automatisierung und Logistik

Stressmanagement im Fernstudium

SEO Strategie, Taktik und Technik

Rüdiger Zarnekow Lutz Kolbe. Green IT. Erkenntnisse und Best Practices aus Fallstudien

Thomas Meuser Hrsg. Promo-Viren. Zur Behandlung promotionaler Infekte und chronischer Doktoritis 3., kurierte Auflage

Human Capital Management

Kompakt Edition: Immobilienfinanzierung

Privatschulen versus staatliche Schulen

Eignung für den Lehrerberuf

Erwin Lammenett. TYPO3 Online-Marketing-Guide

Übungen zur Kosten-, Erlösund Ergebnisrechnung

Grundmann Rathner Abschlussprüfungen Bankwirtschaft, Rechnungswesen und Steuerung, Wirtschafts- und Sozialkunde

Anna Karin Spangberg Zepezauer. Prüfungsvorbereitung Geprüfter Betriebswirt (IHK)

Studieren kann man lernen

Handbuch Kundenmanagement

Kundenmanagement im Krankenhaus

HANAUER H!LFE e.v. (Hrsg.) Die Entwicklung professioneller Opferhilfe

Christina Janning. Change Management. Möglichkeiten der Kommunikation zur Reduzierung innerbetrieblicher Widerstände. Diplomarbeit

X.systems.press ist eine praxisorientierte Reihe zur Entwicklung und Administration von Betriebssystemen, Netzwerken und Datenbanken.

Seniorenbüros im Land Brandenburg

François Colling. Holzbau Beispiele

Silko Pfeil. Kritische Darstellung der theoretischen Grundlagen zum Bildungscontrolling bei verhaltensorientierten Personalentwicklungsmaßnahmen

K.-H. Bichler Das urologische Gutachten

Medizinische Grundlagen der Heilpädagogik

Steuerrecht-Kompakt für Heilberufe

Hans-Jürgen Bieling. Die Globalisierungs- und Weltordnungspolitik der Europäischen Union

Springer Spektrum, Springer Vieweg und Springer Psychologie.

Bachelorarbeit BESTSELLER. Benjamin Höber. Die Bad Bank als mögliches Mittel zur Bewältigung der Finanzkrise

Programmierung von verteilten Systemen und Webanwendungen mit Java EE

Harry Wessling. Network Relationship Management

Call Center Lexikon. Die wichtigsten Fachbegriffe der Branche verständlich erklärt

Dietmar Abts. Masterkurs Client/Server-Programmierung mit Java

Politisches Denken und literarische Form. Herausgegeben von O. Hidalgo, Regensburg, Deutschland K. Nonnenmacher, Regensburg, Deutschland

Transatlantic Trade and Investment Partnership (TTIP)

Versorgungskonzepte für Menschen mit Demenz

Hans-Jürgen Appelrath, Dietrich Boles, Volker (laus, Ingo Wegener. Starthilfe Informatik

Kerstin Rabenstein Sabine Reh (Hrsg.) Kooperatives und selbstständiges Arbeiten von Schülern

Kill Keyword Density. Weshalb die Keyword Density blanker Unsinn ist.

Praxis-Leitfaden Business in China

Heinrich Hemme, Der Mathe-Jogger 2

Dieter Specht (Hrsg.) Insourcing, Outsourcing, Offshoring

Whittaker, Holtermann, Hänni / Einführung in die griechische Sprache

Dynamische Arrangements städtischer Sicherheit

Egger Kreditmanagement im Unternehmen

Erfolgreich als Medical Advisor und Medical Science Liaison Manager

Transluzente Glas-Kunststoff-Sandwichelemente

Einführung Wirtschaftsinformatik

Talentmanagement mit System

Alina Schneider. Erfolg in Data-Warehouse-Projekten. Eine praxisnahe Analyse von Erfolgsfaktoren und -kriterien. Diplomica Verlag

Ingenieurwissenschaftliche Studiengänge attraktiver

Chancen und Risiken der modernen Biotechnologie

Arbeitsbuch Mathematik

Christoph Thiemann. Die Reaktivierung von Herpesviren in der Mundhöhle. Subklinische Reaktivierungen von HSV-1 und EBV.

Management im Gesundheitswesen

Unternehmensentwicklung

Cross-border Mergers & Acquisitions in China

Möglichkeiten und Grenzen des Einsatzes von Tacit Knowledge im Performance Management

Kurzstudie BESTSELLER. Nico Schuster, Nermina Gagrica. E-Learning Basics. E-Learning Methoden und deren Einsatz einfach erklärt

Maßnahmen zu Beschleunigung der cobra Adress Datenbanken unter SQL Entwurf

Soziale Netzwerke im Internet

Research Report Kritische Darstellung der theoretischen Grundlagen zum Bildungscontrolling bei verhaltensorientierten Personalentwicklungsmaßnahmen

Tiberius Hehn Roland Riempp. Multimediale interaktive PDF-Dokumente durch Integration von Flash

Wissensmanagement in der humanitären Logistik

Prüfungstraining zum Bankfachwirt

Natur- und Umweltschutz

Prozessoptimierung in der Einzelteilproduktion

Colja M. Dams Stefan Luppold. Hybride Events. Zukunft und Herausforderung für Live-Kommunikation

Zwischen Teddybär und Superman

Qualitätsmanagementsysteme im Gesundheitswesen

Kurzanleitung WebSphere MQ Funktionen

Aufgaben und Lösungen für die Bilanzbuchhalterprüfung

Interaktive Whiteboards im Unterricht

Der neue Online-Handel

Kommunikationswissenschaft studieren

Werke der kompakt-reihe zu wichtigen Konzepten und Technologien der IT-Branche: ermöglichen einen raschen Einstieg, bieten einen fundierten

Kompetent für einen inklusiven Unterricht

TomR.Koch. Lean Six Sigma. Die Automobilindustrie im Wandel. Diplomica Verlag

Adobe Flash CS4. Herbert A. Mitschke. inklusive DVD-ROM. Von den Programmier-Grundlagen zur professionellen Webentwicklung

3D-Architektur-Visualisierung

Edition Professionsund Professionalisierungsforschung Band 1

Mitarbeitermotivation der Arbeitsgeneration 50+

Christian Kremer. Kennzahlensysteme für Social Media Marketing. Ein strategischer Ansatz zur Erfolgsmessung. Diplomica Verlag

Change Management in der öffentlichen Verwaltung

Die Bedeutung der Hausbankbeziehung für Finanzierungen im Mittelstand Schwerpunkt: Unternehmensgründung und Unternehmensnachfolge

Erfolgreiches Produktmanagement

Der Ingenieur als GmbH-Geschäftsführer

Projektanbahnung in der Kontraktlogistik

Springer Spektrum, Springer Vieweg und Springer Psychologie.

Grundlagen der doppelten Buchführung

Frank Herrmann. Kurzvorträge BWL/VWL

Bachelorarbeit. Private Altersvorsorge. Beurteilung ausgewählter Anlageformen. Michael Roth. Bachelor + Master Publishing

MedR Schriftenreihe Medizinrecht Herausgegeben von Professor Dr. Andreas Spickhoff, Göttingen Weitere Bände siehe

Springer Spektrum, Springer Vieweg und Springer Psychologie.

Website. zur eigenen. Ihr Weg ins Web: Domain, Hoster, Installation, Verwaltung, Pflege und IT-Recht. Websites. erstellen

Commitment von High Potentials

LEAN MANUFACTURING. Teil 7 Lean und Six Sigma. Ein Quick Guide für den schnellen Einstieg in die Möglichkeiten der Lean Philosophie.

Springer Spektrum, Springer Vieweg und Springer Psychologie.

Transkript:

Masterkurs Client/Server-Programmierung mit Java

Dietmar Abts Masterkurs Client/Server- Programmierung mit Java Anwendungen entwickeln mit Standard-Technologien 4. Auflage

Dietmar Abts FB Wirtschaftswissenschaften Hochschule Niederrhein Mönchengladbach, Deutschland ISBN 978-3-658-09920-6 DOI 10.1007/978-3-658-09921-3 ISBN 978-3-658-09921-3 (ebook) Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliograe; detaillierte bibliograsche Daten sind im Internet über http://dnb.d-nb.de abrufbar. Springer Vieweg 1. Auage 2003 erschien unter dem Titel Aufbaukurs JAVA 2. Auage 2007 erschien unter dem Titel Masterkurs JAVA Springer Fachmedien Wiesbaden 2003, 2007, 2010, 2015 Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht ausdrücklich vom Urheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung des Verlags. Das gilt insbesondere für Vervielfältigungen, Bearbeitungen, Übersetzungen, Mikroverlmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichenund Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Der Verlag, die Autoren und die Herausgeber gehen davon aus, dass die Angaben und Informationen in diesem Werk zum Zeitpunkt der Veröffentlichung vollständig und korrekt sind. Weder der Verlag noch die Autoren oder die Herausgeber übernehmen, ausdrücklich oder implizit, Gewähr für den Inhalt des Werkes, etwaige Fehler oder Äußerungen. Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier Springer Fachmedien Wiesbaden ist Teil der Fachverlagsgruppe Springer Science+Business Media (www.springer.com)

Vorwort zur vierten Auflage Das vorliegende Buch bietet eine kompakte Einführung in aktuelle Technologien zur Entwicklung von modernen Client/Server-Anwendungen auf der Basis von Java SE mit zahlreichen Programmbeispielen und Übungsaufgaben. Die verschiedenen Themen können mit Grundkenntnissen der Programmiersprache Java erarbeitet werden. Gegenüber der dritten Auflage wurden zahlreiche Verbesserungen und Aktualisierungen vorgenommen. Das Kapitel zu JDBC der dritten Auflage wurde zugunsten neuer Themen entfernt: WebSocket-Protokoll für die bidirektionale Verbindung zwischen einer Webanwendung und einem WebSocket-Server, REST-basierte Web Services mit JAX-RS. Die Programmbeispiele wurden mit Java SE 8 entwickelt und sind für die aktuellen Versionen der hier eingesetzten Produkte und Frameworks lauffähig: Apache ActiveMQ Apache Tomcat WebSocket-Implementierung Tyrus Apache XML-RPC Metro Web Service Stack JAX-RS-Implementierung Jersey Der Quellcode der Programmbeispiele und die Lösungen der Übungsaufgaben sind im Internet auf der Website des Verlags direkt neben den bibliographischen Angaben zu diesem Buch verfügbar: www.springer-vieweg.de Danken möchte ich Frau Sybille Thelen vom Lektorat IT für die gute Zusammenarbeit sowie meinen Leserinnen und Lesern für die guten Vorschläge, die in dieser Auflage berücksichtigt wurden. Ratingen, April 2015 Dietmar Abts abts@hs-niederrhein.de www.dietmar-abts.de

Inhaltsverzeichnis 1 Einleitung... 1 1.1 Vorbemerkungen... 1 1.2 Verteilte Systeme... 3 1.3 Grundlagen zu TCP/IP... 15 1.4 Java-Klassen für IP-Adressen und Sockets... 20 1.5 Aufgaben... 23 Nachrichtenbasierte Kommunikation 2 Verbindungslose Kommunikation mit UDP... 25 2.1 Das Protokoll UDP... 25 2.2 DatagramSocket und DatagramPacket... 26 2.3 Ein Echo-Server und -Client... 29 2.4 Vorgegebene Socket-Verbindungen... 32 2.5 Online-Unterhaltung... 34 2.6 Punkt-zu-Mehrpunkt-Verbindungen... 38 2.7 Aufgaben... 41 3 Client/Server-Anwendungen mit TCP... 43 3.1 Das Protokoll TCP... 43 3.2 TCP-Sockets... 44 3.3 Ein Echo-Server und -Client... 48 3.4 Thread-Pooling... 53 3.5 Ein Framework für TCP-Server... 56 3.6 Beenden eines Datenstroms ohne Verbindungsabbau... 59 3.7 Ein Proxy zum Aufruf entfernter Methoden... 61 3.8 Ein Chat-Programm... 70 3.9 Klassen über das Netz laden... 76 3.10 Aufgaben... 79

VIII Inhaltsverzeichnis 4 Nachrichtendienste mit JMS... 83 4.1 Java Message Service... 84 4.2 Das Point-to-Point-Modell... 87 4.3 Das Request/Reply-Modell... 99 4.4 Das Publish/Subscribe-Modell... 102 4.5 Dauerhafte Subscriber... 107 4.6 Filtern von Nachrichten... 111 4.7 Transaktionen... 114 4.8 Fallbeispiel Händler/Lieferant... 119 4.9 Aufgaben... 125 Objekt-basierte Kommunikation 5 Aufruf entfernter Methoden mit RMI... 127 5.1 Ein einführendes Beispiel... 128 5.2 Remote Method Invocation... 131 5.3 Dienstauskunft... 140 5.4 Transport by reference... 141 5.5 Mobile Agenten... 145 5.6 Callbacks... 149 5.7 RMI mit IIOP... 155 5.8 Aufgaben... 159 Web-basierte Kommunikation 6 HTTP-Kommunikation im Web... 161 6.1 Das Protokoll HTTP... 161 6.2 Ein einfacher Webserver... 170 6.3 Protokollierung von HTTP-Nachrichten... 183 6.4 Aufgaben... 187

Inhaltsverzeichnis IX 7 Bidirektionale Kommunikation mit WebSocket... 189 7.1 Das WebSocket-Protokoll... 189 7.2 Implementierung einer einfachen WebSocket-Anwendung... 191 7.3 Server Push... 196 7.4 Eine Chat-Anwendung... 200 7.5 Aufgaben... 203 8 XML Remote Procedure Call (XML-RPC)... 207 8.1 Grundkonzept und erstes Beispiel... 207 8.2 XML-RPC-Datentypen... 213 8.3 Dynamische Proxies... 221 8.4 XML-RPC mit Apache Tomcat nutzen... 223 8.5 Aufgaben... 225 9 SOAP-basierte Web Services mit JAX-WS... 227 9.1 Basiskonzepte von Web Services... 228 9.2 Entwicklungsplattform und API... 233 9.3 Ein erstes Beispiel... 235 9.4 Ein Web Service zur Artikelverwaltung... 240 9.5 Web Services mit Apache Tomcat veröffentlichen... 244 9.6 Oneway-Operationen... 246 9.7 Asynchrone Aufrufe... 248 9.8 Transport von Binärdaten... 252 9.9 SOAP Message Handler... 259 9.10 Der Contract-First-Ansatz... 269 9.11 Aufgaben... 274 10 REST-basierte Web Services mit JAX-RS... 277 10.1 Grundprinzipien von REST-Architekturen... 277 10.2 Entwicklungsplattform und API... 280 10.3 Ein erstes Beispiel... 281 10.4 CRUD-Operationen... 286

X Inhaltsverzeichnis 10.5 REST-Services mit Apache Tomcat veröffentlichen... 297 10.6 JAXB... 299 10.7 JAXB in REST-Services und -Clients nutzen... 305 10.8 Upload und Download von Dateien... 309 10.9 Verwaltung von Kontaktdaten als REST-Service... 312 10.10 HTTP-Authentifizierung und SSL... 323 10.11 Aufgaben... 329 Quellen im Internet... 331 Literaturhinweise... 333 Sachwortverzeichnis... 335