Está en la página 1de 7

2014

Estilo arquitectnico basado en


componentes

Arquitectura de software

28/03/2014

Contenido

Introduccin..
Estilo arquitectnico basado en componentes.
Principios fundamentales.
Beneficios.
Estructura de un componente..
Conclusiones personales..
Referencias..

2
3
3
4
5
6
6

Introduccin
El presente documento habla acerca de un estilo arquitectnico en especfico, dando al
inicio una breve definicin y posteriormente exponiendo sus caractersticas. Se anexan al
final comentarios y referencias de donde se obtuvo la informacin, tomando en cuenta
tambin que alguna de la informacin fue expuesta en clase por la profesora.
Antes de entrar de lleno a hablar sobre el tema, recordaremos alguna informacin que es
importante.
Sabemos que la ingeniera de software hace uso de la arquitectura de software para
obtener productos de software de calidad. La arquitectura de software depende de otro
tipo de herramientas como lo son los estilos y los patrones arquitectnicos y tambin la
arquitectura de referencia. Cada uno tiene sus propias caractersticas y propiedades que
hacen que sean diferentes uno de otro.
En este caso hablaremos acerca de un estilo arquitectnico. Recordemos que un estilo
arquitectnico es aquel que expresa los componentes y las relaciones entre ellos, con las
limitaciones de su aplicacin, as como la composicin y el diseo de normas asociadas a
su construccin.
Un componente es un elemento funcional que contiene la lgica de funcionamiento y la
estructura interna de los datos, as como una interfaz que permita la invocacin del
componente y el paso de datos.
A continuacin entramos a ver con detalle sobre el tema.

Estilo arquitectnico basado en componentes


Este tipo de estilo de arquitectura se enfoca en la descomposicin del diseo en
componentes funcionales o lgicos que expongan interfaces de comunicacin bien
definidas. Esto provee un nivel de abstraccin mayor que los principios de orientacin por
objetos y no se enfoca en asuntos especficos de los objetos como los protocolos de
comunicacin y la forma como se comparte el estado. Es un estilo de diseo para
aplicaciones compuestas de componentes individuales y define una aproximacin de
diseo que usa componentes discretos, los que se comunican a travs de interfaces que
contienen mtodos, eventos y propiedades
Este estilo arquitectnico permite al programador reutilizar piezas de cdigo pre
elaborado, permitiendo de esta forma ahorrar tiempo de desarrollo, mejorar la calidad del
producto y en ocasiones ahorrar los costos monetarios del producto.

Principios fundamentales
Los principios fundamentales cuando se disea un componente es que estos deben ser:
Reusable. Los componentes son usualmente diseados para ser utilizados en escenarios
diferentes por diferentes aplicaciones, sin embargo, algunos componentes pueden ser
diseados para tareas especficas.
Sin contexto especifico. Los componentes son diseados para operar en diferentes
ambientes y contextos. Informacin especfica como el estado de los datos deben ser
pasadas al componente en vez de incluirlos o permitir al componente acceder a ellos.
Extensible. Un componente puede ser extendido desde un componente existente para
crear un nuevo comportamiento.
Encapsulado. Los componentes exponen interfaces que permiten al programa usar su
funcionalidad. Sin revelar detalles internos, detalles del proceso o estado.
Independiente. Los Componentes estn diseados para tener una dependencia mnima
de otros componentes. Por lo tanto los componentes pueden ser instalados en el
ambiente adecuado sin afectar otros componentes o sistemas.

Beneficios
Los siguientes son los principales beneficios del estilo de arquitectura basado en
componentes:
Facilidad de Instalacin. Cuando una nueva versin est disponible, se podr reemplazar
la versin existente sin impacto en otros componentes o el sistema como un todo.
Costos reducidos. El uso de componentes de terceros permite distribuir el costo del
desarrollo y del mantenimiento.
Facilidad de desarrollo. Los componentes implementan un interface bien definida para
proveer la funcionalidad definida permitiendo el desarrollo sin impactar otras partes del
sistema.
Reusable. El uso de componentes reutilizables significa que ellos pueden ser usados para
distribuir el desarrollo y el mantenimiento entre mltiples aplicaciones y sistemas.
Mitigacin de complejidad tcnica. Los componentes mitigan la complejidad por medio
del uso de contenedores de componentes y sus servicios. Ejemplos de servicios de
componentes incluyen activacin de componentes, gestin de la vida de los componentes,
gestin de colas de mensajes para mtodos del componente y transacciones.

Estructura de un componente

figura 1

Como lo muestra la figura 1, un cliente puede acceder a la interfaz de un componente de


una aplicacin, lo hace de forma implcita a travs de un mtodo propio del componente.
El cliente no puede ver todos los objetos que contiene el componente, dicho de otra
forma, el cliente no puede ver el cdigo y datos internos del componente, debido a que
estn en funcin privada. El cliente slo ver la interfaz que se encuentra en forma
pblica. Como se ha mencionado anteriormente, los componentes contienen informacin
abstracta que hace que tenga una funcionalidad acorde a la peticin del cliente.

Conclusiones personales
Vemos que el estilo arquitectnico basado en componentes nos ayuda a reutilizar piezas
de cdigo para ahorrar tiempo en la elaboracin de software, es importante tomar en
cuenta la independencia de cada componente y definir muy bien sus caractersticas y
funcionalidades para que as si se planean mejoras al software no afecte a todo el sistema
sino solo al componente que ser modificado o en su caso poder agregar nuevos
componentes sin alterar la funcionalidad del sistema.
Es importante mencionar que una de las caractersticas que conforman a los componentes
es que contienen mtodos y tambin funcionalidad como interfaz publica y objetos que
son privados, el cliente podr visualizar slo la parte pblica del componente. As que esta
sera una restriccin de los componentes.

Referencias
http://www.juanpelaez.com/geek-stuff/arquitectura/arquitectura-basada-encomponentes/
https://sites.google.com/site/lawebdelsoftware/ingenieria-de-software-1/unidad-vi
http://www.fing.edu.uy/inco/pedeciba/bibliote/reptec/TR0316.pdf