Mundo JavaBeans

¿Qué es JavaBean?

Los JavaBeans son modelos utilizados para la construcción de aplicaciones Java.  Sun Microsystems los define de la siguiente manera: "Componentes de software reutilizables que se puedan manipular  visualmente en una herramienta de construcción".

A pesar de haber muchas semejanzas, los JavaBeans no deben confundirse con los Enterprise JavaBeans (EJB) son cosas completamente diferentes, más adelante hablaremos sobre lo que es EJB.

¿Cómo funcionan los JavaBeans?

Para funcionar como una clase JavaBean, una clase debe obedecer ciertas reglas sobre nomenclatura de métodos, construcción y comportamiento.  Estas convenciones permiten tener herramientas que puedan utilizar, reutilizar, sustituir y conectar JavaBeans. 
Un Javabean es una clase que tiene las siguientes reglas:
  • Un bean debe de tener un constructor por defecto (sin argumentos)
  • Un bean debe de tener persistencia, eso quiere decir, implementar el interface Serializable.
  • Un bean debe de tener introspección. 

Los IDE reconocen ciertas pautas de diseño, nombres de las funciones miembros o métodos y definiciones de las clases, que permiten a la herramienta de programación mirar dentro del bean y conocer sus propiedades y su conducta.

Propiedades

Una propiedad es un atributo del JavaBean que afecta a su apariencia o a su conducta. Las propiedades de un bean pueden examinarse y modificarse mediante métodos o funciones miembros, que acceden a dicha  propiedad, y pueden ser de dos tipos:

  1.    Método getter: lee el valor de la propiedad
  2.    Método setter: cambia el valor de la propiedad.

¿Qué es Enterprise JavaBeans?

También conocido por sus siglas "EJB" son una de las API que forman parte del estándar de construcción de aplicaciones empresariales "JEE", está programada en Java el cual contiene una máquina virtual java como sistema operativo, su licencia es open source. 

El objetivo de los EJB es proporcionar a los programadores de un modelo que le permita abstraerse de los problemas generales de una aplicación empresarial (concurrencia, transacciones, persistencia, seguridad, etc.) para centrarse en el desarrollo de la lógica de negocio en sí. El hecho de estar basado en componentes permite que éstos sean flexibles y sobre todo reutilizables.

Funcionamiento de los componentes EJB

El funcionamiento de los componentes EJB se basa fundamentalmente en el trabajo del contenedor EJB. El contenedor EJB es un programa Java que corre en el servidor y que contiene todas las clases y objetos necesarios para el correcto funcionamiento de los enterprise beans.



  1. Cliente: "Necesito realizar una petición de compra al bean Broker."
  2. EJBObject: "Espera un momento, necesito comprobar tus permisos."
  3. Contenedor EJB: "Sí, el cliente tiene permisos suficientes para llamar al método compra."
  4. Contenedor EJB: "Necesito un bean Broker para realizar una operación de compra. Y no olvidéis comenzar la transacción en el momento de instanciaros."
  5. Pool de beans: "A ver... ¿a quién de nosotros le toca esta vez?".
  6. Contenedor EJB: "Ya tengo un bean Broker. Pásale la petición del cliente."


Tipos de EJB

EJB de Entidad: El objetivo de los EJB de entidad es encapsular los objetos del lado del servidor que almacena los datos. Existen dos clases de persistencia (que es una característica) que son:
  • Persistencia gestionada por el contenedor (CMP)
  • Persistencia gestionada por el bean (BMP)

EJB de Sesión: El objetivo es gestionar el flujo de la información en el servidor. Puede haber dos tipos los cuales son:
  • Con estado: Las variables de instancia del bean almacenan datos específicos obtenidos durante la conexión con el cliente.
  • Sin estado: Son objetos distribuidos que carecen de estado asociado  permitiendo por tanto que se los acceda concurrentemente.

EJB Dirigidos por Mensajes: son los únicos beans con funcionamiento asíncrono. No requieren de su instanciación por parte del cliente.

Estructura de un JavaBean

  • Propiedades: Los atributos que contiene.
  • Métodos: Se establecen los métodos get y set para acceder y modificar los atributos.
  • Eventos: Permiten comunicar con otros JavaBeans.

La siguiente imagen muestro como se cumplen los requerimientos de los JavaBeans, explicando el contenido y funcionamiento de la clase.






Vamos empezar con los cuadros ROJOS, cada uno están enumerados vamos a explicar cada uno. 
Cuadro Rojo 1: Esta línea de código es la encargada de cumplir la condición que la clase Bean debe estar serializable.
Cuadro Rojo 2: Esta línea de código es la encargada de cumplir con la condición de que todas atributos deben ser privados (Es decir solo debe de conocerlos la clase JavaBean).
Cuadro Rojo3: Esta línea de código es la encargada de cumplir con la condición de que la clase JavaBean debe tener un constructor sin argumentos.
NOTA: Para las personas que no saben un constructor es un método especial de una clase que se llama automáticamente siempre que se declara un objeto de esa clase.

Los dos cuadros que aparecen de color marrón o café son los que cumple con las propiedades que debe tener las clases JavaBeans. 
Más adelante estaré publicando un ejemplo de cómo desarrollar una pequeña app en JavaBeans. Cualquier duda pueden dejar su comentario.


Comentarios

Entradas populares de este blog

¿Cómo Buscar y Reemplazar Palabras en un RichTextBox en Visual Basic?

¿Qué son las Master Page o páginas principales ASP.NET?