El espectacular auge de los sistemas abiertos y distribuidos, junto con la creciente necesidad de un mercado global de componentes, hacen preciso un cambio en la forma en la que se desarrollan actualmente las aplicaciones. Conceptos como la reutilización, la evolución dinámica o la composición tardía, fundamentales en esos entornos, obligan a una clara separación entre los aspectos computacionales e interoperacionales de los componentes. Debe ser posible por tanto disponer de mecanismos que permitan incorporar de una forma modular a los componentes tanto los requisitos exigidos por el usuario, como aquellos derivados de su ejecución en este tipo tan especial de sistemas
Desde el punto de vista de la arquitectura software estos problemas suelen tratarse mediante la definición de componentes y conectores. Los componentes encapsulan los aspectos computacionales de la aplicación, mientras que los conectores describen los patrones de interacción entre ellos. Sin embargo, este enfoque presenta ciertas limitaciones, puesto que los conectores permiten expresar y gestionar de forma efectiva las interconexiones y sincronización entre los componentes, pero se ha visto que no son suficientes a la hora de abstraer otras propiedades y requisitos específicos, como pueden ser la búsqueda dinámica de recursos, las políticas de distribución de las cargas, o la fiabilidad
No hay comentarios:
Publicar un comentario