EJB 3.1: un paso importante hacia la madurez

LimoneroLos Enterprise Java Beans (EJB) son componentes del lado del servidor para la plataforma Java Enterprise Edition (Java EE), que apuntan a crear un desarrollo rápido y simple para aplicaciones distribuidas, transaccionales, seguras y portables.

EJB 3.1 trae un nuevo conjunto de características que mejoran el potencial de esta tecnología. Es una versión muy importante que traerá nuevas capacidades faltantes a estos componentes. En este artículo vamos a repasar los elementos más importantes de EJB 3.1.

Leer más...

El nuevo recolector de basura G1

Recolector de basuraEl recolector de basura de Sun llamado Garbage-First (conocido por el sobrenombre de G1) es el nuevo recolector de baja latencia que va a reemplazar a CMS en la máquina virtual Java Hotspot. G1 es un recolector del estilo servidor, pensado para máquinas multi-procesador con grandes cantidades de memoria.

Vamos a ver las caracteristicas destacadas de G1, un recolector que promete varios beneficios de rendimiento para los desarrolladores Java.

Leer más...

Terracotta 3.0 publicado

TerracottaTerracotta 3.0 ya está listo para descargar. Terracotta es el framework Java para crear un heap distribuido de objetos a través de muchas máquinas virtuales. Esta versión agrega un centro de operaciones nuevo, una consola para el desarrollador que muestra información del cluster, información de tiempo de ejecución y de rendimiento, y ademas se agregan varias plataformás certificadas a la lista. También se mejoró las capacidades de clustering y de alta disponibilidad de los servidores de Terracotta.

Quienes no conozcan esta herramienta puede leer Introducción a Terracotta y Alta disponibilidad con Terracotta, donde tendrán proyectos de ejemplo para descargar.

Comienza la JavaCup 2009

Pelota de futbolLa revista Sólo Programadores, Sun Microsystems Ibérica y javaHispano están organizando la tercera versión del torneo virtual de fútbol JavaCup 2009, donde cada equipo es una clase Java que implementa una interfaz predefinida.

El concurso JavaCup consiste en un torneo de fútbol virtual, basado en eliminatorias, donde cada equipo será una clase Java que implementará la estrategia del mismo, apoyándose en un framework de software libre creado para tal efecto. Para participar sólo es necesario implementar al equipo (una clase Java) y enviarla.

Leer más...

10 años de la historia de NetBeans en 5 minutos

NetBeans¡Suban sus parlantes, pongan el video en pantalla completa y disfruten del Code Swarm de NetBeans!

Un Code Swarm ("cardumen de código") es una visualización orgánica de la evolución de un proyecto de software. La visualización se hizo sobre el repositorio CVS de NetBeans desde 1998 hasta 2008 (el proyecto cambió a Mercurial después).

Leer más...

Acoplamiento y cohesión

diseñoEl acoplamiento y la cohesión juegan un rol central en el diseño de software. Yourdon y Constantine, en su obra clásica Diseño Estructurado, identifican que el objetivo del diseño es minimizar los costos. El costo del software está determinado por el costo de mantenimiento, y el costo del mantenimiento está determinado por el costo de los cambios que surgen en el sistema. Un diseño de software efectivo minimiza la probabilidad de que se propaguen los cambios. Los cambios que involucran a un único elemento son menos costosos y más predecibles que los cambios a un elemento que requieren cambiar dos más, y luego tres...

El costo esperado del cambio se puede reducir prestando especial atención a dos factores: el acoplamiento entre los elementos y la cohesión dentro de los elementos.

Leer más...

El papel del ESB en una solución SOA

El uso de un ESB se ha puesto de moda. No estoy diciendo que la tecnología no sea adecuada, pero el uso de un ESB no significa necesariamente tener SOA. Mi objetivo aquí es dar mi punto de vista sobre ESB, y de cómo y cuando puede ser usado en una solución SOA y en soluciones que no son SOA.

Exactamente, si fuesemos por la traducción literal significa servicio de ómnibus corporativo. La idea es muy simple: el bus lleva y trae datos para nosotros, luego nosotros no tenemos que preocuparnos sobre algunos detalles. Imagine que los pasajeros son los datos y que cada parada del autobús es un sistema que se accede con un protocolo diferente. El concepto de bus no es nuevo en el área, si miramos a las placas madre ya teníamos el concepto allí, sólo él fue adaptado para la integración de sistemas.

Leer más...

Deje decidir al usuario con Drools

¿Quién no ha oído hablar mal de IT? Probablemente ya trabajaste en una empresa en la que otros sectores no ven a IT con buenos ojos. Tal vez porque allí pueden haber altos salarios en la organización, salvo la alta dirección. Pero el problema no ni el valor que un profesional de IT llega a recibir mas sí lo que él hace para merecer el mismo.

No quiero en este post hablar sobre gestión de competencias. Vengo a hablar de lo que podríamos hacer para dar más poder al usuario. Una de las primeras acciones ya debería estar clara en su cabeza ¿no? Desarrollo iterativo e incremental utilizando prácticas y métodos probados. Pero esto (que no es poco ni fácil) no será suficiente.

Leer más...

Respondiendo rápidamente a los cambios con CEP

Alcancia de chanchitoCon la globalización y el aumento de la competitividad del mercado local y global es común que empresas multinacionales compren a otras empresas y, por tanto, logren una mayor cuota de mercado. Por razones de riesgos y costos no siempre es posible o viable re-escribir los sistemas que estas empresas ya tienen. Este es el clásico escenario para la integración de sistemas.

CEP (Procesamiento Complejo de Eventos) no es una técnica para la integración de sistemas, al menos no de la manera tradicional. CEP es otro paradigma que se basa en el modelo de sistemas guiado por eventos.

Leer más...

Copia de objetos con Dozer

Bull DozerDozer es una librería Java para mapear Java Beans que copia de manera recursiva los datos, de un objeto a otro. Usualmente, estos Java Beans van a contener distintos tipos complejos.

Dozer permite mapeos simples entre propiedades, mapeos complejos, mapeos bi-direccionales, mapeos implícitos y explícitos, y también mapeos recursivos. Esto incluye el mapeo de los atributos de colecciones que también necesitan mapeos al nivel del elemento.

En este artículo vamos a ver una introducción a Dozer, su configuración y uso.

Leer más...

Introducción a Flex 3

Flex LogoFlex es un framework de presentacion basado en Flash para construir aplicaciones RIA creado por la Empresa Adobe. Las aplicaciones creadas con Flex son aplicaciones Flash (.swf) como cualquiera de las que se encuentran hoy en día en Internet y que la mayoría de los browsers son capaces de ejecutar utilizando el plugin de Flash (instalado en el 98% de las PCs).

Leer más...

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw