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
Скачать книгу
del proceso de instalación y despliegue: descripción del empaquetamiento (packing). Requisitos de implantación. Parametrización y ajuste

       9. Resumen

       Ejercicios de repaso y autoevaluación

       Bibliografía

      Capítulo 1Despliegue de componentes

      1.Introducción

      El desarrollo basado en componentes, o CBD (Component-Based Development), ofrece la posibilidad de crear sistemas basados en componentes prefabricados por los propios desarrolladores o adquiridos a terceros. Aplicando la filosofía de construir un sistema ensamblando diversos componentes, en lugar de desarrollarlo desde cero, se logran reducir los costes y tiempos de desarrollo, además de posibilitar la reutilización de esos mismos componentes en posteriores proyectos.

      Para entender el desarrollo basado en componentes es necesario comprender también los diferentes modelos de componentes de software. Estos modelos definen lo que es un componente, cómo se relaciona con el resto de componentes y cómo puede ser ensamblado dentro de un sistema.

      En este capítulo se ofrecerán diferentes perspectivas de modelado a partir de clasificación en cuatro categorías, apoyándose en ejemplos usando tecnologías diversas con el fin de adquirir las nociones básicas sobre la materia.

      Para conocer y entender los modelos de despliegue basados en componentes se tienen que estudiar los conceptos que los integran: componentes, diseño, repositorio y ejecución, entre otros.

      2.1.Conceptos básicos

      A continuación se muestran los conceptos relacionados con los componentes.

      Componentes

      Un componente, según Szypersky, queda englobado en la siguiente definición: “Es una unidad de composición con interfaces bien definidas, que puede ser desplegada independientemente y está sujeta a composición por parte de terceros”.

      Es muy importante el detalle de interfaz bien definida. Las interfaces de un componente pueden proporcionar varios tipos de servicios:

      ilst1Servicios proporcionados: son los servicios “públicos” que ofrece el componente. Son consumidos por otro servicio de un componente diferente.

      ilst1Servicios requeridos: estos son los servicios demandados por el componente, necesarios para que este pueda llevar a cabo su funcionalidad.

      Para representar los servicios anteriores en un componente se usa el concepto de puerto.

iDef

      Definición

      Puerto

      Un puerto es una representación del servicio del componente, modelando las diferentes formas de uso de los interfaces del dicho componente. El enlace se lleva a cabo a través de conectores, de tal manera que un puerto puede representar tanto un servicio requerido como demandado, según la óptica del componente usado como referencia.

      Una vez que se sabe lo que es un componente se necesita de algún tipo de lenguaje que permita “materializarlo”. Para llevar a cabo su especificación se hace necesario un lenguaje de definición de componentes, mientras que la implementación del mismo se llevará a cabo a través de un lenguaje de implementación. Estos dos lenguajes pueden diferir, pero hay veces en que coinciden. Por ejemplo, en caso de modelos orientados a clases que usen Java el lenguaje de definición coincide con el de implementación. En modelos en los cuales los componentes son tratados como unidades arquitectónicas no se especifica lenguaje de implementación, pudiéndose elegir la opción que se considere más conveniente.

      Composición de componentes

      Según Sommerville, la composición es “el proceso de ensamblar componentes para crear un sistema”. Como se ha dicho, un componente presenta interfaces bien definidas, manifestadas a través de puertos. Pues bien, la composición, básicamente, se lleva a cabo enlazando estos puertos. Este proceso, en una situación teórica ideal, puede tener lugar durante tres fases diferentes del ciclo de vida de los componentes:

      ilst1Fase de diseño: en esta fase los componentes son diseñados, definidos y codificados. Los componentes resultantes son almacenados en un repositorio, al igual que los componentes resultantes de una composición.

      ilst1Fase de despliegue: los componentes son adquiridos del repositorio y desplegados en forma de binarios dentro del entorno de ejecución del sistema en construcción.

      ilst1Fase de ejecución: los componentes son instanciados y ejecutados dentro del sistema.

      En la siguiente imagen se muestra con un mayor grado de detalle un ciclo de vida estándar de una serie de componentes. Se presupone que la composición va a tener lugar en la fase de diseño. Hay una estructura de tres bloques, cada una de ellas representando una fase (diseño, despliegue y ejecución). En la fase de diseño los componentes se encuentran en un repositorio. Como se puede apreciar, el componente A es introducido en el repositorio, mientras que B y C son retirados para dar lugar a la composición BC (que será también almacenada en el repositorio). Esta composición es indicada por un círculo.

      En la fase de despliegue se retiran los componentes requeridos, incluido el previamente compuesto por B y C, generándose sus binarios. Una vez ya en la fase de ejecución se procede a la instanciación y ejecución dentro del sistema.

263433.png

      La diferenciación entre una fase y otra y, sobre todo, el concepto de repositorio, permitirá establecer cuatro diferentes categorías de modelos de composición de componentes. Estas categorías se enumeran a continuación:

      ilst1Diseño sin repositorio.

      ilst1Diseño con repositorio solo para el depósito de componentes.

      ilst1Despliegue con repositorio.

      ilst1Diseño de repositorio.

      2.2.Diseño sin repositorio

      Esta es la primera categoría dentro de los modelos de despliegue. No usa repositorio y se propondrá UML 2.0 como ejemplo.

      Diseño y ejecución sin despliegue

      La composición tiene lugar en la fase de diseño, construyendo los componentes desde cero y definiendo la arquitectura del sistema conectando dichos componentes. Generalmente este diseño se apoya en una herramienta visual, sin contemplar la fase de despliegue puesto que se