Diez ideas falsas sobre Spring

Se publicó un artículo interesante en theserverside.com acerca de diez ideas falsas que se tienen sobre Spring. Para ser sincero, cuando conocí Spring tuve mi primera idea falsa, esta fue "Spring sustituye a Java Enterprise Edition".

Posted in Enviado por rrubio74 el Mar, 2025-08-08 17:25.

spring web flow en JSF

Hola he estado investigando, un poco y he visto que podría ser util en aplicaciones que ya tienen una configuración del flujo de páginas como puede ser struts o JSF. Creeis que puede ser importante y util configurar el flujo de páginas de una aplicación struts o jsf aunque solo sea para solucionar el problema de tirar para atras con el navegador así no petarian y no volverian a validar datos que no son necesarios en esta caso me refiero, aunque supone sobrecargar la memoria de la sesión. Veis alguna ventaja más???

Posted in Enviado por amarques el Lun, 2025-08-07 04:58.

Lanzado Interface21 Team Blog

Interface21, la compañia a la cabeza del framework Spring, ha lanzado un nuevo Team Blog, que se convertirá en la voz oficinal de la compañía y donde se encontrarán articulos técnicos del uso de Spring.

Posted in Enviado por aliveuser el Vie, 2025-08-04 13:07.

Nuevo foro 'Empleos Spring'

Que tal, SpringHispano.

Queremos anunciar que esta disponible para todos una sección en el foro llamada 'Empleos Spring'. Éste servirá para que los caza-talentos pongan sus ofertas, o para que los talentos pongan oferten sus servicios profesionales.

Posted in Enviado por jsramos el Jue, 2025-07-27 11:24.

Acegi + MySQL en Linux

Hola!

He estado mirando como funciona Acegi Security simplemente para aprender como aplicar seguridad en mis aplicaciones.

En windows, todo me funciona correcto. El problema esta en Linux, con el mismo codigo, la misma base de datos y  con el mismo esquema DB que en windows me devuelve bad credentials error.

Posted in Enviado por olope el Jue, 2025-07-27 11:00.

ApplicationContext bajo WEB-INF y jUnit

Que tal comunidad:

Me gustaria saber si alguien ha trabajado con algo asi, estoy integrando una aplicacion que no usa Spring con Spring MVC, por lo que la configuracion base esta en WEB-INF/conf/MyBean-servlet.xml, supuestamente ( una persona en la oficina me comento) por "best practices" es mejor separar de las classes los application context, de alli esa ruta, pero estoy teniendo dificultades para hacer pruebas unitaria con jUnit tratando de encontrar WEB-INF/conf/MyBean-servlet.xml, alguien sabe como se pude acceder sin estar en un contexto web?.

Posted in Enviado por redsniper el Lun, 2025-07-24 14:03.

Quieres trabajar en un proyecto en Spring + Hibernate?

Hola a todos,

(Aprovecho para sugerir la posibilidad de una sección para anuncios de este tipo).

Estamos buscando incorporar a un equipo de desarrollo un programador de Java, el entorno tecnológico es: Java + Spring + Hibernate + Oracle/MySql + Ant + Eclipse.

Posted in Enviado por dleal el Sáb, 2025-07-22 11:16.

JdbcTemplate MultiThreading

Hola a todos.

Resulta que estoy realizando un servidor que pretende procesar 1000 transacciones por segundo, pero tengo un problema: Implemente el acceso a BD con spring (JdbcDaoSupport) y pasa que en la transaccion 90x deja de insertar en la base de datos, y jdbcTemplate.update me regresa siempre 1 (como si hubiese terminado de insertar correctamente) y ademas nunca se hace rollback de la transaccion (todo esto esta dentro de una transaccion, claro). Se soluciono poniendo synchronized al metodo saveData de mi DAO. Esto me hace pensar que teno algun problema de concurrencia que afecta jdbcTemplate o TransactionManager. Otra implementacion que probe fue crear una cola y un consumidor que lee de esa cola y las procesa, pero dado que es peticion por peticion las que se resuelven, no llego a las 1000 peticiones por segundo. Tambien probe hibernate (HibernateDaoSupport) y pasa lo mismo.

Posted in Enviado por angellore el Mié, 2025-07-19 22:46.

¿Qué características quisieras ver en Spring 2.x?

Hola a todos.

A manera de wish-list, y con las intenciones de que lo que se genere en este tópico de foro lo vean los cuates de Interface21, quisiera preguntarles ¿qué features les gustaría ver en Spring 2.x?. No importa lo descabellada de la petición (obviamente las que esten totalmente fuera de contexto y realidad se excluirán por sí mismas), siempre y cuando sea un feature que actualmente Spring no tenga. Puede ser desde clases que faciliten el IO (cosa que esta totalmente fuera del contexto de Spring), hasta mejoras al soporte de Spring a los sistemas en CICS.

Posted in Enviado por jsramos el Dom, 2025-06-18 01:22.

Al estilo Open Source

Por lo que he podido apreciar en estos últimos mensajes, esta en el ánimo de la comunidad el expresar algunas reflexiones acerca del Open Source (de aquí en adelante OS). Yo deseo el analizar un aspecto de este, más en concreto:  la administración de proyectos, creación de actividades y conclusión exitosa de las mismas. No cabe duda que el OS nos ha proveído de Software de gran calidad y altamente útil, y esto no tan solo para el desarrollo de Sistemas, sino también para la infraestructura tecnológica de muchas empresas. Esto yo lo denominaría como su “fin”. Es decir, el producto resultante, el código fuente y los binarios del Software. Sin embargo, el Open Source nos ha dado, adicional a su fin, un “medio”, el cual tiene la característica de ser, entre otras bondades, un nuevo paradigma en la Administración de Proyectos. Así es, y por si alguien no lo había pensado, el crear un producto Software de buena calidad, pero coordinando a desarrolladores de todo el mundo, a través de barreras de lenguaje y cultura, con diferentes usos de horario y sin comunicación “cara a cara”, parecería una hazaña imposible de lograr, sobre todo si lo comparamos con nuestros proyectos (para los que estamos trabajando en alguna empresa de desarrollo de software).  Los que hemos tenido la oportunidad de dirigir a un equipo de desarrollo nos hemos dado cuenta que no es trivial el crear actividades, designarlas y monitorear su ejecución. En muchas ocasiones, no cumplimos con estipulado en el plan, a pesar que en nuestro proyecto existe un factor que debería ser decisivo: la comunicación “cara a cara”, cuando esto ultimo es algo de lo que carece el OS, ya que esta comunicación es reemplaza por otro tipo: comunicación vía e-mail. La pregunta es: a pesar de que el OS carece de este tipo de comunicación, ¿Cómo es posible que las actividades sean concluidas exitosamente? La respuesta: porque la gente (los desarrolladores) quiere y necesita que sean concluidas. Es decir, el proyecto es dirigido por si mismo, las actividades son concluidas naturalmente. Esto es debido a dos factores: la motivación y el estilo de administración de proyecto. En el primer rubro, la razón de que el equipo este motivado es debido a la “libertad” (para mayor información, leer a Eric S. Raymond y su obra: “La catedral y el bazar”). Lo segundo, y este es el objetivo de mi nota, la Administración de Proyectos en el OS es de muy alto nivel y organizado por el equipo mismo. Explico lo anterior: en muchos proyectos OS, generalmente, NO tienen un Administrador de Proyecto, en su lugar hay un Líder. Sin embargo, este Líder no se focaliza en la administración de proyecto, es decir, no invierte su tiempo en definir una planeación con macro tareas y su atomización en actividades especificas para después asignarlas  a los desarrolladores y monitorear su conclusión. No, esto no es la labor de Líder de OS, su verdadero rol es el crear las macros tareas (el “Road Map”, las actividades de alto nivel), pero es responsabilidad y de interés de los miembros del equipo el seleccionar cualquiera de ellas y concluirlas. Todo sin necesidad de un monitoreo exhaustivo.
Enviado por ramesrv el Sáb, 2025-06-17 15:52.

La cara actual del Open Source

Hace unos días se publicó este artículo en SpringHispano.

 http://www.springhispano.org/?q=node/100

Creo que este artículo demuestra lo que he pensado desde hace poco tiempo acerca del OS. El OS ya no es el producto de un conjunto de geeks (como los que creamos, mantenemos y participamos en SpringHispano) encerrados en sus sótanos descubriendo maneras diferentes de utilizar tecnologías ya existentes. El OS ya no es la alternativa barata a productos comerciales. El OS ya se ha convertido en La especificación de la industria.

Alrededor de 1993 - 1995, el OS era promovido con un esquema que los administradores llaman 'pull', es decir, que niveles superiores en la jerarquía 'jalan' hacia arriba aquello que quieren impulsar. El Struts es un ejemplo perfecto de esto. El Struts, como proyecto de jakarta, no se hubiera convertido en el estandar de facto de la industria de no ser por que las grandes compañías lo incluían en sus herramientas, lo soportaban en sus IDEs, lo integraban en sus servers, y lo incorporaban a sus filosofías y sus productos. En suma, en aquellos años no hubieramos conocido Struts de no ser por que las grandes compañías de software le sirven de 'agentes de promoción'.

El surgimiento y creciente adopción de Hibernate marcó la nueva era del OS. En contraste con el ejemplo anterior, Hibernate es promovido con un esquema de 'push', es decir, que es por  características y méritos propias que algo o alguien se promueve. Hibernate se convirtió en el ORM estandar de facto de la industria aún cuando ningún gigante del software se había fijado en él. Fuimos los usuarios y desarrolladores los que lo volvimos famoso por su performance, excelente ingeniería, y su perfecta abstracción de objetos. En este caso, es Hibernate quien lleva de la mano a Oracle, Bea, IBM, y Sun hacia el desarrollo de productos innovadores, y más aún, hacia la creación de nuevos JSR que constantemente hacen de Java una plataforma poderosa.

Enviado por jsramos el Sáb, 2025-06-10 08:52.

JVMs sin Sistema Operativo

Hola a todos.

Recientemente estuve platicando con mi ex-jefe, y me ha mostrado lo que BEA ha anunciado en reciente conferencia.

Supuestamente BEA esta trabajando en un proyecto llamado 'Bare Metal', que pretende ejecutar JVMs directamente sobre los CPUs de las máquinas, sin necesidad de Sistema Operativo.

Cómo logra esto? Pues de acuerdo a los primeros slides/comentarios que he visto, y que les comparto con una liga, como funciona es usando la virtualización del CPU a través de una madre llamada 'hypervisor'. Esto funciona como los VPS de los que ofrecen servicios de hosting, donde sobre una misma máquina se ejecuta una virtualización, sobre la cual es posible ya ejecutar múltiples sistemas operativos. BEA lo que pretende, según lo que capto, es poner su JRockit directamente sobre estos CPUs virtuales.

Obviamente esto aceleraría considerablemente el desempeño de las aplicaciones Java, y sobre todo las J2EE, de las cuales aún con Spring hay quejas sobre su footprint y su latencia. Obviamente muchos de ustedes estarán preguntándose

Pero bueno. Les dejo la liga.

http://dev2dev.bea.com/blog/jonmountjoy/archive/2006/05/jrockit_jvms_hy.html

Toda esta tendencia hacia lo ligero me hace pensar en la similitud entre el despiadado mundo de las modelos y los diseñadores de ropa, contra los arquitectos y desarrolladores. A ver que otros ámbitos profesionales se contagian de esta 'fiebre de lo light'.

Enviado por jsramos el Vie, 2025-06-09 15:49.

EJB 3.0 en Java Network Mexico-2006

Es un hecho el que a estas alturas la mayoría de nosotros ha oído hablar de EJB3.0. Yo lo he venido escuchando desde hace poco más de un año. He leído artículos y reseñas de esta tecnología. Mi principal fuente de información ha sido la comunidad de JBoss, ellos cuentan con un tiempo mayor en la promoción de este nuevo estándar, hasta han liberado versiones previas, para su servidor de aplicaciones, en donde es posible interactuar con estos tipos de EJB’s. Sin embargo, en días pasados tuve la oportunidad de asistir al “Java Network Mexico”, y fue ahí en donde pude ver “en vivo y en directo” esta nueva tecnología. Desde mi punto de vista, la principal característica, y esto es un hecho contundente, es su simplicidad:el pasar por Objetos pesados y acoplados a un API compleja, hacia objetos “planos” (POJOs, Plain Old Java Objects); cuyo resultado evidente es el conseguir un desarrollo dirigido por pruebas (Test-Driven Development). Esto se explica debido a que en su especificación (JSR 220) estuvieron involucrados desarrolladores provenientes de Hibernate y JDO. Acepte con agrado el hecho que esta nueva especificación de EJB atrajo para sí conceptos tan inherentes a Hibernate como a Spring. Esto último quedó demostrado en una diapositiva en donde se lograba apreciar una Inyección de una dependencia a un EJB; mas concretamente, se mostró como se inyectaba un DataSource al EJB. Esto demuestra una vez mas que la comunidad “Open Source” ha aportado buenas ideas al Estándar JEE.

Enviado por ramesrv el Vie, 2025-06-09 04:43.

Spring JMS (En lo que sale Spring2)

Según el roadmap de Spring2, éste tendrá un soporte bastante robusto y poderoso para todo lo que concierne a JMS. Dichas características son parte de varios trabajos que han realizado contribueyentes de Spring, como LogicBlaze.

En lo que sale tan esperado Framework, hay simples recetas de cocina que pueden usar para crear algunos componentes ligeros como Message-Driven POJOs, o Queue/Topic Senders.

A continuación se muestra como hacer cada uno. Disculpen algunas redacciones en inglés, pero la documentación de mi proyecto del cual saqué los ejemplos, estaba en tal idioma.

MessageDrivenPojos

Su definición es self-explanatory. A continuación se muestra un MDP sencillo:

public class MessageListenerPojo implements MessageListener {
   
    private Queue destination = null;
    private QueueConnectionFactory connectionFactory = null;
    private MessageManager manager = null;
    private QueueConnection connection = null;
    private QueueReceiver queueReceiver = null;
   
}

Obviamente, cada una de estas propiedades tiene sus getters y setters, para hacer posible la inyección de algunas de ellas.

La primera propiedad es un Destination de JMS de tipo Queue. Es el elemento JMS sobre el cual este MDP va a estar escuchando por mensajes. Esta propiedad es 'springeable' como se muestra a continuación:

Enviado por jsramos el Mar, 2025-06-06 04:49.

¿Cual es la diferencia entre IoC y DI?

Bueno la pregunta es simple. La respuesta complicada.  Creo que hablamos mucho de IoC y de DI, pero algunas preguntas interesantes podrian ser:

  • ¿Que es IoC?
  • ¿Que es DI?
  • ¿Cuales son las diferencias entre estos conceptos?
  • ¿Lo que entendemos por IoC y DI es correcto?
Posted in Enviado por domix el Lun, 2025-05-29 19:14.