Buchtipp: Masterkurs Client/Server-Programmierung mit Java

Insbesondere als Autodidakt fürchtet man sich vor der Erzeugung vernetzter Systeme. Der wertvollste Kurs, den der Autor an einer Fachhochschule belegte, hatte dieses Thema zum Fokus. Der Springer-Verlag bietet mit dem Werk von Dietmar Abts einen Klassiker zu diesem Thema an, der mittlerweile in der fünften Auflage erschienen ist.
Autor |
Dietmar Abts |
Titel |
Masterkurs Client/Server-Programmierung mit Java |
Untertitel |
Anwendungen entwickeln mit Standard-Technologien |
Seiten |
389 Seiten |
Preis |
34,99 Euro |
Verlag |
Springer Vieweg |
Jahr |
5., aktualisierte Auflage 2019 |
ISBN |
978-3-658-25924-2 |
Java 11 brachte eine Bandbreite von Änderungen im Bereich der Programmierung. Besonders ärgerlich ist, dass einige für verteilte Systeme wichtige APIs nicht mehr Teil des JDKs sind, sondern modular nachgeladen werden müssen. Das erste Kapitel des für Java-erfahrene Programmierer vorgesehenen Buchs widmet sich diesem Problem und stellt Grundlagen verteilter Systeme vor. Denken Sie an Themen wie TCP/IP, das OSI-Schichtenmodell sowie Sockets. Logischerweise können rund zwanzig Seiten das Thema nicht vollständig darstellen; wer mehr über TCP/IP und Co. erfahren möchte, findet eine Vielzahl von Tutorien und preiswerten Lehrbüchern zum Thema.
Das Übertragen von Binärdaten ist nicht erst seit Endianness und Co. eine eher haarige Angelegenheit. Als Alternative hat sich seit jeher JSON etabliert. Abts stellt sie im dritten Kapitel in Bezug auf Serialisierung und Deserialisierung von Objekten vor. Nach der Bereitstellung der Payload folgt eine detailliertere Besprechung der Basisprotokolle TCP und UDP. In beiden Fällen ist lobenswert, dass der Autor neben allgemeinen Anwendungssituationen auch auf spezifische Vorteile der Protokolle eingeht. Unter UDP finden sich beispielsweise unter anderem Ausführungen zu Verbindungen, in denen ein Paket an mehrere Gegenstellen gleichzeitig übertragen wird.
Wer sich mit Netzwerkprogrammierung auseinandersetzt, beginnt seine Ausführungen so gut wie immer mit dem seit Jahren weitgehend unveränderten Berkeley-API. Java bietet allerdings auch eine Vielzahl fortgeschrittener Methoden an. Das fünfte Kapitel demonstriert die Arbeit mit dem Message-Broker JMS, während sich das sechste Kapitel dem (oftmals leidigen) Aufrufen von Methoden über das RMI-Interface zuwendet.
Eine Ebene darüber finden sich dann klassische Protokolle wie HTTP und WebSockets – auch ihnen spendiert Abts je ein Kapitel. Die Vorstellung der Technologien erfolgt dabei nicht übermäßig theorielastig: Das Werk versorgt den Leser zwar mit ausreichendem Hintergrundwissen, zeigt aber auch genügend Codebeispiele, sodass die Lektüre nicht langweilig wird.
Der dritte Teil des Buchs beschäftigt sich mit Java-Netzwerkprogrammierung: auf JAX basierende Web Services entstehen sowohl unter Nutzung von SOAP als auch unter Verwendung von REST. Die Ausführungen zu REST haben einen besonders guten Eindruck hinterlassen, da sie auch viele Zusatzinformationen vermitteln.
Anschließend darf sich der Leser noch über zwei Anhänge freuen, die häufig verwendete Werkzeuge und Bibliotheken vorstellen. Da die Arbeit an den Beispielen im Buch in IntelliJ erfolgt, spendiert der Autor zu guter Letzt auch noch ein Kapitel, das die Konversion der Projekte in Eclipse vorführt.
Aus didaktischer Sicht gibt es – wie bei Springer üblich – nichts zu bemängeln. Wer sich schon immer mit Netzwerkprogrammierung und Co. auseinandersetzen wollte, findet in diesem rund 400 Seiten langen Buch eine umfangreiche Einführung, die einen aber nicht mit unnötigen Informationen belästigt. Wer alle vom Autor vorgeschlagenen Beispiele von Hand nachprogrammiert, darf sich danach an einem mehr als umfangreichen Wissensschatz erfreuen.
Hinterlasse einen Kommentar