Comentarios sobre Spring Web Flow

Que tal chavos,

¿Alguien ha utilizado Spring Web Flow? ¿Tienen algún howto o tutorial que recomienden para empezar a usar esta tecnología? La verdad suena muy interesante pero no he tenido mucho tiempo para examinarlo a detalle.

Saludos

Posted in Enviado por Chololo el Mar, 2025-05-23 10:23.

Facilitando la administración de Spring en un proyecto

A continuación se recomiendan unos lineamientos para mantener a Spring controlable dentro de nuestros proyectos.

Estableciendo nomenclatura

La nomenclatura que nos ha servido en los proyectos es el nombrar los XML de application context de acuerdo a la naturaleza que cubre. Aunado a este lineamiento, esta el de separar todo el app. ctx. en archivos de acuerdo a las capas de la aplicación, y éstos de acuerdo a los módulos que lo componen. La regla se muestra a continuación:

CAPA-[MODULO]-[SISTEMA]-[PROPOSITO]-context.xml

Donde el MODULO y el SISTEMA son opcionales.

De esta manera, una apliación llamada TESORERIA que tenga capas de persistencia, middleware, integración y presentación, tendrá, de menos, los siguientes archivos que, en conjunto, definen el application context entero de Spring.

persistence-context.xml
persistence-unittest-context.xml
middleware-context.xml
middleware-integrationtest-context.xml
integration-context.xml
presentation-context.xml

Opcionalmente, después de cada capa es posible poner 'tesoreria', para indicar el sistema al que pertenecen.

El archivo 'persistence-unittest-context.xml' es un ejemplo de un archivo destinado específicamente para pruebas de unidad, así como el archivo 'middleware-integrationtest-context.xml' esta destinado enteramente a pruebas de integración.

Los archivos de application context deben ir todos en minúsculas, y cada palabra que lo compone debe ser separada por guiones.

Obviamente, Spring en ocasiones conviene el nombre de archivo de acuerdo a alguna tecnología del framework utilizada. En caso de usar Spring MVC, el DispatcherServlet requiere que su configuración este en un archivo '<nombre del servlet>-servlet.xml', contraviniendo a las recomendaciones aquí presentadas.

Enviado por jsramos el Lun, 2025-05-22 12:31.

Spring desde la perspectiva de un desarrollador de EJB’s.

Hace tiempo atrás, un amigo y colega, al saber que soy desarrollador Java, me hizo una pregunta interesante, a lo cual di una respuesta inesperada para él. Primero, contextualizando, el es un desarrollador PHP desde hace varios años. En su trabajo, al haber un cambio de mando en los directivos de alto nivel, se decidió el reemplazar PHP por una tecnología que ofreciera más características, más robustez. Como resultado, se perfilaron dos opciones: Java Enterprise Edition (JEE) y .NET. La interrogante que el me hizo es la siguiente: “¿Tu que tecnología recomendarías, JEE o .NET?”. Mi respuesta fue la siguiente: “Vete por lo sencillo, usa .NET”. Quizás mi respuesta parezca algo absurda proviniendo de alguien que dice disfrutar de programar en Java e incita a que otros lo hagan. Sin embargo, existe una buena razón por la que yo exprese lo anterior: JEE no es sencillo, requiere tiempo para asimilarlo y dominarlo. Una vez seleccionada la plataforma, el equipo de desarrollo, en el cual mi amigo se conduce  como líder técnico, debería de entregar resultados en los próximos meses. Por lo que no habría lugar para una significativa capacitación. Por lo anterior, y teniendo en mente que es mas sencillo, pero no mas poderoso que Java, le sugerí que la opción fuera .NET.
Enviado por ramesrv el Lun, 2025-05-15 11:46.

Publicación de mi primer artículo en SpringHispano

Estoy por terminar un artículo en el cual expreso mi principal razón por la cual adoptar Spring. No es mi intención el hacer un decálogo de “El Por que amar Spring”, sino exponer un hecho que, a juicio personal, lo considero contundente: un desarrollo dirigido por pruebas. Esto sirva para abrir la discusión con respecto a la motivación de usar Spring; desde un punto vista mercadológico  y comercial, identificar el valor agregado que aporta este nuevo framework. Cabe hacer la aclaración, mas que eso, una confesión, de que yo en un principio no estuve interesado en conocer este framework. Sin embargo, ciertos factores y condiciones se presentaron y convergieron de tal forma que tuve que aprenderlo (nótese el acento en cuanto a “tener”). Sin embargo, ya estoy aquí, inmerso en la promoción de esta tecnología; de esto no me arrepiento. Así que, para concluir, cuando este listo el articulo, procuren leerlo.

-//Ramés

Enviado por ramesrv el Mar, 2025-05-09 19:06.

Iniciando con Spring

El día de hoy aparecio un artículo en java.net sobre Spring donde se puede apreciar de forma sencilla las ventajas que tiene sobre la manera tradicional de acceso a la capa de datos.

Why Spring JDBC? por Vikram Veeravelu.

Código más limpio,  un mejor manejo de excepciones y recursos  son algunas de las ventajas que menciona el autor podemos obtener al utilizar Spring en nuestras aplicaciones.

El ejemplo mostrado es muy sencillo y ahi radica su importancia, sirve muy bien para dar el primer paso y adentrarse a este framework.

Muy recomendable para quienes apenas empezamos a conocer Spring.

Esto se pone interesante

Saludos.!!!

Enviado por rugi el Mar, 2025-05-09 13:39.

SpringHispano @ Reunión de la Comunidad Java de México

Este jueves es la 7 reunión de la comunidad Java de México. En esta ocasión Spring Hispano, tendrá una mesa dentro de los workshops. Les adjunto la invitación y esperamos verlos por alla.

Enviado por domix el Lun, 2025-05-08 18:05.

Spring Struts Tiles

Estoy intentando usar  Spring Struts y Tiles en un proyecto pero cuando meto los tiles deja de funcionar mi aplicacion. Se muestra el listado de objetos que obtengo y cuando quiero mandar alguno de ellos a una forma para edicion me sale el error java.lang.IllegalArgumentException: No bean specified. Mi primera idea es que nececito configurar tiles en el Spring pero no se como, espero alguien pueda ayudarme

Posted in Enviado por joch el Lun, 2025-05-08 10:50.

SpringHispano @ SpringOne 2006

Es oficial, Spring Hispano estará presente en el SpringOne 2006. El día de hoy nos enviaron el pase gratuito para estar en el evento. No que no esta seguro es quien de parte de SpringHispano estará representándonos. Yo he tenido mucho trabajo y aunque un viaje a Bélgica no me caería nada mal, no tengo la seguridad de estar disponible los días del evento. Pero como sea, SpringHispano estará mas que presente en ese evento.
Enviado por domix el Vie, 2025-05-05 19:12.

Dev2DevDays 2006 @ Ciudad de México

Hoy se realizo en la Ciudad de México el Dev2Dev de Bea. Es la primera vez que asisto al evento, ya que años anteriores me he registrado pero no habia podido ir..

No estuve en todas las charlas, pero a lo largo de todas las presentaciones el unico expositor de Bea presente, mostro la estrategia de Bea de soportar de manera oficial varios framework open source, entre ellos nuestro querido Spring Framework, Hibernate, Struts, entre otros. Incluso se mostro la consola de administración de WL que puede administrar servidores Tomcat, esto desde WLS 9.

Lo que más que agrado del evento fue Bea esta apostando fuerte al open source, otro ejemplo es que la nueva versión de Workshop ahora esta basado en Eclipse.

Aproveche que en una ocasión me dieron el microfono para promocionar Spring Hispano, habia demasiadas preguntas, dudas, comentarios sobre Spring, que me vi en la necesidad de avisar sobre este sitio y lo que estamos ofreciendo. Bueno, a final de cuentas necesitamos audiencia y más participación.

Algo que me gusto del evento fueron los gafetes de identificación, que siguiendo el slogan "Thinking liquid", estaban muy chulos, tenian una doble cubierta de plastico en la cual pusieron liquido azul y sobre el gafete daba un efecto agradable, para muestra un botón:

Mi gafete

Lo malo del evento fue que el "encargado" de las demos practicas pues no habia practicado mucho :P

Espero que mejoren eso el próximo año.

Enviado por domix el Jue, 2025-05-04 22:49.

JDBC 4.0

Pues tal parece que la JSR 221 (Java specification request) correspondiente a la especificación JDBC 4.0 está programada para ser liberada a mediados de 2006, y trae varias propuestas interesantes que van a cambiar el modo de realizar el acceso a datos:

Para empezar, se planea el uso de annotations para la ejecución de queries (consultas), de tal manera que podemos crear clases como las siguientes:

interface EmployeeQueries extends BaseQuery {
   @Select (sql="SELECT employeeId, firstName, lastName FROM employee")
   DataSet<Employee> getAllEmployees ();

   @Update (sql="delete from employee")
   int deleteAllEmployees ();
}

Por otro lado resalta la creación de una nueva interface: DataSet, cuya principal característica es el uso de Generics y que además es un subset de java.util.List, por lo que podemos usar un iterator sobre dicha clase e incluso usar el ciclo for-each sin mayor complejidad.

También contamos ahora con una nueva jerarquía de excepciones SQL así como un SQLWarning para facilitar la depuración de las aplicaciones.

Entre otras características contamos con soporte directo para XML mediante la interface SQLXML, la carga de Drivers ahora puede ser automática, el DriverManager busca en el classpath la clase apropiada, ya no es necesario utilizar Class.forName("com.tudriver"), así como una interface Wrapper que permitirá encapsular clases que no sean estándar de JDBC para agregar métodos propietarios o exclusivos de determinadas bases de datos.

Enviado por Chololo el Mié, 2025-05-03 09:37.

Extendiendo el módulo Spring de Xdoclet

Hay muchos proyectos que se benefician con el uso de Xdoclet para generar aquellos archivos de configuración necesarios para su funcionamiento. En el caso de Spring si uno no cuenta con una buena herramienta para la sincronización de los Beans con el respectivo archivo xml (como es el plugin SpringIDE), puede volverse una pesadilla, sobretodo cuando ya se cuenta con varios cientos de beans.

Xdoclet puede ayudar a mantener esta coesión al proporcionar los datos para generar los archivos de configuración mediante tags similares a los de javadoc. El problema es que la versión más actual de Xdoclet (1.2.3), no cuenta con soporte para varios de los atributos de configuración de xml, por lo que es necesario extender la plantilla xdt  (mediante la cual genera los archivos) para así añadirle los demás atributos.

Enviado por Chololo el Mar, 2025-05-02 12:29.

Extendiendo SimpleFormController para realizar múltiples operaciones

Cuando uno desea usar un SimpleFormController de Spring MVC para realizar múltiples operaciones sobre una página (como pueden ser las CRUD básicas por ejemplo), se topa con el problema de que solo hay un método para manipular el submit de un usuario: processFormSubmission.

A continuación muestro una manera elegante de solucionar este problema a partir de un post que realizó un usuario en los foros de Spring. Esta solución se basa en usar un MethodNameResolver para determinar el método a ejecutar cuando se da un submit, resultando un híbrido de un SimpleFormController y un MultiActionController, permitiendo las ventajas de ambos mundos:

public abstract class SimpleMultiActionFormController extends SimpleFormController {

    private MethodNameResolver methodNameResolver;
   
    public final void setMethodNameResolver(MethodNameResolver methodNameResolver) {
        this.methodNameResolver = methodNameResolver;
    }
   
    public final MethodNameResolver getMethodNameResolver() {
        return this.methodNameResolver;
    }
   
    protected ModelAndView processFormSubmission(HttpServletRequest request,
            HttpServletResponse response, Object command, BindException errors)
Enviado por Chololo el Mar, 2025-05-02 12:08.

Como usar Taglibs de JSP con Freemarker y Spring

Como tal, Spring Framework no provee de una manera sencilla para permitir el uso de Taglibs de JSP dentro de Freemarker, ya que el FreemarkerConfigurationFactoryBean es "agnóstico" del ServletContext, esto es, no hay manera de obtener datos del contexto del servidor de servlets a través de este bean, por lo cual en teoría es imposible utilizar Tag Libraries de JSP con Spring y Freemarker.

Pero, podemos paliar esta grave deficiencia podemos crear nuestro propio FactoryBean que nos permita utilizar el ServletContext para así poder obtener los taglibraries.

Primero, crearemos nuestra clase TaglibFactoryBean, la cual nos permitirá la creación de TaglibFactory desde Spring (recordemos que TaglibFactory es una clase de ayuda de Freemarker que permite la carga de Taglibs JSP a partir del ServletContext proveído):

public class TaglibFactoryBean extends AbstractFactoryBean implements ServletContextAware {
private ServletContext servletContext;

public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
}

public Class getObjectType() {
return TaglibFactory.class;
Enviado por Chololo el Mar, 2025-05-02 11:16.

Recetario

El objetivo de este libro es proporcionar soluciones "simples y rápidas" a problemas comunes que puedan surgir con el uso de Spring Framework y que no se encuentran en la documentación.

Enviado por Chololo el Mar, 2025-05-02 11:14.

Libro gratuito sobre Maven 2

Ya tiene algo de tiempo esta "noticia", pero pues acabo de bajar el libro y se ve bastante bien. Tengo usando Maven casi un año, empece con la 1, que estaba muy bien y desde hace unos 4 meses uso exclusivamente Maven 2, he de decir que Maven 2 es una excelente herramienta, no uso IDEs para ensamblar las aplicaciones, en eso me ayuda mucho Maven y sobre todo lo que mas me gusta es el ciclo de vida de construcción que sigue.
Lo "problematico" es encontrar documentación, es algo que se esta madurando y una muestra de ello es el libro que Mergere acaba de publiccar. Es un libro escrito por los desarrolladores de Maven, de tal manera que la información es de primera mano. como mencionaba el libro esta muy bien, muy recomendable.
Para descargarlo lo pueden hacer desde aqui previo registro gratuito.

Enviado por domix el Lun, 2025-05-01 21:28.