Conector “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.
Conector “Switch”: es un tipo especial de “Glue Code” que enruta la conexión entre diversas interfaces.
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
Una vez vistas y desarrolladas las cuatro categorías básicas se procederá a establecer un cuadro comparativo con el fin de clarificar las diferencias. La información a mostrar es la siguiente:
Categoría: nombre de cada una de las cuatro categorías vistas anteriormente.
Modelos: modelos tecnológicos asociados a la categoría.
Operaciones durante la fase de diseño: aquí se detallan las operaciones que se permiten durante la fase de diseño. Se considerarán tres operaciones diferentes:
Repositorio para componentes: se indica si se permite el uso de repositorio para componentes.
Repositorio para nuevos componentes: se indica si se permite el uso de repositorio para el resultado de la composición de componentes.
Posibilidad de retirar componentes del repositorio: muestra si es posible retirar componentes del repositorio.
Fase de composición: indica la fase en la que puede tener lugar la composición de nuevos componentes.
CUADRO COMPARATIVO |
Categoría |
Modelos |
Operaciones durante la fase de diseño |
Fase de composición |
Repositorio para componentes |
Repositorio para nuevos componentes |
Posibilidad de retirar componentes del repositorio |
Diseño sin repositorio. |
UML 2.0 |
No |
No |
No |
Diseño |
Diseño con repositorio solo para el depósito de componentes. |
EJB, .NET, CCM, servicios web |
Sí |
No |
No |
Diseño |
Despliegue con repositorio. |
JavaBeans |
Sí |
No |
No |
Despliegue |
Diseño con repositorio. |
Koala |
Sí |
Sí |
Sí |
Diseño |
Actividades
6.Reproduzca el cuadro comparativo de las cuatro categorías contempladas en este capítulo.
Un componente es una unidad de composición con interfaces bien definidas que permite ser ensamblado con otros componentes para crear un sistema. A grandes rasgos, este proceso de ensamblado tiene lugar uniendo las interfaces
de los componentes.
La composición, de manera teórica, se puede dar en una de las tres fases del ciclo de vida de un componente: diseño, despliegue y ejecución. Eso, unido al concepto de repositorio (para almacenar los componentes que serán usados en la composición o para almacenar los componentes recién creados), provoca una clasificación de cuatro categorías.
Estas cuatro aproximaciones para llevar a cabo la composición de componentes están representadas, a efectos prácticos, por una o varias tecnologías. Así, por ejemplo, para el “diseño sin repositorio”, la tecnología de modelado usada es UML 2.0. Para el resto de categorías se contempla modelado a través de .NET, servicios web, CORBA, JavaBeans, etc.

Ejercicios de repaso y autoevaluación
1. De las siguientes frases, indique cuál es verdadera o falsa.
Los servicios de un componente pueden ser de tres tipos: requeridos, proporcionados y eventos.
Verdadera
Falsa
El puerto es una representación del servicio de un componente.
Verdadera
Falsa
Los servicios requeridos son aquellos proporcionados por un componente.
Verdadera
Falsa
El repositorio es siempre requerido en cualquier modelo de despliegue de componentes.
Verdadera
Falsa
2. Complete los espacios libres de la siguiente oración.
En la fase de __________ los componentes son __________ y ejecutados dentro del _________.
3. ¿Son lo mismo el lenguaje de definición y el lenguaje de implantación, aplicados ambos a componentes?
a. Bajo algunas circunstancias sí, pueden coincidir.
b. No, siempre son diferentes.
c. Sí, son el mismo lenguaje.
d. Los componentes no requieren de lenguaje de implementación.
4. Un componente...
a. ... requiere de una interfaz bien definida.
b. ... puede ser desplegado independientemente.
c. ... está sujeto a composición por parte de terceros.
d. Todas las opciones anteriores son correctas.
5. Las fases del ciclo de vida de los componentes son:
a. Diseño, despliegue, instanciación y ejecución.
Читать дальше