You are on page 1of 7

*

Arquitectura basada en Componentes

Actualmente en el desarrollo de software hay una gran necesidad de hacer uso de la reutilizacin de partes o mdulos de software existente, que podran ser utilizadas para la generacin de nuevas extensiones de las aplicaciones o las aplicaciones completas. Cuando se hable de reutilizacin en los procesos de ingeniera, esta muy implcito el concepto de componente!, pues a las partes eficientes de software que pueden ser utilizadas para la construccin de aplicaciones se les conoce como componentes software!. "a arquitectura basada en componentes consiste en una rama de la #ngeniera de software en la cual se trata con $nfasis la descomposicin del software en componentes funcionales. %sta descomposicin permite convertir componentes pre&existentes en piezas m's grandes de software.

* Este proceso de construccin de una pieza de


software con componentes ya existentes, da origen al principio de reutilizacin del software, mediante el cual se promueve que los componentes sean implementados de una forma que permita su utilizacin funcional sobre diferentes sistemas en el futuro.

* Existen 5 principios definidos por Clemens

Szypers i and !avid "essersc#mitt, que definen a un componente de software como elemento de la arquitectura$

* ()ltiple uso* se refiere al hecho de que un componente es escrito dentro


de un contexto que permita que su funcionalidad sea )til en la creacin de distintas piezas de software. * +Contexto no especfico* en relacin con la orientacin conceptual de la especificacin de un componente, debe estar planteada de una forma general que permita su adaptacin en distintos sistemas, sin que el contexto tenga prioridad. * +%ncapsulacin* se refiere a la especificacin interna oculta o no investigable a trav$s de la interface. As se protege que el resto de componentes y piezas de software dentro de un sistema, no se vean afectados por cambios en el dise,o de uno de los componentes. * +-na unidad independiente de desarrollo con su propio control de versiones* este principio muy relacionado con la encapsulacin, permite que un componente pueda ser desarrollado de manera independiente, cambiando el dise,o o agregando nuevas funcionalidades, sin afectar significativamente el resto del sistema. .e puede ver que la mayora de las definiciones giran sobre lo esencial de un componente, que es una implementacin de un artefacto de software, que e/ecuta una o varias funcionalidades, liberadas por servicios, vistos como un con/unto de interfaces y provee la realizacin fsica de ellas.

son reutilizables. 0ara ello los componentes deben satisfacer como mnimo el siguiente con/unto de caractersticas* * +#dentificable* un componente debe tener una identificacin clara y consistente que facilite su catalogacin y b)squeda en repositorios de componentes. * +Accesible slo a trav$s de su interfaz* el componente debe exponer al p)blico )nicamente el con/unto de operaciones que lo caracteriza 1interfaz2 y ocultar sus detalles de implementacin. %sta caracterstica permite que un componente sea reemplazado por otro que implemente la misma interfaz. * +.ervicios son invariantes* las operaciones que ofrece un componente, a trav$s de su interfaz, no deben variar. "a implementacin de estos servicios puede ser modificada, pero no deben afectar la interfaz. * +3ocumentado* un componente debe tener una documentacin adecuada que facilite su b)squeda en repositorios de componentes, evaluacin, adaptacin a nuevos entornos, integracin con otros componentes y acceso a informacin de soporte. "a evaluacin dominante del estilo de componentes subraya su mayor versatilidad respecto del modelo de ob/etos, pero tambi$n su menor adaptabilidad comparado con el estilo orientado a servicios 14eynoso, et al., 56672.

* Caractersticas* * -na de las caractersticas m's importantes de los componentes es que

* La estructura de la arquitectura basada en


componentes contempla 3 partes:
* %l nombre de los componentes* el nombre de un componente
debe ser la identificacin de la funcionalidad y uso que tiene como software. 8eneralmente, los desarrolladores usan alg)n tipo de convencin que facilite la identificacin de componentes, especialmente, cuando se traba/a en proyectos de gran envergadura * "a interface de los componentes* es el 'rea de intercambio 1input& output2 entre el interior y el exterior de un componente de software. "a interface es quien permite acceder a los datos y funcionalidades que est$n especificadas en el interior del componente 1acceder funcionalmente, no a su especificacin2.Adicional a la interface se encuentra la documentacin que muestra la informacin sobre cmo utilizar un componente. * Cuerpo y cdigo de implementacin* es la parte del componente que provee la forma1implementacin2 sobre la cual un fragmento del componente realiza sus servicios y funcionalidades. %ste es el 'rea que debe cumplir con el principio de encapsulacin.

* Reusabilidad
%sta es una de las caractersticas m's importantes en el desarrollo de sistemas ba/o una arquitectura basada en * componentes. -n componente de software debe ser dise,ado de tal madera que pueda ser reutilizado en otros sistemas. *%ste principio de reutilizacin del componente, requiere un esfuerzo extra por el equipo de desarrollo que se basa en* +-na documentacin completa de cada atributo y funcionalidad del componente. * +-na etapa de pruebas organizada y certera que certifique el correcto funcionamiento del componente. * +-na definicin de comprobaciones precisa para el chequeo de cada par'metro de entrada1input2 del componente. * +-n mane/o de notificaciones de errores preciso, que advierta de la existencia de estos de una forma apropiada. * +3esarrollar teniendo en cuenta que el componente puede ser requerido para traba/ar en muchos contextos muy * diferentes unos de otros 1tomar en cuenta la eficiencia, uso de memoria y recursos2.

*TECNOLOGIA
* %l ob/etivo de la tecnologa de componentes software es construir aplicaciones
comple/as mediante ensamblado de mdulos 1componentes2 que han sido previamente dise,ados por otras personas a fin de ser rehusados en m)ltiples aplicaciones. "a ingeniera de programacin que sigue esta estrategia de dise,o se le conoce por el acrnimo C9.%: y es actualmente una de las m's prometedoras para incrementar la calidad del software, abreviar los tiempos de acceso al mercado y gestionar el continuo incremento de su comple/idad. * "a arquitectura software de una aplicacin basada en componentes consiste en uno o un n)mero peque,o de componentes especficos de la aplicacin 1que se dise,an especficamente para ella2, que hacen uso de otros muchos componentes prefabricados que se ensamblan entre s para proporcionar los servicios que se necesitan en la aplicacin.

You might also like