Heutzutage sind Parallelität und Verteilung von Systemen nicht mehr aus der Softwareentwicklung wegzudenken. Rainer Oechsle schafft es mit diesem Buch seinen Lesern, all denjenigen die bereits ein Java-Grundlagenbuch erfolgreich abgeschlossen haben, in diese wichtige Welt der Programmierung zu verhelfen. Dabei verfolgt er einen „hands-on approach“ und führt mit Unterstützung vieler Beispiele in die Thematik ein.
In den ersten drei Kapiteln liegt der Fokus auf Parallelität, d.h. der Leser wird über Java Threads und die Notwendigkeit von Synchronisation aufgeklärt. Dabei werden an Hand praktischer Beispiele die bekannten Probleme von der Leser-Schreiber-Kooperation (Anmerkung: In diesem Buch werden sehr viele Fachbegriffe eingedeutscht, lustig bspw. „Verklemmung“ für „Deadlock“ – weniger lustig: Auch im Glossar ist der Begriff Deadlock nicht zu finden) bis hin zum Philosophen-Problem behandelt. Sehr positiv ist hier auch ein extra Kapitel über die Möglichkeiten neuerer Java-Plattformen (ab 1.5) hervorzuheben, welches moderne Techniken wie Futures und Executors erklärt.
Kapitel 4 ist ein bisschen abseits der allgemeinen Thematik angesiedelt. Die detaillierte Betrachtung von Threads im Zusammenhang mit der Java Swing GUI-Bibliothek ist aber für die Zielgruppe des Buches wichtiger Stoff und hilft ungemein in der Praxis.
In den folgenden Kapiteln 5-7 geht es schließlich um Java-Technologien zur Umsetzung verteilter Systeme. Im Gegensatz zum Themenblock Parallelität wird hier Theorie über Grundlagen und Eigenschaften solcher Systeme leider außen vorgelassen. Rainer Oechsles Einführungen in die Socket-Programmierung, Java RMI und Java Servlets sind allerdings sehr angenehm zu lesen. Dabei bleibt der Autor auch konsistent und setzt außer den Kenntnissen der Java-Programmiersprache kein weiteres Wissen voraus. Absoluten Neulingen werden am Beginn der Kapitel die notwendigen praktischen Grundlagen (wie bspw. das ISO/OSI-Modell oder der TCP/IP-Protokollstack) vorgestellt, der etwas erfahrenere Leser kann diese auf Wunsch überspringen ohne wichtige Information zu verpassen.
Einziger wirklicher Schwachpunkt ist ein Teil über JSP der viel zu kurz ausfällt um sinnvoll zu sein, wenig mit der eigentlichen Thematik zu tun hat und besser weggelassen worden wäre. Die in der dritten Auflage neu hinzugekommene und vom Verlag beworbene GWT/AJAX-Verwendung ist ebenso fehl am Platz und mit nur sieben Seiten selbstverständlich auch nicht ausreichend erklärt um für den Leser nutzbringend zu sein. Meiner Meinung nach wäre ein größeres Praxis-Beispiel der bisher vorgestellten Technologien wesentlich sinnvoller gewesen.
Den wichtigen Abschluss des Buches bildet eine kurze Literaturliste die dem Leser nach diesem Einstiegsbuch einen Ausblick auf fortgeschrittene Themen offenlegt. Es wird von fundierten Theoriebüchern bis hin zu EJB3 einiges vorgestellt, interessanterweise die Themen Middleware und nachrichtenorientierte Systeme aber nicht erwähnt.
Alles in allem ein sehr gelungener Einstieg in die Thematik. Der lockere aber dennoch fachlich korrekte Schreibstil des Autors macht das Buch meiner Meinung nach zu einem Erfolg.
Entdeckte Programmierfehler:
- JFrame wird nicht über invokeLater aufgerufen
(passiert auch in der Praxis in 99% der Fälle…)
- Autor setzt finally-Block nicht ein (nicht gut, aber vielleicht um Einsteiger nicht zu erschlagen)
|