Despliegue y puesta en funcionamiento de componentes software. IFCT0609. Rafael Luis Granados La Paz. Читать онлайн. Newlib. NEWLIB.NET

Автор: Rafael Luis Granados La Paz
Издательство: Bookwire
Серия:
Жанр произведения: Математика
Год издания: 0
isbn: 9788416629008
Скачать книгу
la fase de despliegue, a lo largo de la cual se podrá acceder al repositorio para obtener los componentes que serán usados en nuevas composiciones.

267662.png

      Ejemplo con JavaBeans

      Un JavaBeans es una clase escrita en lenguaje Java y, como cualquier clase, consta de métodos y propiedades. Esta clase cuenta con la participación de eventos. De manera formal se puede decir que esta clase Java debe seguir las siguientes normas:

      ilst1Debe implementar el interfaz serializable. Esta interfaz obliga a implementar un método que hará que la clase sea persistente. En otras palabras, se podrá salvar el estado actual del objeto de la clase y restaurarlo posteriormente.

      ilst1Presencia de un constructor sin argumentos.

      ilst1Métodos setters (de modificación) y getters (de acceso) para cada una de las propiedades de la clase.

001.png

      Ejemplo básico de bean

      En el código se muestra un bean básico. Como se observa, tiene su constructor sin parámetros y los métodos getters y setters para cada una de las dos propiedades de la clase. El método paint deriva de la clase Canvas, y en su implementación indica lo que hay que hacer cada vez que se llama al método repaint (básicamente, lo que hace es repintar según el estado actual del objeto determinado por el mensaje).

      Los JavaBeans se depositan en el ToolBox del BDK (Beans Development Kit), que es el repositorio. Para proceder a la ejecución o composición de JavaBeans estos deben ser llevados a un contenedor como BeanBox.

iRec

      Recuerde

      El Toolbox es el repositorio donde se almacenan los JavaBeans. La instanciación y composición tiene lugar dentro del BeanBox.

      La composición se lleva a cabo a través de eventos, de manera indirecta, con la participación de una clase adaptadora de eventos (EventAdaptor). BeanBox se encarga de manejar esta clase de una forma automática, llevando a cabo el enrutado y gestionando la comunicación entre eventos. En la siguiente imagen se muestra un ejemplo:

268136.png

      En la imagen se puede apreciar que hay un contenedor BeanBox con dos componentes: Bean A y Bean B. El primer bean tiene un método llamado

       pulsarBoton que, como su nombre puede sugerir, se dispara al pulsar un botón asociado al bean. Este evento provoca que se muestre un mensaje de texto a través del segundo bean. La comunicación resultante entre ambos beans se lleva a cabo a través de la clase EventAdaptor que, como se sabe, es gestionada de manera automática por BeanBox.

iAct

      Actividades

      5.Establezca las diferencias entre un Enterprise Java Beans (EJB) y un JavaBean.

      Aplicación práctica sobre JavaBean

      Definir un JavaBean para representar un artículo de una revista online. El bean, aparte de los métodos getters y setters, consta de un método “Imprimir” que retorna una cadena con toda la información anterior. La información que se desea mantener es “título”, “cuerpo” y “autor”. No olvidar implementar Serializable, usar el constructor por defecto y definir los getters y setters.

      Solución (Propuesta)

      Lo más importante es el uso de la interfaz Serializable plasmada a través de implements en la definición de la clase. A continuación se definen tres variables para cada uno de los datos que se desean almacenar, teniendo cada uno su correspondiente getter y setter.

      También se ha creado el constructor por defecto para casar con la definición de JavaBean. El último requerimiento se aprecia en el método imprimir(), donde se usa una cadena llamada información para recoger los datos solicitados y, posteriormente, devolverlos.

002.png

      2.5.Diseño con repositorio

      La última categoría permite el diseño dentro del repositorio. El ejemplo abarcará la tecnología Koala.

      Tipos de conectores

      En este diseño la composición se puede dar dentro del repositorio, permitiendo que los componentes resultantes de una composición estén en condiciones de poder ser almacenados y retirados del repositorio.

      Esta es la diferencia principal frente a la segunda categoría: que los componentes recién compuestos no pueden ser almacenados (y, por extensión, tampoco retirados) dentro del repositorio.

      Respecto a la fase de ejecución hay que decir que no permite composición. La composición de los componentes durante esta fase coincidirá con la realizada durante el diseño.

      Este diseño usa tres conectores especiales: Binding, Glue Code y Switch, los cuales serán detallados en el siguiente punto.

268480.png

      Ejemplo con Koala

      A rasgos generales, un componente de Koala es una unidad de diseño que consta de una especificación y una implementación. En el aspecto que interesa para llevar a cabo la composición, el componente puede presentar múltiples interfaces, cada una de ellas representada por un rectángulo conteniendo un triángulo en su interior.

268740.png

      A continuación se detallan los tres tipos de conectores previamente mencionados:

      ilst1Conector “Binding”: es usado para conectar la interfaz requerida de un componente con la interfaz proporcionada por otro componente. Ambas interfaces tienen que ser del mismo tipo.

      ilst1Conector “Glue Code”: al igual que el conector anterior, conecta la interfaz requerida de un componente con la interfaz proporcionada por otro componente. La diferencia es que, en este caso, el conector actúa como adaptador puesto que las interfaces son de diferente tipo.

      ilst1Conector “Switch”: es un tipo especial de “Glue Code” que enruta la conexión entre diversas interfaces.

268795.png

      En la imagen se muestra una composición con la intervención de tres componentes, indicando los elementos mencionados anteriormente.

      El uso principal de Koala es la electrónica de consumo, enfocándose al desarrollo partiendo de repositorios de componentes. El lenguaje de programación con el que está más íntimamente relacionado es C.

      2.6.Comparación entre categorías