Lernen Sie, moderne Client/Server-Anwendungen mit aktuellen Standard-Technologien in Java (Standard Edition) zu entwickeln.
Dieses Praxisbuch ist ideal für die eigenständige Erarbeitung der verschiedenen Themen von der Socket-Programmierung mit UDP und TCP über Messaging-Verfahren bis zu SOAP- und REST-basierten Web Services:- Grundlagen: Client/Server-Systeme, TCP/IP, Sockets, JSON
- Socket-Programmierung: UDP, TCP, RSocket
- Verteilte Objekte: RMI
- Messaging: JMS, MQTT
- Webservices: HTTP, WebSocket, XML Web Services, RESTful Web Services
Alle diese Themenbereiche stellt der Autor kompakt und praxisnah dar und richtet sich damit an Studierende der Informatik und Wirtschafsinformatik, IT-Beschäftigte in Ausbildung und Beruf sowie an Java-Programmierer in der Praxis.
Das Buch hält eine Vielzahl an praktischen Beispielen und Übungen bereit. Der gesamte Quellcode zu den Beispielen und Lösungen ist als Download im Internet verfügbar.
Author(s): Dietmar Abts
Edition: 6
Publisher: Springer Vieweg
Year: 2022
Language: German
Commentary: Vector PDF
Pages: 480
City: Wiesbaden, Germany
Tags: Java; Client/Server Programming; Networking Programming; UDP; TCP; TCP/IP; Sockets; RSockets; SOAP; REST-Based Web Services; RMI; JMS; MQTT; HTTP; WebSocket; XML Web Services;
Vorwort zur 6. Auflage
Inhaltsverzeichnis
1 Einleitung
1.1 Zielsetzung und Aufbau des Buches
1.2 Tools zur Entwicklung
1.3 Verteilte Systeme
1.4 TCP/IP
1.5 Java-Klassen für IP-Adressen und Sockets
1.6 Aufgaben
2 Datenaustausch mit JSON
2.1 Verarbeitung von JSON-Dokumenten
2.2 Serialisierung eines Objektgraphen
2.3 Aufgaben
3 Kommunikation mit UDP
3.1 Das Protokoll UDP
3.2 DatagramSocket und DatagramPacket
3.3 Nachrichten senden und empfangen
3.4 Anfrage und Antwort
3.5 Punkt-zu-Mehrpunkt-Verbindungen
3.6 Aufgaben
4 Netzwerkprogrammierung mit TCP-Sockets
4.1 Das Protokoll TCP
4.2 TCP-Sockets
4.3 Iterative und parallele Server
4.3.1 Iterativer Server
4.3.2 Paralleler Server
4.3.3 Thread-Pooling
4.4 Ein Framework für TCP-Server
4.5 Beenden eines Datenstroms
4.6 Ein Chat-Programm
4.7 Asynchrone Kommunikation
4.8 Portweiterleitung
4.9 Ein TCP-Monitor für Anfragen und Antworten
4.10 Aufgaben
5 Einführung in RSocket
5.1 Reaktive Programmierung
5.2 Reaktive Kommunikation mit RSocket
5.3 Aufgaben
6 Remote Method Invocation (RMI)
6.1 Vom lokalen zum entfernten Methodenaufruf
6.2 Die Architektur einer RMI-Anwendung
6.2.1 Protokoll und Komponenten
6.2.2 Implementierungsvarianten
6.2.3 Dienstauskunft
6.2.4 Aufrufparameter und Rückgabewerte
6.3 Übertragung von Remote Objects
6.4 Mobile Agenten
6.5 Der Einsatz von Callback-Methoden
6.6 Hinweis zum Security Manager bei RMI
6.7 Aufgaben
7 Nachrichtentransfer mit JMS
7.1 Jakarta Messaging
7.2 Das Point-to-Point-Modell
7.2.1 Installation und Konfiguration von ActiveMQ
7.2.2 Wichtige Typen und Methoden des JMS-API
7.2.3 Das Pull- und Push-Prinzip
7.2.4 Der QueueBrowser
7.3 Das Request/Response-Modell
7.4 Das Publish/Subscribe-Modell
7.5 Dauerhafte Subscriber
7.6 Nachrichten filtern
7.7 Transaktionen
7.8 Aufgaben
8 Machine-to-Machine-Kommunikation mit MQTT
8.1 Grundlegende Konzepte
8.2 MQTT-Broker und Client-Bibliothek
8.3 Messwerte versenden und empfangen
8.4 Verbindungsstatus anzeigen
8.5 Binärsensor steuern
8.6 Messwerte in Live-Grafik anzeigen
8.7 Persistent Session
8.8 Aufgaben
9 Kommunikation über HTTP
9.1 Die Protokolle HTTP/1.0 und HTTP/1.1
9.2 Ein einfacher Webserver
9.3 HttpURLConnection
9.4 Netzwerk-Monitor
9.5 Ein Webserver mit CRUD-Operationen
9.6 HttpClient
9.7 HTTP/2 und SSL/TLS im Beispiel
9.8 Aufgaben
10 Bidirektionale Verbindung mit WebSocket
10.1 Das WebSocket-Protokoll
10.2 Eine einfache WebSocket-Anwendung
10.3 Server-Push
10.4 Eine Chat-Anwendung
10.5 Aufgaben
11 XML Web Services
11.1 Grundlagen
11.2 Ein erstes Beispiel
11.3 Ein Web Service mit CRUD-Operationen
11.4 Web Services mit Apache Tomcat veröffentlichen
11.5 Oneway-Operationen
11.6 Asynchrone Aufrufe
11.7 Transport von Binärdaten
11.8 Filterketten
11.9 Contract First
11.10 Fazit
11.11 Aufgaben
12 RESTful Web Services
12.1 Die Grundprinzipien von REST
12.2 Ein erstes Beispiel
12.2.1 Die erforderlichen Bibliotheken
12.2.2 Der Web Service
12.2.3 Die Beschreibungssprache WADL
12.2.4 Test mit cURL
12.2.5 Ein Java-Client
12.2.6 Das Client-API von JAX-RS
12.3 CRUD-Operationen mit Datenbank
12.4 Upload und Download von Dateien
12.5 Zuverlässigkeit
12.5.1 PUT statt POST
12.5.2 Kombination von POST und PUT
12.6 Parallelzugriffe
12.7 Caching
12.7.1 Expirationsmodell
12.7.2 Validierungsmodell
12.8 Asynchrone Verarbeitung
12.8.1 Polling
12.8.2 Callback
12.8.3 Client- und Server-API für asynchrone Verarbeitung
12.9 Server-Sent Events (SSE)
12.10 Filterketten
12.11 Rollenbasierter Zugriffsschutz und Verschlüsselung
12.12 Aufgaben
Anhang A
A.1 Implementierung eines Webservers
A.2 Server-Zertifikat
Anhang B
B.1 Das Datenbankmanagementsystem MariaDB
B.2 Funktionstest
Anhang C. HTTP-Status-Codes
Anhang D. Bibliotheken (JAR-Dateien)
Anhang E. Literaturhinweise
Sachwortverzeichnis