Diseño por Contrato con OVal y Spring

contratoOVal es un framework de validación para Java, que permite realizar comprobaciones a cualquier tipo de objetos y crear soluciones usando un enfoque de Diseño por Contrato. En este artículo vamos a ver brevemente qué es el Diseño por Contrato, y cómo utilizar OVal junto a Spring Framework para crear una infraestructura que facilite un Diseño por Contratos.

Leer más...

JUnit 4.6 publicado

JUnitYa está disponible JUnit 4.6, la nueva versión del framework de pruebas para Java basado en XUnit. Esta nueva versión incluye arreglos de bugs y una nueva arquitectura que permite reordenar y paralelizar tests y tests suites.

Entre las novedades más importantes se destaca el nuevo Core experimental, llamado MaxCore. MaxCore recuerda los resultados de las corriedas de tests anteriores, para luego poder ejecutar nuevos tests en otro órden. MaxCore prefiere a los tests nuevos por sobre los viejos, a los rápidos por sobre los lentos, y a los tests que fallaron recientemente por sobre los que hace mucho vienen fallando.

La revolución de la Web Asíncrona

MundoLas aplicaciones web legacy son sincrónicas por naturaleza. El usuario interactua con la interfaz web que se muestra en el navegador, el navegador realiza peticiones de vuelta al servidor de acuerdo a la interacción del usuario, y el servidor responde a estas peticiones con una nueva presentación para el usuario - fundamentalmente es un proceso sincrónico.

Sin embargo, hoy en día existe una variante: las aplicaciones Web Asincronas. Esta nueva forma de encarar las aplicaciones web está iniciando una revolución que cambiará completamente a las soluciones web del futuro.

Leer más...

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...

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