En este blog podréis ir viendo el desarrollo día a día de un proyecto software bajo la Métrica v3 del grupo 3 de Ingeniería del Software III (Ingeniería Informática) de la Universidad Carlos III de Madrid.

miércoles, 23 de enero de 2008

Enterprise Java Bean

Buenos días. Hoy queríamos comentar los Enterprise Java Beans(EJBs). Esta tecnología de Sun Microsystems puede ayudarnos mucho a realizar un proyecto software tanto si deseamos realizar una aplicación web o una normal.

Utilizar esta tecnología implica realizar todo el diseño en función del esquema definido por ella. Gracias a esto, el diseño se realiza de forma inmediata y la programación se facilita mucho mediante la herencia de las clases de EJB.

Ventajas. Las principales ventajas de la utilización de EJBs son:

Funciona sobre Java, por lo que adquiere algunas de sus ventajas como son su portabilidad, orientación a objetos, etc.

Ahorra mucho trabajo tanto en la fase de diseño (solamente hay que seguir el esquema que nos definen los EJBs, haciendose innecesaria la aplicación de patrones) como en la fase de implementación (heredando de las clases de EJBs, especialmente si utilizamos los CMP EJBs).

Realiza automáticamente casi todas las consultas a la base de datos (todas excepto algunas de búsqueda), ahorrando mucho trabajo de diseño y programación en este sentido.

Facilidad de integración en aplicaciones web basadas en servlets o Java Server Pages (JSPs).

En las últimas versiones tiene soporte para integración con servicios web, de modo que se pueda acceder a las funcionalidades de los EJBs desde ellos.

Inconvenientes. Evidentemente no todo son ventajas y, el uso de los EJBs presenta los siguientes inconvenientes:

Dependencia de la tecnología para el mantenimiento y reutilización de la aplicación. Una vez que la aplicación ha sido realizada en función del esquema de EJBs, es muy costoso pasar el trabajo a otro sistema que no incluya esta tecnología, lo cual podrís ser necesario por motivos de mantenimiento (migración del sistema a otra tecnología) o reutilización, tanto de código (¿Cómo reutilizar una clase que hereda de EJB en un sistema que no los utiliza).

Hay que aprender a realizar aplicaciones basadas en EJBs, lo cual conlleva su esfuerzo. La API de EJBs no es sencilla, ya que hay que seguir un esquema predefinido de herencias en el diagrama de clases que no es del todo intuitivo. Además hay que definir el deployment descriptor, lo que tambien conlleva el estudio de cómo hacerse.

Conclusión

En definitiva, recomendamos su utilización para la práctica de la asignatura (especialmente si algún miembro del equipo tiene algo de experiencia con el tema), ya que, aunque en principio parece que estudiarlo no merece la pena, al final ahorra trabajo en la fase de diseño y compensa.

Para un proyecto real ya depende de las especificaciones del proyecto, ya que habrá que balancear sus ventajas (ahorro de tiempo principalmente) y sus desventajas (restringido al uso de java, poca portabilidad a otros sistemas, poca reutilización).

Las referencias bibligráficas que hemos utilizado:
Monsol, R. Haefel. Enterprise Javabeans. USA: O`Reilly: libro bastante recomendado para EJBs.
Sierra, K. Bates, S. Head First EJB. USA: O`Reilly: libro que explica los EJB de una forma más sencilla y entretenida.

No hay comentarios: