JEE / J2EE ¿Por donde empiezo?
Durante los últimos días, una parte de mi tiempo, lo dedico a dar apoyo a un compañero de trabajo que está comenzando en el inmenso y duro mundo de "Java Enterprise Edition". Ayer me comentaba lo díficil que es hoy en día hacer esta labor de aprendizaje y lo cierto es que no puedo evitar darle la razón. Voy ha hacer un poco de abuelo cebolleta
.
En mis tiempos, empezabas por aprender lo que era un Servlet, luego hacias un par de JSP, le dabas cuatro vueltas a lo de los EJB (con los Entity Beans era mas que suficiente), algo de JDBC y listo.
Si lo tuyo era lo de ser el primero de la clase, te echabas entre pecho y espalda The Java PetStore, como ejemplo claro de como no se deben hacer las cosas, salvo que lo que pretendieses era tener una aplicación lenta y compleja de mantener.
Sobre los entornos de desarrollo, los tradicionales como yo, tirabamos de editores genericos de texto (el mío era Scite). Los más valientes usaban Kawa. ¡Eso era programar y no lo de ahora con el Eclipse o el Netbeans!
Nada de ant ni mucho menos de maven, un .bat o un bash-script, según fueses Windows o Unix, y vas que te matas.
Hoy en día las cosas son muy diferentes. Te compras un par de libros, te bajas unos tutoriales de la red y ¡zas! la primera en la frente. En unos sitios hablan de J2EE y en otros de JEE. Luego descubres que es lo mismo, que le han cambiado el nombre por eso del marketing
.
Ahora vamos con la versión de Java a usar: La 1.4 es muy vieja, no mola, pero resulta que se usa todavía en la mayoría de los sitios de producción. Pues vaya faena, sobre todo si el libro que te acabas de comprar usa en sus ejemplos funcionalidades que sólo se puede hacer con Java 5/6
.
Continuas haciendo un ejemplo sencillito, lo tipico, un mantenimiento altas/bajas/consultas. Empiezas con JDBC, a poco que leas, resulta que parece que lo correcto es usar un ORM: ¿Cual? Hibernate, IBatis, JPA, Toplink, .... (sin comentarios). Cuando ya estas harto de usar HTML a "pelo" y hacerte tu propio MVC, te vuelves a encontrar con multiples opciones: JSF, Struts, Spring, ...
Y así hasta el infinito, cojas lo que cojas, siempre para todo hay muchas alternativas: EJB3, AOP, POJO (hay que ver que mal suena esto), SWT, Seam, Porlets, JFace, AJAX, Swing, ESB, JBPM, JDO, .... ¡¡¡ Por favor, que alguien pare de decir siglas !!!
.
No es por desanimar, pero subirse a este tren que va a máxima velocidad está realmente complicado, y al final tienes la sensacion de estar en una especie de Expediente X diciendo "la verdad esta ahí fuera" pero yo no la veo.
Conclusión: Sin algo de ayuda, el camino en solitario se antoja casí imposible de realizar. En los próximos posts intentare ir dando un poco de luz y hacer de guía. No pretendo hacer una serie de tutoriales, de esos hay cientos en la red y excelentes libros , será una mezcla entre pequeñas introducciones, recopliaciones de enlaces a tutoriales, libros, etc. A ver si queda bien, por cierto ¿Te animas a colaborar?
.
PD: El enlace que hay a The Java Pet Store es a una versión mucho más reciente y espero, mejor hecha, que la que en su día me toco "digerir".
PD: Que no se entienda este tocho-post como una crítica hacia Java, es tan sólo una reflexión un tanto exajerada, desde la perspectiva de alguien que empieza. En mi humilde opinion, Java y su "alrededores", son una gran aportación al mundo de la informatica empresarial: En relativamente pocos años, se ha avanzado mucho. La libertdad de elección es una gran cosa, fomenta la competitividad, siempre hay una version gratuita de casi todo lo que busques; pero admitamoslo: El precio que se paga por tanta variedad no es bajo.
Imprimir este artículo
Aún no hay trackbacks.







16 Septiembre, 2008 - 23:22
Jejeje, esto a mi me suena de algo…
Un problema común es que empiezas a hacer algo, escoges un framework (porque es el primero que encuentras) y luego alguien te dice “pues este otro es mejor”. Lo miras, te gusta, cambias, y viene otro y vuelta a empezar.
Hoy en día ya no se aprende java realmente, sino un framework. He oído a gente que no dice “yo se java” sino “yo se struts”. Y realmente, no dice ninguna tontería.
Porque hoy en día, saber java puro y duro, es necesario, pero es quedarte corto. Pero tampoco se puede abarcar todo…
16 Septiembre, 2008 - 23:22
(Y por cierto, suerte en tu nueva aventura!!!)
17 Septiembre, 2008 - 08:31
David, estoy de acuerdo contigo, lo más práctico es aprender lo que vas a neceistar de manera inmediata y luego ya irás ampliando conocimientos. Aunque tambien es cierto, que en muchas ocasiones “abrir la mente” a nuevas modos de hacer lo mismo ayuda a dar mejores soluciones; y no nos engañemos, a los informáticos esto de aplicar el nuevo framework XXX o la versión mejoradal del YYY “nos pone”
18 Septiembre, 2008 - 10:10
CmaJ, completamente de acuerdo. Es un doble problema endémico de nuestro tiempo:
1. Capas y capas de abstracción, el código queda aparentemente más elegante (o mejor aún, sin código sólo XMLs de configuración y XSLs) y eso parece que nos la pone dura.
2. Con la globalización y las comunidades opensource, las iniciativas y proyectos de frameworks crecen como setas y todos tenemos ideas geniales que pensamos que son mejores que lo que pensado el resto del mundo. Cojones, pero si hasta configurar un sistema de Log ahora es un infierno!!!
Y el problema ya no es que aprender una tecnología nueva ahora es misión imposible y cada vez con la edad nos da más pereza… sino que es que además luego, en Explotación, ponte a mirar por qué a fallado algo. Vamos que necesitamos un equipo de 80 personas, cada uno Experto en una capa de la arquitectura. Un horror.
Y esto no lo digo yo, nuestro común P.R. lleva quejándose amargamente de ello por lo menos 5 años!!!
Por eso me encantan iniciativas como https://simple-log.dev.java.net/ (“A logging anti-framework”). Propongo al mundo hacer esto mismo en todos los ámbitos: Frameworks minimalistas y ligeros!!!
La otra alternativa es convertir esto en un Visual Studio .NET y a tomar por el culo. Que el desarrollador no sepa nada de lo que hay dentro, ni maldita falta que le hace, pero luego vendrá el llanto y rechinar de dientes cuando lleguen las incidencias esotéricas. Y en esa línea se está trabajando por cierto. Hoy en día, con NetBeans 6 + Visual JSF + Java Persistence API, tenemos el 90% de lo que requiere el 90% de las aplicaciones web, y con editor gráfico de las páginas e incluyendo paginación y todo tipo de mingadas.
En fins…
18 Septiembre, 2008 - 10:17
Y por otro lado, este AVE en marcha que dices choca con la filosofía actual que tienen las nuevas generaciones gracias a Google, a las WIKIS, a los Blogs y a esta adicción por las presentaciones y resúmenes ejecutivos del siglo XXI.
¿Qué es eso de comprarte un libro? ¿o tres para poder comparar? ¿leer 600 páginas? ¿hacer tutoriales? ¿tirarte meses de investigación para hacer una elección? Ni de coña. Ahora lo que hacemos todos es buscar en Google si alguien tuvo exactamente la misma necesidad que yo, y a ver cómo lo hizo, o mejor aún copiar y pegar.
18 Septiembre, 2008 - 21:42
¡Me gusta el “simple-log”! No lo conocía. Está muy en la línea del a filosofía de los comandos Unix: Haz una única cosa y hazla muy bien (o algo así, no lo recuerdo con exactitud).
19 Septiembre, 2008 - 09:40
Pues cuando tengas un rato échale un vistazo a crear en Netbeans un proyecto “Visual JSF” con componentes Woodstock…
No es que sea perfecto ni mucho menos (a mi los componentes Woodstock no me gustan), pero su simplicidad merece la pena…
15 Marzo, 2009 - 13:36
Dejo aquí un enlace que me he encontrado y que me ha parecido interesante aunque un tanto “largo”:
http://www.ibm.com/developerworks/java/newto/