So viele J2EE-Bücher, so wenig Zeit

Wenn es um J2EE (Java 2 Platform, Enterprise Edition) geht, kennen Sie keinen Hügel von Enterprise JavaBeans (EJBs). Keine Sorge, Sie finden reichlich Lesematerial, das Ihnen hilft. In der Tat können Sie zu viel finden! Ich bin hier, um Ihnen zu helfen, die Auswahl auf ein einziges Buch zu beschränken, das Sie aus dem Buchladen mitnehmen können, ohne einen Leistenbruch zu bekommen.

J2EE ist eine vielfältige Sammlung serverseitiger Technologien, die zusammen die Grundlage für leistungsstarke Unternehmensanwendungen bilden. Ich werde Sie nicht mit einer weiteren J2EE-Übersicht langweilen. Wahrscheinlich haben Sie bereits einen oder mehrere gelesen. Darüber hinaus gibt Ihnen jedes der vier J2EE-Bücher, die ich hier rezensiere, einen solchen Überblick.

In diesem Artikel überprüfe ich die folgenden vier J2EE-Bücher:

  • CodeNotes für J2EE: EJB, JDBC, JSP und Servlets, Robert McGovern und Stuart Charlton, herausgegeben von Gregory Brill (Random House, 2002; ISBN: 0812991907)
  • Java für das Web mit Servlets, JSP und EJB, Budi Kurniawan (New Riders Publishing, 2002; ISBN: 073571195X)
  • Professionelle Java Server-Programmierung, J2EE 1.3 Edition, Cedric Beust et al. (Wrox Press, 2001; ISBN: 1861005377)
  • Sams bringt sich in 21 Tagen J2EE bei, Martin Bond, Dan Haywood, Debbie Law, Andy Longshaw und Peter Roxburgh (Sams, 2002; ISBN: 0672323842)

Über die Vorzüge jedes Buches hinaus beschäftige ich mich auch mit deren Bonusressourcen wie Websites oder CDs. Abschließend fasse ich meine Vergleiche zusammen und gebe Ihnen eine endgültige Antwort, welche die beste ist.

Wenn ich eine Buchbesprechung lese, insbesondere eine vergleichende Buchbesprechung, möchte ich eindeutige Antworten. Für diese Rezension beantworte ich dann die Frage: "Welches Buch werde ich auf meiner viertägigen Rucksackreise in die Wildnis der Auswanderer nächste Woche mitbringen?"

J2EE-Bücher auf einen Blick
  CodeNotes für J2EE: EJB, JDBC, JSP und Servlets Java für das Web mit Servlets, JSP und EJB Professionelle Java Server-Programmierung, J2EE 1.3 Edition Sams bringt sich J2EE in 21 Tagen bei
Preis (US $) 9,95 9,99 4,99 9,99
Seiten 222 953 1,248 1.094
Gewicht 9,25 oz. 3 lbs., 5 oz. 4 lbs., 1 oz. 4 lbs., 1,5 oz.
Index Basic Gut Gut Gut
Glossar Nein Nein Nein Ja
CD-ROM Nein Ja - einfach Nein Ja gut
Autoren 3 1 13 5
J2EE-Version abgedeckt 1.2.1 1,3 * 1.3 1.3

* Nicht ausdrücklich angegeben; Ich habe dies aus der Tatsache abgeleitet, dass er Servlet 2.3, JSP 1.2 und EJB 2.0 abdeckt.

CodeNotes für J2EE: EJB, JDBC, JSP und Servlets

CodeNotes für J2EE: EJB, JDBC, JSP und Servlets sind auf 222 Seiten erheblich kürzer als die Brüder (oder haben Sie gedacht, dass dies ein Tippfehler ist?). Die CodeNotes-Reihe ist bestrebt, jedes technische Fach auf weniger als 200 Seiten zu unterrichten - ein lobenswertes Konzept.

Die Webseite

Während ich von Anfang an CodeNotes für J2EE bevorzugte : EJB, JDBC, JSP und Servlets , war ich verärgert darüber, wie das Schreibteam einen Teil der Eleganz erreicht hat: Sie verbannen regelmäßig verschiedene Themen auf die CodeNotes-Website (das Buch enthält keine CD).

Ich halte das für einen Betrug, aber in der Praxis fand ich es nicht so schmerzhaft. Außerdem könnte ich etwas mehr darüber unterscheiden, was ich lesen musste. Normalerweise lese ich beim Lesen eines Buches unnötige Teile durch, es sei denn, sie sind wirklich lang und eindeutig irrelevant. In diesem Fall werde ich mich nicht darum kümmern, eine bestimmte Referenz auf der Website zu lesen, wenn sie nicht relevant ist.

Als ich ein Thema auf der CodeNotes-Website nachschlagen wollte, fand ich die Website leider langsam und unzuverlässig. Als ich das letzte Mal versuchte, darauf zuzugreifen, erhielt ich die Meldung "Verbindung zum JRun-Server konnte nicht hergestellt werden" - keine anregende Anwendung der J2EE-Technologien. Lassen Sie uns ihnen den Vorteil des Zweifels geben und ihn auf ein Hardwareproblem hinweisen. Wenn Sie dies lesen, ist die Website hoffentlich wieder online.

Das Buch

Was das Buch selbst betrifft, so verbringen die Autoren ironischerweise zu viel Zeit (oder sozusagen zu viele Seiten) mit Themen, die am besten auf die Website verbannt werden. Insbesondere das einführende JDBC-Material (Java Database Connectivity) erscheint völlig unnötig, da zahlreiche andere Bücher nur JDBC behandeln.

Ebenso könnte die grundlegende Servlet- und JSP-Abdeckung (JavaServer Pages) in einem Buch dieses Typs zurückgefahren (oder auf die Website verschoben) werden. Da es sich um ein dünnes Buch handelt (eine gute Sache), sollte es schnell die in der Literatur gut behandelten J2EE-Aspekte überfliegen. Ich vermute, dass jeder, der sich ernsthaft mit J2EE beschäftigt, wahrscheinlich bereits über ein reichhaltiges Bücherregal verfügt, darunter Bücher über Java selbst, Swing, JDBC, Servlets, SQL und JavaScript.

CodeNotes für J2EE: EJB, JDBC, JSP und Servlets haben einen spärlichen Index, und die vagen Überschriften des Inhaltsverzeichnisses - wie "Ordentliche Tricks" und "Kernkonzepte" - haben mir nicht geholfen, bestimmte Themen zu finden. Wenn ich nicht sicher gewusst hätte, dass das Buch ein bestimmtes Thema abdeckt, hätte ich angenommen, dass das Buch es nicht abdeckt und aufgegeben hat.

CodeNotes für J2EE: Die geringe Größe von EJB, JDBC, JSP und Servlets ist praktisch, um unterwegs zu lernen, ein oder zwei Seiten zu lesen, während Sie beim Zahnarzt warten oder einen doppelten Schuss, einen peitschenfreien, fettfreien Mokka Valencia im lokales Café. Das größte Problem des Buches: Es ist einfach nicht auf dem neuesten Stand mit J2EE 1.3. Das Buch behandelt J2EE 1.2.1, wurde jedoch (noch) nicht aktualisiert. In dem Buch werden beispielsweise nachrichtengesteuerte Beans als kommende Funktion erwähnt , aber nicht weiter erläutert.

Um zusammenzufassen

Trotz all meiner Griping mochte ich CodeNotes für J2EE im Allgemeinen. Ich mag ein Buch, das sich durch das Material zieht und nicht auf zuvor gemachte Punkte plappert oder diese wiederholt. In der Tat wünschte ich mir, mehr Verlage würden diesen Stil bevorzugen. Also, Leute von CodeNotes, bitte verschwenden Sie keine Zeit mehr mit dem Schreiben von .Net-Material und aktualisieren Sie Ihr J2EE-Buch!

Java für das Web mit Servlets, JSP und EJB

Ich fand Java für das Web mit Servlets, JSP und EJB einen allgemein klaren, meist gut geschriebenen Text, aber es ist nicht ohne gelegentlichen literarischen Schluckauf.

Budi Kurniawan verfolgt einen pragmatischen Ansatz zur Lösung einiger spezifischer Probleme, z. B. programmierbares Herunterladen von Dateien (Herunterladen von Dateien mit Authentifizierung) und Hochladen von Dateien, ein Online-E-Book und ein einfaches Beispiel für einen Einkaufswagen. Einige dieser Beispiele wirken jedoch an den Rändern etwas rau. Zum Beispiel scheint das Beispiel "XML-basiertes E-Book" etwas nicht überzeugend. Während Kurniawan die Vorteile des E-Books gegenüber Büchern auf Papier hervorhebt, widerlegt er seine Argumentation, indem er kein Material im E-Book-Format veröffentlicht hat. Die Untersuchung des E-Book-Projekts zeigt die Gründe: Er hat es so gestaltet, dass jedes Thema eine separate HTML-Datei und der Inhaltsbaum eine XML-Datei ist. Ein Buch in dieser Form zu verwalten wäre ein absoluter Albtraum. Trotzdem stellt das E-Book einen Ausgangspunkt dar, der zu etwas überschaubarerem verfeinert werden könnte (links,natürlich als Übung für den Leser).

Das JavaScript-Debakel

Aus irgendeinem Grund verbringt Kurniawan mehr als 100 Seiten mit der Diskussion über JavaScript. doppelt verwirrend, weil seine JavaScript-Kenntnisse begrenzt zu sein scheinen und seine Beispiele schrecklich sind. Er macht offensichtlich falsche Aussagen zu JavaScript-Funktionen - "Wenn Sie mit Objekten in JavaScript arbeiten, ist das Array-Objekt im Grunde Ihre einzige Wahl" (S. 621) - und verwendet einen schlechten Programmierstil. Er behauptet auch, dass JavaScript für die Unabhängigkeit des Browsers verwendet werden sollte (S. 485), dass dies jedoch im Widerspruch zu mehreren ganzen Kapiteln über die Unklarheiten der JavaScript-Codierung steht ("Überprüfen, ob JavaScript aktiviert ist", "Umgang mit JavaScript-unbekannten Browsern", "Umgang mit anderen") Versionen von JavaScript "usw.", ganz zu schweigen von der Realität. Zu Recht oder zu Unrecht wirft dies einen langen, dunklen Schatten auf die Glaubwürdigkeit des Buches.

Java für das Web mit Servlets, JSP und EJB enthält 76 Seiten J2EE-Referenzmaterial - eine Teilmenge der Javadocs, die mit J2EE kostenlos geliefert werden -, die ich als Baumverschwendung betrachte (die Art, die im Wald wächst, nicht die Art, die hergestellt wird mit objektorientiertem JavaScript). Wer schlägt API-Aufrufe in einem Buch nach? Die Javadocs sind schneller und eher auf dem neuesten Stand. Eine kleine Fettabsaugung auf dem JavaScript und dem Referenzmaterial sowie eine Reduzierung der Unmengen vonout.println("

"); Zeilen in einigen Servlet-Beispielen würden dieses Buch um mehr als 20 Prozent verkleinern.

Die CD

Java für das Web mit Servlets, JSP und EJB enthält eine CD, deren dünn besiedelte Codebeispiele sicherlich besser auf einer Website veröffentlicht werden sollten. Vielleicht erhöht die CD den wahrgenommenen Wert des Buches und gibt ihm einen kleinen Vorteil gegenüber Büchern ohne CD im Buchhandlungsregal? Die CD enthält Kurniawans Dateien zum Hochladen und Herunterladen von Dateien, aber er enthält keine Javadocs.

Seltsamerweise befinden sich die Codelisten der CD in Textdateien mit dem Namen "kapitelabschnitt.txt", die Sie umbenennen müssten, um von Nutzen zu sein. Beispielsweise müssten Sie das erste benannte Codebeispiel kopieren und umbenennen 01-01.txt, TestingServlet.javabevor Sie es verwenden können.

Websites

Weder die New Riders-Site noch die BrainySoftware-Site enthalten Informationen, die nicht auch im Buch oder auf der CD enthalten sind.

Um zusammenzufassen

Vielleicht halten es Verlage für notwendig, ein dickes Buch für ein beeindruckendes Thema wie J2EE im Regal zu haben. Ich denke, die JavaScript-Kapitel könnten gewinnbringend durch einen einfachen Verweis auf ein JavaScript-spezifisches Buch ersetzt werden. Da mein Rucksack bereits mehr als 40 Pfund wiegt, sehen all diese Nicht-J2EE-Seiten ziemlich schwer aus.

Professionelle Java Server-Programmierung

Bei dieser Überprüfung muss ich meine anfängliche Voreingenommenheit gegenüber der dreizehnköpfigen professionellen Java Server-Programmierung eingestehen . Ich dachte, so viele Köche würden ein verstreutes und unorganisiertes Menü produzieren. Ich freue mich jedoch zu berichten, dass sich meine Voreingenommenheit als falsch erwiesen hat. Vielleicht eignet sich ein großes und vielfältiges Thema wie J2EE zum Schreiben von Banden? Die professionelle Java Server-Programmierung deckt J2EE sowohl umfassend als auch umfassend ab (nicht überraschend, da es die meisten Seiten und den kleinsten Druck der vier von mir getesteten Seiten enthält).

Die professionelle Java Server-Programmierung umfasst ausführlich JNDI (Java Naming and Directory Interface), verschiedene Aspekte von Servlets, JSP- und Tag-Bibliotheken, JavaMail, die verschiedenen EJB-Typen, JMS (Java Message Service), J2EE Connector Architecture (JCA), Webdienste und Einsatz.

Auf der anderen Seite muss ich die zwei physischen Mängel des Buches erwähnen: Erstens, mit zahlreichen attraktiven Buchumschlägen, die von Verlagen wie Manning, New Riders und O'Reilly & Associates angeboten werden, könnte man meinen, Wrox Press könnte ein interessanteres Cover produzieren als eine Collage von 13 Nerds. Was dachten sie? Darüber hinaus führte die minderwertige Bindung des Buches dazu, dass sich die Seiten lösten und herausflatterten (und nein, das lag nicht daran, dass ich versucht hatte, den Einband abzureißen!).

Die Webseite

Während Professional Java Server Programming keine CD enthält, enthält die Website herunterladbaren Quellcode und eine dankbar kurze Errata-Liste. Ich hatte einige Probleme beim Auffinden der Website des Buches (Sie können den praktischen Link unten verwenden). Das Buch selbst verweist Sie auf die Wrox Press-Homepage. Sobald Sie dort sind, ersparen Sie sich bei der Suche nach ISBN 1861005377 die meisten Probleme.

Um zusammenzufassen

Die professionelle Java Server-Programmierung deckt J2EE gründlich ab. Sie finden darin eine gute Desktop-Referenz und eine solide J2EE-Einführung. Wenn Sie fleißig genug sind, um es von Anfang bis Ende zu lesen, werden Sie wahrscheinlich eine Weile dabei sein (in der Tat sollten Sie sich beeilen, wenn Sie es beenden möchten, bevor J2EE 1.4 fertiggestellt ist!), Aber wenn Sie fertig sind, sind Sie es wird sicherlich ein solides J2EE-Fundament aufgebaut haben.

Sams bringt sich J2EE in 21 Tagen bei

Das kräftige Sams Teach Yourself J2EE in 21 Tagen durchquert auch ein riesiges J2EE-Gebiet. Wie bei der professionellen Java Server-Programmierung werden alle wichtigen J2EE-Punkte sowie Entwurfsmuster und Refactoring abgedeckt.

Von Anfang an fand ich den Schreibstil der Autoren jedoch lästig. Wortauswahl wie "verwenden" (die dreisilbige Version von "verwenden") und allgegenwärtige Überladung des Wortes "gegen", um "zu", "mit" oder "für" zu bedeuten ("... verwendet eine registrierte Verbindungsfactory) gegen den Standard-JNDI-Namen ... "(S. 406)) hat mich nach einer Weile wirklich geärgert.

Die Beschreibung des Namens- und Verzeichnisdienstes des Buches enthielt (erfunden?) Eine umgekehrte gemischte Metapher: Zuerst haben die Autoren ein Telefonbuch einem Namensdienst gleichgesetzt, dann haben sie Gelbe Seiten einem Verzeichnisdienst gleichgesetzt (da Sie mit Gelben Seiten nach zusätzlichen Attributen suchen können). nicht nur ein Name). Anschließend heißt es im Text, dass ein Telefonbuch als Verzeichnis bezeichnet wird, da es sich tatsächlich um einen Verzeichnisdienst handelt (was sind nun die Gelben Seiten?), Und endet mit dieser amüsanten Zusammenfassung: "Mit dem Telefonverzeichnisdienst können Sie eine Person oder nachschlagen Telefonbuch des Unternehmens mit ihrem Namen als Schlüssel. " (S. 83) Hmm. Ich kann nur vermuten, dass die Redakteure so verwirrt waren, dass sie diesen in Ruhe ließen. Während solche Dinge meiner Sensibilität widersprechen, bin ich in dieser Frage wahrscheinlich in der Minderheit, und Sie können diese Kritik ignorieren.

Erfahrene Programmierer finden möglicherweise einige der Einführungsmaterialien ärgerlich. Darüber hinaus sind die beiläufigen (und falschen) Bemerkungen der Autoren, die monolithischen Code mit Spaghetti-Code gleichsetzen, und die Behauptung, dass der gesamte OOP-Code (Nonobject Oriented Programming) per Definition schlecht gestaltet ist (sowie die dumme Andeutung, dass sich ein einfacher Wechsel zu OOP schlecht transformiert) entworfener Code in gut gestalteten Code) hilft nicht.

Die CD

Ich fand die CD des Buches nützlich und professionell gemacht. Entsprechend benannte Dateien und eine einführende HTML-Seite helfen Ihnen beim Navigieren auf der CD. Die CD enthält auch das Buch im PDF-Format, das für Suchzwecke nützlich sein kann.

Schließlich nutzen die Autoren den zusätzlichen Speicherplatz der CD, indem sie nützliche Tools einbinden, darunter das Build-Tool Ant 1.4.1, die Java-IDE Forte 3.0, den EJB-Server JBoss 2.4.4 und vieles mehr. Natürlich können Sie sie einzeln herunterladen, aber das ist eine nette Geste.

Die Webseite

Obwohl das Buch eine Website enthält, erfüllt es nicht viel Zweck, da sich alles, was Sie benötigen, auf der CD befindet.

Um zusammenzufassen