Tantos libros J2EE, tan poco tiempo

Cuando se trata de J2EE (Java 2 Platform, Enterprise Edition), no conoce una colina de Enterprise JavaBeans (EJB). No se preocupe, encontrará mucho material de lectura para echarle una mano. De hecho, ¡puede encontrar demasiado! Estoy aquí para ayudarlo a reducir las opciones a un solo libro que puede llevar de la librería sin tener una hernia.

J2EE es una colección variada de tecnologías del lado del servidor que juntas forman la base de potentes aplicaciones empresariales. No te aburriré con otra descripción general de J2EE; es probable que ya haya leído uno o más. Además de eso, cualquiera de los cuatro libros J2EE que reviso aquí le dará una descripción general.

En este artículo, reviso los siguientes cuatro libros J2EE:

  • CodeNotes para J2EE: EJB, JDBC, JSP y Servlets, Robert McGovern y Stuart Charlton, editado por Gregory Brill (Random House, 2002; ISBN: 0812991907)
  • Java para la Web con Servlets, JSP y EJB, Budi Kurniawan (New Riders Publishing, 2002; ISBN: 073571195X)
  • Programación profesional de servidores Java, J2EE 1.3 Edition, Cedric Beust et al. (Prensa de Wrox, 2001; ISBN: 1861005377)
  • Sams Teach Yourself J2EE en 21 días, Martin Bond, Dan Haywood, Debbie Law, Andy Longshaw y Peter Roxburgh (Sams, 2002; ISBN: 0672323842)

Más allá de los méritos de cada libro, también profundizo en sus recursos adicionales, como sitios web o CD. Finalmente, resumo mis comparaciones y te doy una respuesta definitiva sobre cuál es la mejor.

Cuando leo la reseña de un libro, especialmente una reseña comparativa, quiero respuestas inequívocas. Entonces, para esta revisión, respondo la pregunta: "En mi viaje de mochilero de cuatro días en Emigrant Wilderness la semana que viene, ¿qué libro traeré?"

Libros J2EE de un vistazo
  Notas de código para J2EE: EJB, JDBC, JSP y Servlets Java para la Web con Servlets, JSP y EJB Programación profesional de servidores Java, J2EE 1.3 Edition Sams Teach Yourself J2EE en 21 días
Precio (US $) 9,95 9,99 4,99 9,99
Páginas 222 953 1,248 1.094
Peso 9.25 oz. 3 libras, 5 oz. 4 libras, 1 onza 4 libras, 1.5 oz.
Índice Básico Bueno Bueno Bueno
Glosario No No No si
CD ROM No Sí, básico No Si bien
Autores 3 1 13 5
Versión J2EE cubierta 1.2.1 1,3 * 1.3 1.3

* No declarado explícitamente; Deduje esto por el hecho de que cubre Servlet 2.3, JSP 1.2 y EJB 2.0.

Notas de código para J2EE: EJB, JDBC, JSP y Servlets

Con 222 páginas, CodeNotes para J2EE: EJB, JDBC, JSP y Servlets se ejecuta considerablemente más corto que sus hermanos (¿o pensó que era un error tipográfico?). La serie CodeNotes se esfuerza por enseñar cualquier tema técnico en menos de 200 páginas, un concepto loable.

El sitio web

Si bien preferí CodeNotes para J2EE: EJB, JDBC, JSP y Servlets desde el principio, me disgustó saber cómo el equipo de redacción logró algo de elegancia: relegan periódicamente varios temas al sitio web de CodeNotes (el libro no incluye un DISCOS COMPACTOS).

Lo considero una especie de trampa, pero en la práctica no me resultó tan doloroso. Además, podía discriminar un poco más sobre lo que necesitaba leer. Normalmente, cuando leo un libro, leo partes innecesarias, a menos que sean realmente largas y claramente irrelevantes. En este caso, si una referencia en particular no es pertinente, no me molestaré en leerla en el sitio web.

Desafortunadamente, cuando quise buscar un tema en el sitio web de CodeNotes, encontré que el sitio era lento y poco confiable. Las últimas veces que intenté acceder a él, recibí el mensaje "No se pudo conectar al servidor JRun", no una aplicación estimulante de las tecnologías J2EE. Démosles el beneficio de la duda y atribuyémoslo a un problema de hardware; Con suerte, para cuando lea esto, el sitio estará nuevamente en línea.

El libro

En cuanto al libro en sí, irónicamente, los autores dedican demasiado tiempo (o demasiadas páginas, por así decirlo) a temas que mejor relegan al sitio web. En particular, el material introductorio de JDBC (Java Database Connectivity) parece del todo innecesario, ya que muchos otros libros cubren solo JDBC.

Asimismo, la cobertura básica de servlet y JSP (JavaServer Pages) podría reducirse (o trasladarse al sitio web) en un libro de este tipo. Al ser un libro delgado (algo bueno), debería repasar rápidamente los aspectos de J2EE bien cubiertos en la literatura. Supongo que cualquiera que se embarque en un trabajo serio de J2EE probablemente ya posea una biblioteca abundante, que incluye libros sobre Java mismo, Swing, JDBC, servlets, SQL y JavaScript, entre otros.

CodeNotes para J2EE: EJB, JDBC, JSP y Servlets tiene un índice escaso, y los encabezados vagos de la tabla de contenido, como "Trucos ingeniosos" y "Conceptos básicos", no me ayudaron a encontrar temas específicos. Si no hubiera sabido con certeza que el libro cubría un tema en particular, habría asumido que el libro no lo cubría y me rendiría.

CodeNotes para J2EE: El pequeño tamaño de EJB, JDBC, JSP y Servlets resulta útil para aprender sobre la marcha, leer una página o dos mientras espera en el dentista o mientras toma un trago doble, sin látigo y sin grasa de moca Valencia en el cafetería local. El mayor problema del libro: simplemente no está actualizado con J2EE 1.3. El libro cubre J2EE 1.2.1, pero no se ha actualizado (todavía). Por ejemplo, el libro menciona los beans controlados por mensajes como una característica futura , pero no explica más.

Para resumir

A pesar de todas mis quejas, me gustó CodeNotes para J2EE , en general. Me gusta un libro que recorre todo el material y no parlotea ni repite los puntos mencionados anteriormente. De hecho, me gustaría que más editores favorecieran este estilo. Entonces, amigos de CodeNotes, ¡dejen de perder el tiempo escribiendo material .Net y actualicen su libro J2EE!

Java para la Web con Servlets, JSP y EJB

Encontré Java para la Web con Servlets, JSP y EJB como un texto generalmente lúcido y en su mayoría bien escrito, pero no está exento de contratiempos literarios ocasionales.

Budi Kurniawan adopta un enfoque pragmático para resolver algunos problemas específicos, como la descarga de archivos programables (descarga de archivos con autenticación) y la carga de archivos, un libro electrónico en línea y un simple ejemplo de carrito de compras. Sin embargo, algunos de estos ejemplos parecen un poco toscos en los bordes. Por ejemplo, el ejemplo del "Libro electrónico basado en XML" parece poco convincente. Si bien Kurniawan ensalza las ventajas del libro electrónico sobre los libros en papel, desmiente su argumento al no haber publicado ningún material en formato de libro electrónico. El examen del proyecto de libro electrónico revela las razones: lo diseñó de tal manera que cada tema es un archivo HTML separado y el árbol de contenido es un archivo XML. Gestionar un libro de esa forma sería una auténtica pesadilla. A pesar de eso, el libro electrónico representa un punto de partida que podría refinarse en algo más manejable (izquierda,naturalmente, como ejercicio para el lector).

La debacle de JavaScript

Por alguna razón, Kurniawan dedica más de 100 páginas a discutir JavaScript; doblemente confuso porque su conocimiento de JavaScript parece limitado y sus ejemplos son horrendos. Hace afirmaciones evidentemente falsas sobre las características de JavaScript: "Cuando trabaja con objetos en JavaScript, el objeto de matriz es básicamente su única opción" (p. 621), y utiliza un estilo de programación deficiente. También afirma que JavaScript debe usarse para la independencia del navegador (p. 485), pero eso entra en conflicto con varios capítulos completos sobre los caprichos de la codificación de JavaScript ("Comprobación de si JavaScript está habilitado", "Manejo de navegadores que no reconocen JavaScript", "Manejo de diferentes Versiones de JavaScript ", etc.), sin mencionar la realidad. Con razón o sin ella, eso arroja una sombra larga y oscura sobre la credibilidad del libro.

Java para la Web con Servlets, JSP y EJB incluye 76 páginas de material de referencia de J2EE, un subconjunto de los Javadocs que viene gratis con J2EE, que considero un desperdicio de árboles (del tipo que crece en el bosque, no del tipo hecho con JavaScript desorientado por objetos). ¿Quién busca las llamadas a la API en un libro? Los Javadocs son más rápidos y tienen más probabilidades de estar actualizados. Un poco de liposucción en JavaScript y el material de referencia, además de una reducción de las resmas deout.println("

"); las líneas en algunos ejemplos de servlets reducirían este libro en más del 20 por ciento.

El CD

Java para la Web con Servlets, JSP y EJB incluye un CD cuyas muestras de código escasamente pobladas seguramente se publicarían mejor en un sitio web. ¿Quizás el CD aumenta el valor percibido del libro, dándole una pequeña ventaja sobre los libros sin CD en el estante de la librería? El CD contiene los beans de carga y descarga de archivos de Kurniawan, pero no incluye sus Javadocs.

Curiosamente, los listados de códigos del CD residen en archivos de texto con nombre capítulo-sección.txt que tendrías que renombrar para que sean de alguna utilidad. Por ejemplo, tendría que copiar y cambiar el nombre del primer ejemplo de código, nombrado 01-01.txt, TestingServlet.javaantes de poder usarlo.

Sitios web

Ni el sitio de New Riders ni el sitio de BrainySoftware incluyen información que no se encuentre también en el libro o en el CD.

Para resumir

Quizás los editores sientan que es necesario tener un libro grueso en el estante para un tema formidable como J2EE. Creo que los capítulos de JavaScript podrían reemplazarse de manera rentable por una simple referencia a cualquier libro específico de JavaScript. Con mi mochila que ya pesa más de 40 libras, todas esas páginas que no son J2EE parecen bastante pesadas.

Programación profesional de servidores Java

Al entrar en esta revisión, debo admitir mi prejuicio inicial en contra de la programación de servidores Java profesionales de la banda de trece . Pensé que tantos cocineros producirían un menú disperso y desorganizado. Sin embargo, me complace informar que mi parcialidad resultó incorrecta. ¿Quizás un tema amplio y diverso como J2EE se presta a la escritura de pandillas? Professional Java Server Programming cubre tanto J2EE de manera amplia como profunda (no es sorprendente, ya que tiene la mayor cantidad de páginas y la letra más pequeña de las cuatro que revisé).

Professional Java Server Programming cubre a fondo JNDI (Java Naming and Directory Interface), varios aspectos de servlets, JSP y bibliotecas de etiquetas, JavaMail, los diversos tipos de EJB, JMS (Java Message Service), J2EE Connector Architecture (JCA), servicios web y despliegue.

En el lado negativo, debo mencionar las dos deficiencias físicas del libro: primero, con numerosas portadas de libros atractivas ofrecidas por editoriales como Manning, New Riders y O'Reilly & Associates, uno pensaría que Wrox Press podría producir una portada más interesante que un collage de 13 nerds. ¿Que estaban pensando? Además, en una nota un poco menos irónica, la encuadernación de baja calidad del libro provocó que las páginas se soltaran y se agitaran (y no, ¡esto no fue porque traté de arrancar la cubierta!).

El sitio web

Si bien Professional Java Server Programming no incluye un CD, su sitio web incluye código fuente descargable y una lista de erratas, afortunadamente corta. Tuve algunos problemas para ubicar el sitio web del libro (puede usar el práctico enlace a continuación). El libro en sí lo remite a la página de inicio de Wrox Press; una vez allí, la búsqueda por ISBN 1861005377 le ahorrará muchos problemas.

Para resumir

La programación profesional de servidores Java cubre a fondo J2EE. Lo encontrará como una buena referencia de escritorio y una sólida introducción a J2EE. Si es lo suficientemente diligente como para leerlo de cabo a rabo, probablemente lo estará por un tiempo (de hecho, ¡es mejor que se apresure si quiere terminarlo antes de que finalice J2EE 1.4!), Pero para cuando termine, ya está Sin duda habrá construido una base J2EE sólida.

Sams Teach Yourself J2EE en 21 días

El robusto Sams Teach Yourself J2EE en 21 días también atraviesa el vasto territorio J2EE. Al igual que la programación profesional de servidores Java , cubre todos los puntos destacados de J2EE, así como los patrones de diseño y la refactorización.

Sin embargo, desde el principio, el estilo de escritura de los autores me pareció fastidioso. Selección de palabras como "utilizar" (la versión de tres sílabas de "uso") y sobrecarga ubicua de la palabra "contra" para significar "para", "con" o "para" ("... usa una fábrica de conexiones registrada contra el nombre JNDI predeterminado ... "(p. 406)) realmente me molestó después de un tiempo.

La descripción de Naming and Directory Services del libro incluyó (¿inventó?) Una metáfora mixta inversa: Primero, los autores equipararon una guía telefónica con un servicio de naming, luego equipararon las páginas amarillas con un servicio de directorio (porque las páginas amarillas le permiten buscar atributos adicionales, no solo un nombre). Posteriormente, el texto dice que un directorio telefónico se llama directorio porque de hecho es un servicio de directorio (entonces, ¿qué son las páginas amarillas ahora?) Y termina con este divertido resumen: "El servicio de directorio telefónico te permite buscar una persona o directorio telefónico de la empresa utilizando su nombre como clave ". (pág. 83) Hmm. Solo puedo suponer que los editores estaban tan desconcertados que dejaron a este en paz. Si bien esas cosas me molestan, probablemente soy una minoría en este tema y usted es libre de ignorar estas críticas.

Los programadores experimentados pueden encontrar molesto parte del material introductorio. Además, las observaciones improvisadas (e incorrectas) de los autores que equiparan el código monolítico con el código espagueti y la afirmación de que todo el código de programación orientada a no objetos (OOP) está, por definición, mal diseñado (así como la tonta insinuación de que simplemente cambiar a OOP se transforma mal código diseñado en código bien diseñado) no ayuda.

El CD

Encontré el CD del libro útil y hecho profesionalmente. Los archivos con nombres apropiados y una página HTML introductoria le ayudan a navegar por el CD. El CD también contiene el libro en formato PDF, que puede resultar útil para realizar búsquedas.

Finalmente, los autores hacen uso del espacio adicional del CD al incluir herramientas útiles, incluida la herramienta de compilación Ant 1.4.1, el IDE de Java Forte 3.0, el servidor JBoss 2.4.4 EJB y más. Claro, puede descargarlos individualmente, pero este es un buen toque.

El sitio web

Si bien el libro incluye un sitio web, no tiene mucho propósito, ya que todo lo que necesita está en el CD.

Para resumir