Java Enterprise

J2EE, MVC, JSF, Struts, Hibernate, Spring, EJB's, Ant.

Actualizando de Tapestry 5.0.15 a versiones más nuevas

Recientemente tuve algunos problemas actualizando una aplicación que utilizaba Tapestry 5.0.15 a 5.0.17 y tuve que buscar bastante para encontrar los problemas porque no están muy bien documentados algunos cambios, así que decidí publicar esta información aquí:

Lo más importante es que los campos de sus clases de páginas que anoten con @Property, no pueden tener un valor por default, ni pueden tener un método getter o setter. Si necesitan implementar uno de los dos métodos, van a tener que implementar ambos y quitar la anotación @Property. Si tienen un valor default, se lo deben asignar en algún otro lugar (un método anotado con @BeforeRender o hacer el getter que verifique si ya tiene algun valor y asignárselo en caso de que no, vigilando que si el valor puede ser fijado a nulo por el usuario, no hay que volver a ponerle nada, etc).

Abuso de recursos en aplicaciones web y otros horrores

Les dejo esta anécdota a los programadores que visitan javamexico.com en busca de respuestas para ciertos problemas básicos y que a veces se ofuscan buscando algo muy concreto y pierden de vista el diseño general de su aplicación. La moraleja: si tienes un problema que parece algo difícil de resolver y/o la solución es muy tediosa de implementar, lo más probable es que alguien ya lo haya hecho antes. Y probablemente hay algún proyecto de software libre que contiene ya la manera de solucionar tu problema de manera sencilla. El principio DRY: Don't Repeat Yourself (en contraste con el síndrome NIH, Not Invented Here, que es tan común en muchas casas consultoras donde prefieren inventar el hilo negro en cada proyecto en vez de utilizar soluciones externas).
Hace poco me tomé un proyecto que originalmente tenía otra persona y al revisar su código me encontré varios horrores... un pequeño sitio web que en cada JSP tenía código Java para abrir una conexión a la base de datos, pero desde encontrar el Driver y pedir Connection, hasta cerrarla en el finally.

Netbeans6.5 Release Candidate2

Ya salió a la luz la rc2 de netbeans 6.5

http://download.netbeans.org/netbeans/6.5/rc/

Entre las características más sobresalientes que incluye son desarrollo web, empresarial, escritorio, aplicaciones móviles, php, javascript, java, C/C++ , Editor UML, soporte para bases de datos, SOA, Rest, Profiler, soporte para SCM, Tomcat/Glassfish por default, Ruby y Groovy, soporte robusto para php, debugging de javascript para firefox e internet explorer (con sugerencias de compatiblidad entre navegadores), soporte para jquery, prototype y otras librerías js. Esta versión también incluye muchas mejoras en el editor de java y ruby on rails, desarrollo C/C++. En la parte java se incluye soporte y autocompletado para hibernate, spring, importador de proyectos eclipse, y algo llamado compile on save (Lo copiaron de eclipse y consiste en compilar al momento de guardar las clases para simular "Live class reloading" osea ver los cambios en caliente sin reiniciar manualmente el servidor). Esta release candidate incluye mejoras a la versión beta y muchas muchas características no incluidas aquí .... todo en un mismo paquetito con la opción de descargarlo en español

Modificación de código con Javassist

Recientemente tuve contacto con esta librería, que permite hacer cosas bastante interesantes. El objetivo central de la misma es permitir la manipulación de de clases de Java, directamente sobre los binarios, en tiempo de ejecución.
Dentro de su funcionalidad está la capacidad de leer y modificar las anotaciones que tiene un método o clase, siempre y cuando hayan sido definidas con Retention.CLASS o Retention.RUNTIME, es decir, anotaciones que se quedan en la clase compilada pero son ignoradas por la JVM al momento de utilizar la clase, o bien anotaciones que se quedan en la clase y son visibles en tiempo de ejecución.
Lo interesante es que se pueden ver las anotaciones y otras propiedades de una clase y sus métodos, antes de cargarla a la JVM, esto porque se lee el archivo .class directamente y se interpreta, e incluso se puede modificar. Por ejemplo, se pueden agregar anotaciones a una clase que no las tenía.
Incluso parece ser que se pueden modificar métodos, agregando código al principio o al final del mismo; crear clases al vuelo que heredan de clases existentes.

Desarrollo aplicaciones WEB

Hola buenas tardes soy nuevo en esta comunidad, desarrollo aplicaciones java pero SWING, estoy por comenzar con aplicaciones Web me podrian dar una breve introducción o links para algun manual.

Celebrando 10 años de Netbeans

Ah! que rápido se pasa el tiempo,... como se dice por allí, "parece que fue ayer.." total que ya es el cumpleaños número 10 de Netbeans.

En la página del proyecto de Netbeans se hace una invitación para que se junte la comunidad y celebre este importante acontecimiento, a la vez que se reconozca a la gente y a los proyectos que han hecho posible el éxito de esta gran herramienta.

http://www.netbeans.org/birthday/

Al momento de publicar esta nota se encuentra disponible la versión 6.1 de la cual puedo apreciar tres características importantes, desde mi punto de vista, claro.

El soporte para JavaScript, El soporte y la integración por defecto con el Framework de Spring y El soporte y la integración con MySQL.

En fin, pues no me queda más que hacer la invitación para que prueben y evaluén esta herramienta si es que aún no la conocen.

http://www.netbeans.org/


Sale y vale
Byte

Pool de conexion en webLogic Server

Hola a todos, necesito que me ayuden a configurar un pool de conexiones de mi aplicacion con oracle en el servidor de aplicaciones webLogic Server de Oracle. De antemano gracias.

Spring MVC

Hola a todos, quisiera saber si alguien tiene o sabe de algun manual o tutorial de Spring en español que me puedan facilitar, hasta ahora lo que encuentro en español estan muy muy basicos y en el ingles estoy muy novato, gracias.

Liberado Jersey 1.0

Ha sido liberada la versión 1.0 de Jersey, que es la implementación de referencia de Sun de la especificación JAX-RS 1.0, la API para el soporte de Servicios RESTful (Servicios Web bajo la arquitectura REST) en la plataforma Java.

Los Servicios RESTful ya se podían implementar con JAX-WS, pero con JAX-RS resulta más sencillo y "adecuado", de modo que JAX-RS es a los Servicios RESTful lo que JAX-WS es a los "Servicios SOAP".

jBoss

Hola a todos, necesito saber si alguien sabe de alguna documentacion de jBoss en Español que me puedan facilitar, ya lo descargue e instale en Red Hat, ya genere el .war de mi proyecto y lo coloco en: /usr/local/jboss/server/default/deploy/ la pagina inicial de jboss si me la abre (http://localhost:8080) pero al momento de querer ver mi proyecto no lo hace (http://localhost:8080/proyecto). El mismo .war lo uso para tomcat en /tomcat/webapp/ y ahi si jala chingon. Alguien me podria decir cual es el problema?

Distribuir contenido