| Inicio | Perfil | Servicios | Offshore | Recursos | Mapa del sitio | Contáctenos |          
Artículo "Un Java más sencillo"

En este artículo, Bruce Tate nos presenta las iniciativas que han surgido recientemente en la comunidad Java para reducir la complejidad del desarrollo de aplicaciones en J2EE. Asimismo, nos indica cuáles serán las tendencias futuras para conseguir una mayor sencillez en la plataforma Java.



Al contrario que JDO o EJB, Hibernate no esta basado en la “mejora” de bytecodes o en la generación de código, sino que utiliza reflexión. Deja una huella pequeña y, a parte de la base de datos, necesita muy pocos recursos para ejecutarse. Creo que el éxito de Hibernate se debe a tres razones principales: es específico, sencillo y rápido. Veamos a continuación algunos de los principios que han hecho exitoso al proyecto Hibernate.

  • Haga sólo una cosa y hágala bien. Hibernate es un motor de persistencia que funciona exclusivamente con aplicaciones Java que usan bases de datos relacionales mediante JDBC. Esto constituye la mayor proporción de los casos de persistencia en Java. Además, es un problema específico. Así, limitando el dominio del problema a bases de datos relacionales, Hibernate puede tomar algunas decisiones pragmáticas que tienen un impacto dramático sobre la eficiencia. Por ejemplo, como los diseñadores sabían que usarían SQL a través de JDBC, pudieron aprovechar algoritmos específicos para estos casos y extensiones de alto rendimiento para “outer joins”. Esto no es posible en muchos otros frameworks de persistencia, ya que no se limitan a bases de datos relacionales. Así, Hibernate consigue una mayor eficiencia al precio de un mayor acoplamiento a un problema específico.

  • Procure alcanzar la sencillez. El equipo de Hibernate ha trabajado duro para conseguir documentación efectiva y buenos ejemplos de uso. Además, ha diseñado una API sencilla. Así, conseguí que mi primera aplicación con Hibernate se ejecutara en menos de quince minutos. Observo la sencillez de Hibernate en muchos puntos. Sus métodos tienen nombres adecuados y las capas de abstracción están claras. Puedo trabajar simplemente con Javabeans, en vez de tener que construir componentes complejos. Hibernate incluye integración con Ant y soporte a Xdoclet. En general, un framework debería proporcionar a sus usuarios el soporte más sencillo posible.

  • Elija sus batallas. Si usted decide construir aplicaciones o frameworks más sencillos, deberá decidir donde centrar su atención. No puede adoptar cada patrón de diseño existente o hacer todas las mejoras de eficiencia posibles. Admito que algunas de mis primeras reservas sobre Hibernate se debían a su uso de la reflexión. Sin embargo, Gavin King y su equipo supusieron de forma correcta que la sobrecarga debida a la reflexión sería mínima comparada con la debida a las consultas SQL que Hibernate generaría. En vez de optimizar la reflexión, el equipo se concentró en el número y eficiencia de las consultas retrasando actualizaciones, combinando muchas sentencias SQL en una, detectando “no operaciones” (como una inserción seguida inmediatamente de una actualización y un borrado) y haciendo optimizaciones similares. El resultado es un framework sorprendentemente rápido, que además goza de la transparencia que permite la reflexión.

Debido a la sencillez y a su concentración en los puntos importantes, el equipo de Hibernate ha conseguido lanzar versiones bien acabadas a un ritmo rápido. Su comunidad de usuarios crece a pesar de que se ha completado sólo la segunda versión principal. Pero la persistencia no es el único dominio en el que la tendencia a la sencillez est á echando raíces.

 

 
 

Ir a la página: 1   2   3   4    Siguiente >>

 Versión para imprimir

 

 

| Inicio | Perfil | Servicios | Offshore | Recursos | Mapa del sitio | Contáctenos|