Beruflich Dokumente
Kultur Dokumente
Mecanismos Arquitectónicos
Arquitecturas Orientadas a Componentes y Servicios
Lenguajes de Defición Arquitectónica (ADLs)
Arquitecturas Software
M.I. Capel
Desarrollo de Software
Ingeniería de Software (3er curso de Grado)
Índice
1 Introducción
Ciclo de Negocio de una Arquitectura Software
Descripción de una Arquitectura Software
2 Mecanismos Arquitectónicos
3 Arquitecturas Orientadas a Componentes y Servicios
Conceptos generales sobre SOA
Servicios proporcionados por la arquitectura
Tecnologías para implantar un SOA
Tecnologías para implantar un SOA
Ciclo de Vida
Business Process Modeling
Especificación GRáfica de Procesos de Negocio
Formalization de las extensiones temporales de EBPMN
M.I.Capel Tema 2 2/146
Introducción
Mecanismos Arquitectónicos
Arquitecturas Orientadas a Componentes y Servicios
Lenguajes de Defición Arquitectónica (ADLs)
Índice
1 Introducción
Ciclo de Negocio de una Arquitectura Software
Descripción de una Arquitectura Software
2 Mecanismos Arquitectónicos
3 Arquitecturas Orientadas a Componentes y Servicios
Conceptos generales sobre SOA
Servicios proporcionados por la arquitectura
Tecnologías para implantar un SOA
Tecnologías para implantar un SOA
Ciclo de Vida
Business Process Modeling
Especificación GRáfica de Procesos de Negocio
Formalization de las extensiones temporales de EBPMN
M.I.Capel Tema 2 2/146
Introducción
Mecanismos Arquitectónicos
Arquitecturas Orientadas a Componentes y Servicios
Lenguajes de Defición Arquitectónica (ADLs)
Índice
1 Introducción
Ciclo de Negocio de una Arquitectura Software
Descripción de una Arquitectura Software
2 Mecanismos Arquitectónicos
3 Arquitecturas Orientadas a Componentes y Servicios
Conceptos generales sobre SOA
Servicios proporcionados por la arquitectura
Tecnologías para implantar un SOA
Tecnologías para implantar un SOA
Ciclo de Vida
Business Process Modeling
Especificación GRáfica de Procesos de Negocio
Formalization de las extensiones temporales de EBPMN
M.I.Capel Tema 2 2/146
Introducción
Mecanismos Arquitectónicos
Arquitecturas Orientadas a Componentes y Servicios
Lenguajes de Defición Arquitectónica (ADLs)
Índice
1 Introducción
Ciclo de Negocio de una Arquitectura Software
Descripción de una Arquitectura Software
2 Mecanismos Arquitectónicos
3 Arquitecturas Orientadas a Componentes y Servicios
Conceptos generales sobre SOA
Servicios proporcionados por la arquitectura
Tecnologías para implantar un SOA
Tecnologías para implantar un SOA
Ciclo de Vida
Business Process Modeling
Especificación GRáfica de Procesos de Negocio
Formalization de las extensiones temporales de EBPMN
M.I.Capel Tema 2 2/146
Introducción
Mecanismos Arquitectónicos Ciclo de Negocio de una Arquitectura Software
Arquitecturas Orientadas a Componentes y Servicios Descripción de una Arquitectura Software
Lenguajes de Defición Arquitectónica (ADLs)
Arquitectura de Software
Es una descripción de la estructura del software que se va
a implementar,
los datos que son parte del sistema,
las interfaces entre los componentes del sistema,
y algunas veces, los algoritmos utilizados.
El diseño se obtiene iterativamente tras varias versiones.
Incluye agregar formalidad y detalles durante el desarrollo
del diseño, y regresar a los diseños anteriores y corregirlos.
El proceso de diseño es aún un proceso adhoc
[Bass et al. 2003]
La Arquitectura de Software de un programa o sistema de
computación es la estructura o estructuras del sistema, la
cual comprende componentes
M.I.Capel
deTema
software,
2 3/146
propiedades
Introducción
Mecanismos Arquitectónicos Ciclo de Negocio de una Arquitectura Software
Arquitecturas Orientadas a Componentes y Servicios Descripción de una Arquitectura Software
Lenguajes de Defición Arquitectónica (ADLs)
El diseño arquitectónico
definición
Consiste en una actividad inicial de la fase de diseño de un
sistema software cuyo objetivo es identificar los subsistemas y
establecer un marco de trabajo para gestionar correctamente el
control y la comunicación de dichos subsistemas
El proceso de diseño
El proceso de diseño incluye el desarrollo de varios
modelos con diferentes niveles de abstracción
La retroalimentación entre estas actividades y la
consecuente repetición del trabajo es inevitable en todo
proceso de diseño
Especificación de requerimientos
Influencias
AS y requisitos no–funcionales
El estilo arquitectónico y estructura interna escogidos
puede depender de requisitos no-funcionales: rendimiento,
seguridad, fiabilidad, disponibilidad y mantenibilidad
Rendimiento
Clave: localizar las operaciones críticas dentro del menor
número posible de subsistemas, que mantengan el mínimo
acoplamiento posible
AS y requisitos no–funcionales II
Seguridad (prevención de daños)
Clave: todas las operaciones sensibles han de ser ubicadas en
un solo subsistema o en un número pequeño de estos para
conseguir la mayor protección
Disponibilidad
Clave: la arquitectura debe incluir componentes redundantes,
tal que se puedan sustituir sin parar la ejecución del sistema
Mantenibilidad
Clave: utilizar componentes pequeños y autocontenidos que
puedan ser cambiados con rapidez
M.I.Capel Tema 2 13/146
Introducción
Mecanismos Arquitectónicos Ciclo de Negocio de una Arquitectura Software
Arquitecturas Orientadas a Componentes y Servicios Descripción de una Arquitectura Software
Lenguajes de Defición Arquitectónica (ADLs)
Conflicto de intereses
El potenciar un atributo arquitectónico correspondiente a
un requisito no–funcional puede estar en conflicto con los
otros requisitos
Ejemplo: utilizar componentes grandes mejora el
rendimiento, en general, pero perjudica la mantenibilidad
del diseño
Se puede bien llegar a una solución de compromiso o
utilizar distintos estilos arquitectńicos para diferentes
partes del sistema
Decisiones Arquitectónicas
Cada enfoque desarrollado como parte de una descripción
arquitectónica aborda un aspecto de la AS
Se consideran una variedad de alternativas entre los
posibles enfoques arquitectónicos, y su descripciones
Las propias decisiones arquitectónicas pueden ser
consideradas como un enfoque o vista de la arquitectura.
Documentar las decisiones y las razones que las motivan
dichas es una manera fundamental de concebir y expresar
una arquitectura software [Babar09, Perry92].
Las decisiones arquitectónicas se pueden considerar
como los primeros elementos de la descripción de una
arquitectura software, por tanto, se han de hacer explícitas
utilizando una plantilla de descripción
M.I.Capel Tema 2 arquitectónica
15/146
Introducción
Mecanismos Arquitectónicos Ciclo de Negocio de una Arquitectura Software
Arquitecturas Orientadas a Componentes y Servicios Descripción de una Arquitectura Software
Lenguajes de Defición Arquitectónica (ADLs)
Decisiones Arquitectónicas II
Resolución Argumentos
Categoría Implicaciones
Suposiciones Decisiones relacionadas
Restricciones Productos de trabajo
Alternativas Notas
Computacionales:
Son entidades tales como clientes, servidores, bases de
datos, filtros y capas de un sistema jerárquico.
Son además, una parte encapsulada del sistema de
software, donde cada uno tiene una interfaz.
Interacciones:
Ocurren entre los elementos a nivel de diseño, pudiendo
ser tan simples como las llamadas a procedimientos o
variables de acceso, o tan complejas y semánticamente
ricas como los protocolos del modelo cliente-servidor, o los
protocolos de acceso a las bases de datos.
Relaciones:
Denotan las conexiones entre los elementos
computacionales y/o componentes.
Relaciones estáticas: Se muestran en el código fuente,
ellas reflejan la colocación de los componentes dentro de
la arquitectura. Son fácilmente detectables a partir del
código fuente.
Relaciones dinámicas: Tratan con las conexiones
temporales y las interacciones dinámicas entre los
componentes.
No se suelen detectar inspeccionando el código fuente del
sistema final
Pasos a seguir
Diseño arquitectónico
Componentes de Subsistemas
Arquitectura de Componentes
Clases de Objetos
Descomposición de paquetes
Diagrama de estados
Modelos abstractos de AS
Modelo 4+1 Vistas de Krutchen
En la actualidad el desarrollo de sistemas se centra en la
arquitectura software, que es especificada utilizando el modelo
siguiente
Modelos abstractos de AS
Modelo 4+1 Vistas de Krutchen
En la actualidad el desarrollo de sistemas se centra en la
arquitectura software, que es especificada utilizando el modelo
siguiente
Estilos Arquitectónicos
Estilos II
Patrón Arquitectónico
Patrón Arquitectónico
Patrones II
El uso de ciertos
Para Buschmann son mecanismos, como los
plantillas para arquitecturas estilos y patrones
de software concretas, que arquitectónicos, permite
especifican las propiedades mejorar las características
estructurales de una de calidad en el software
aplicación y tienen un [Bosch, 2000], bien sean
impacto en la arquitectura éstas observables o no en
de subsistemas. tiempo de ejecución [Bass
et al., 2003].
Patrón Interceptor
Permite a determinados servicios ser añadidos de manera
transparente a un marco de trabajo y ser disparados
automáticamente cuando ocurren ciertos eventos
Contexto: Desarrollo de marcos de trabajo que puedan ser
extendidos de manera transparente
Problema: Los marcos de trabajo, arquitecturas software,
etc. ha de poder anticiparse a las demandas de servicios
concretos que deben ofrecer a sus usuarios
Integración dinámica de nuevos componentes sin afectar a
la AS o a otros componentes
Solución: Registro offline de servicios a través de una
interfaz predefinida del marco de trabajo, posteriormente
se disparan estos servicios
M.I.Capel cuando
Tema 2 ocurran determinados
48/146
Introducción
Mecanismos Arquitectónicos
Arquitecturas Orientadas a Componentes y Servicios
Lenguajes de Defición Arquitectónica (ADLs)
Interceptor
Implicaciones en la calidad 2
Inconvenientes Atributo de calidad Características ISO 9126
Difícil ajuste del número de Complejidad Facilita cambios
despachadores e interceptores Flexib., extensibilidad Facilita análisis
Bloqueo aplicación por Disponibilidad Mantenibilidad
fallo del interceptor Modificabilidad Madurez, Tolerancia Fallas
Degradación rendimiento por Rendimiento Eficiencia,madurez
cascadas de interceptores Bloqueo Tolerancia fallas
Patrón Broker
Para modelar sistemas distribuidos compuesto de
componentes software totalmente desacoplados
Contexto: cualquier sistema distribuido y, posiblemente,
heterogéneo con componentes cooperando dentro de un
sistema de información
Problema:¿Cómo estructurar componentes configurables
dinámicamente e independientes de los mecanismos
concretos de comunicación de un sistema distribuido?
Solución: Introducir un componente Broker para mejor
desacoplamiento entre clientes y servidores
Las tareas de los Brokers incluyen la localización del
servidor apropiado, envío de la petición al servidor y
transmisión de los resultados
M.I.Capel Tema 2 55/146
Introducción
Mecanismos Arquitectónicos
Arquitecturas Orientadas a Componentes y Servicios
Lenguajes de Defición Arquitectónica (ADLs)
Broker
Implicaciones en la calidad 2
Patrón Reflection
Proporciona un mecanismo para cambiar la estructura y
comportamiento de sistemas software dinámicamente
Soporta la modificación de aspectos fundamentales, tales
como estructuras y mecanismos de llamadas a funciones.
Contexto: Cualquier sistema que necesita soporte para
realizar cambios propios y para conseguir persistencia de
sus entidades
Problema: ¿Cómo se puede modificar el comportamiento
de los objetos de una jerarquía dinámicamente sin afectar
a los propios objetos en su configuración actual?
Solución: Hacer que el software sea “auto-consciente" de
su función y comportamiento, haciendo que los aspectos
seleccionados sean M.I.Capel
accesibles
Temapara
2 su adaptación y
62/146
Introducción
Mecanismos Arquitectónicos
Arquitecturas Orientadas a Componentes y Servicios
Lenguajes de Defición Arquitectónica (ADLs)
Reflection
Implicaciones en la calidad 2
Figure: Características
M.I.Capel ISOTema
del2 patrón
68/146 “Reflection"
Introducción
Mecanismos Arquitectónicos
Arquitecturas Orientadas a Componentes y Servicios
Lenguajes de Defición Arquitectónica (ADLs)
Arquitecturas Estratificadas
Estructuradas en capas que realizan operaciones que van
acercándose a nivel de las instrucciones–máquina:
-operaciones nivel interfaz de usuario
M.I.Capel Tema 2 70/146
Introducción
Mecanismos Arquitectónicos
Arquitecturas Orientadas a Componentes y Servicios
Lenguajes de Defición Arquitectónica (ADLs)
Arquitecturas de referencia
Conceptos
Los estilos arquitectónicos se pueden aplicar a muchos
dominios de aplicaciones
Reutilización de la estructura arquitectónica común de los
modelos que se aplican a un mismo dominio de
aplicaciones
Arquitecturas de referencia
Conceptos
Los estilos arquitectónicos se pueden aplicar a muchos
dominios de aplicaciones
Reutilización de la estructura arquitectónica común de los
modelos que se aplican a un mismo dominio de
aplicaciones
Concepto y Motivación
Concepto
Las arquitecturas basadas en componentes y servicios: la
funcionalidad de las aplicaciones ahora se implementa en la
forma de componentes reutilizables e invocables mediante
interfaces estándar, que pueden combinarse para crear
funciones progresivamente más complejas.
Motivación
La dificultad de las arquitecturas tradicionales para integrarse
en los procesos de negocio reside en que sus aplicaciones no
están diseñadas para ser integradas con otras
M.I.Capel Tema 2 76/146
Conceptos generales sobre SOA
Servicios proporcionados por la arquitectura
Introducción Tecnologías para implantar un SOA
Mecanismos Arquitectónicos Tecnologías para implantar un SOA
Arquitecturas Orientadas a Componentes y Servicios Ciclo de Vida
Lenguajes de Defición Arquitectónica (ADLs) Business Process Modeling
Especificación GRáfica de Procesos de Negocio
Formalization de las extensiones temporales de EBPMN
Servicios
¿Qué es un servicio?
“Representación estándar para cualquier recurso
computacional o de información que pueda ser utilizado por
otras aplicaciones", Turner (2003)
Características de un servicio
Tipos de servicios
Servicios:
Interacción
Proceso
Servicios de Aplicación de Negocios
Información
Servicios de Acceso
Socios
Servicios de Innovación y Optimización
Servicios de Desarrollo
Manejo de Servicios IT
M.I.Capel Tema 2 80/146
Conceptos generales sobre SOA
Servicios proporcionados por la arquitectura
Introducción Tecnologías para implantar un SOA
Mecanismos Arquitectónicos Tecnologías para implantar un SOA
Arquitecturas Orientadas a Componentes y Servicios Ciclo de Vida
Lenguajes de Defición Arquitectónica (ADLs) Business Process Modeling
Especificación GRáfica de Procesos de Negocio
Formalization de las extensiones temporales de EBPMN
Servicios de Intermediación
Servicio de meta–información (“trading") esencial de los
sistemas abiertos
Actúa como un mediador global entre servicios,
aplicaciones y clientes
Permite construir un ambiente de computación a escala
mundial
Evolución constante de servicios y aplicaciones
Ingeniería de Software para Sistemas Abiertos
Servicios de Eventos
Sirven de soporte al intercambio de mensajes asíncrono
entre objetos en Sistemas Distribuídos
Dependen de una infraestructura basada en eventos (
como JEDI)
Ejemplos de servicios de eventos:
Servicios de Notificación de Eventos (SIENA)
CORBA Event Service
Servicios de alerta que pueden ser construidos sobre
servicios de eventos
Caracterización de SOA
¿Qué es SOA?
Una arquitectura flexible y estándar que unifica los procesos de
negocio estructurando grandes aplicaciones como colecciones
de servicios.
Estilo arquitectónico
SOA es también un estilo de arquitectura donde todas las
funcionalidades, ya sean existentes o nuevas, son agrupadas
en servicios que se comunican entre sí.
M.I.Capel Tema 2 87/146
Conceptos generales sobre SOA
Servicios proporcionados por la arquitectura
Introducción Tecnologías para implantar un SOA
Mecanismos Arquitectónicos Tecnologías para implantar un SOA
Arquitecturas Orientadas a Componentes y Servicios Ciclo de Vida
Lenguajes de Defición Arquitectónica (ADLs) Business Process Modeling
Especificación GRáfica de Procesos de Negocio
Formalization de las extensiones temporales de EBPMN
Requerimientos de un SOA
Servicios Web
Los Servicios Web son servicios implementados utilizando
estándares como SOAP, WSDL y UDDI para ser accedidos a
través de una red, preferiblemente Internet y ejecutados
remotamente
Protocolo estándar
Service Oriented Architecture Protocol (SOAP)
Tecnologías
XML
Un lenguaje de marcas. XML se basa en la combinación de
texto con información que describe ese texto. En XML se
utilizan las etiquetas (tags) para describir bloques de texto. Fue
diseñado para compartir fácilmente las estructuras de datos a
través de la red.
SOAP
Simple Object Access Protocol es un protocolo estándar bajo
el auspicio de la W3C que define cómo dos objetos en
diferentes procesos pueden comunicarse por medio de
intercambio de datos XML
M.I.Capel Tema 2 93/146
Conceptos generales sobre SOA
Servicios proporcionados por la arquitectura
Introducción Tecnologías para implantar un SOA
Mecanismos Arquitectónicos Tecnologías para implantar un SOA
Arquitecturas Orientadas a Componentes y Servicios Ciclo de Vida
Lenguajes de Defición Arquitectónica (ADLs) Business Process Modeling
Especificación GRáfica de Procesos de Negocio
Formalization de las extensiones temporales de EBPMN
Tecnologías
WSDL
Web Service Description Language es un lenguaje basado en
XML utilizado para describir los Servicios Web. Este lenguaje
define a los servicios como colecciones de puertos, donde
cada puerto indica una función del servicio que está siendo
descrito. Así, cualquier usuario de un servicio puede leer el
WSDL y saber qué funciones se pueden llamar utilizando
SOAP.
UDDI
Universal Description, Discovery and Integration es un registro
basado en XML para listar servicios en Internet. Está diseñado
para ser interrogado conM.I.Capel
mensajes SOAP
Tema 2 y proveer acceso a
94/146
Conceptos generales sobre SOA
Servicios proporcionados por la arquitectura
Introducción Tecnologías para implantar un SOA
Mecanismos Arquitectónicos Tecnologías para implantar un SOA
Arquitecturas Orientadas a Componentes y Servicios Ciclo de Vida
Lenguajes de Defición Arquitectónica (ADLs) Business Process Modeling
Especificación GRáfica de Procesos de Negocio
Formalization de las extensiones temporales de EBPMN
Tecnologías
BPEL
Business Process Execution Language es un lenguaje
ejecutable de procesamiento de negocios basado en XML.
BPEL nació como la combinación de WSFL (IBM) y XLANG
(Microsoft) para crear un estándar mundial de ejecución de
procesos de negocio. Este lenguaje se utiliza para orquestar la
ejecución de un proceso, llamando a los servicios que va
necesitando.
Implementación de WS
Desarrollo
Convertir el diseño de negocio en definiciones de
procesos y actividades
Transformarlos a los servicios de la arquitectura
Estudiar aplicaciones ya existentes y reutilizar
(asegurando estándares SOA)
Implementar los servicios que faltan
Despliegue
Crear un ambiente en el que se ejecuten las aplicaciones
Resolver dependencias
Condiciones operacionales, requisitos de capacidad y
restricciones de integridad y acceso
Gestión
Determinar la manera de mantener el ambiente
operacional y las políticas de implementación
Monitorizar la efectividad de las solicitudes de servicio y el
tiempo de respuesta
Mantener registros de fallos y recuperar tareas
Monitorización de las métricas de negocio (KPI) que se
definieron en el diseño
Gobernabilidad
Definir los derechos de decisión para el desarrollo,
despliegue y manejo de nuevos servicios
Supervisar que se cumplen las políticas, estándares,
proceso y procedimientos
Ayuda a identificar qué proyectos contribuyen
principalmente a conseguir las metas de negocio
Definir los roles y las responsabilidades de cada miembro
del equipo de forma clara
Enfoque de SUN
Características
BPMN utiliza una notación gráfica similar a UML
Tal como éste, la semántica de BPMN no está
formalmente definida
La ausencia de tal semántica produce un problema para la
validación de los modelos de procesos de negocio
BPMN 2.0 intenta modelar
M.I.Capel los procesos
Tema 2 108/146 con restricciones
Conceptos generales sobre SOA
Servicios proporcionados por la arquitectura
Introducción Tecnologías para implantar un SOA
Mecanismos Arquitectónicos Tecnologías para implantar un SOA
Arquitecturas Orientadas a Componentes y Servicios Ciclo de Vida
Lenguajes de Defición Arquitectónica (ADLs) Business Process Modeling
Especificación GRáfica de Procesos de Negocio
Formalization de las extensiones temporales de EBPMN
Características
BPMN utiliza una notación gráfica similar a UML
Tal como éste, la semántica de BPMN no está
formalmente definida
La ausencia de tal semántica produce un problema para la
validación de los modelos de procesos de negocio
BPMN 2.0 intenta modelar
M.I.Capel los procesos
Tema 2 108/146 con restricciones
Conceptos generales sobre SOA
Servicios proporcionados por la arquitectura
Introducción Tecnologías para implantar un SOA
Mecanismos Arquitectónicos Tecnologías para implantar un SOA
Arquitecturas Orientadas a Componentes y Servicios Ciclo de Vida
Lenguajes de Defición Arquitectónica (ADLs) Business Process Modeling
Especificación GRáfica de Procesos de Negocio
Formalization de las extensiones temporales de EBPMN
La notación BPMN
Gateways
Events
Activities
Flows
Type
in Type
exit_3
N exit_2
out exit_1
send/receive
error
Data–based OR Gateway
Tareas de servicios
Tareas de servicios II
Interpretación Semántica
Descripción de una AS
ISO/IEC/IEEE 42010
Guiar en la construcción y mantenimiento del sistema
Ayudar a planear los costes y evolución del sistema
Servir como un medio para el análisis, evaluación o
comparación de arquitecturas software
Facilitar la comunicación entre las partes interesadas en
las arquitecturas y los sistemas
Documentar el conocimiento arquitectónico más allá del
ámbito de los proyectos individuales
Capturar idiomas arquitectónicos reutilizables (tales como
estilos arquitectónicos y patrones)
M.I.Capel Tema 2 123/146
Introducción
Mecanismos Arquitectónicos
Caso de Estudio: An Architecture Description Interchange Languag
Arquitecturas Orientadas a Componentes y Servicios
Lenguajes de Defición Arquitectónica (ADLs)
Descripción de una AS
Ventajas para el diseño arquitectónico
La descripción inicial del sistema pueda plasmarse de
forma textual o gráfica utilizando distintos estilos y
componentes arquitectónicos
Desarrollar la descripción de subsistemas en función de la
información que recibe o produce
Descripción del comportamiento y sus elementos
asociados
Proporciona una documentacuón de alto nivel de la AS y
del sistema objetivo
Con un ADL que proporcione facilidades para ello, puede
realizarse análisis deM.I.Capel
desempeño,
Tema 2
disponibilidad,
124/146
Introducción
Mecanismos Arquitectónicos
Caso de Estudio: An Architecture Description Interchange Languag
Arquitecturas Orientadas a Componentes y Servicios
Lenguajes de Defición Arquitectónica (ADLs)
ADL
Concepto
Resuelven el problema de la representación formal de una
arquitectura software desde un punto de vista sintáctico y
semántico [Bass et al. 1998][Clements 1996]
Un ADL permite representar, analizar y especificar una AS
Pueden ser descriptivo–formales o semiformales, gráficos,
o ambas cosas
Algunos han sido sólo definidos formalmente y otros
cuentas con herramientas que los soportan
ADL
Actuales
ACME (carnegie-Mellon), CODE, UNICON, Wrigth, RAPIDE,
Darwin (Imperial College), xADL (UCI), DAOP-ADL
(Universidad de Málaga) y ByADL (Universidad de L’Aquila)
Características
Los primeros ADLs hacían más énfasis en el modelado de
componentes, conectores y configuraciones.
Los ADLs actuales (ArchiMate, SysML, etc.) tienden a ser
lenguajes descriptivos de un espectro mucho más amplio
Se pueden utilizar lenguajes de propósito general como
UML como ADLs asíM.I.Capel
como para
Tema 2modelar
126/146 procesos de
Introducción
Mecanismos Arquitectónicos
Caso de Estudio: An Architecture Description Interchange Languag
Arquitecturas Orientadas a Componentes y Servicios
Lenguajes de Defición Arquitectónica (ADLs)
Elementos de ACME
componentes, conectores, sistemas, puertos, roles,
representaciones y rep-maps
Elementos de ACME
componentes, conectores, sistemas, puertos, roles,
representaciones y rep-maps
Descripción jerárquica de AS
Anotación de entidades
Propiedades ACME
Cada ADL define un conjunto de información para añadir a
la información estructural de la AS: datos comunicados,
protocolos de interacción, restricciones de planificación,
uso de recursos . . .
Cada una de las 7 entidades de ACME puede ser anotada
Anotación de la estructura arquitectónica mediante
listas de propiedades
1 System simple_cs = {
2 Component c l i e n t e = {
3 P o r t e n v i a r −p e t i c i o n ;
4 P r o p e r t y Aesop−s t y l e : s t y l e −i d = c l i e n t −s e r v e r ;
5 P r o p e r t y UniCon−s t y l e : s t y l e −i d = cs ;
6 P r o p e r t y source−code : e x t e r n a l = "CODE−LIB / c l i e n t . c " ;
7 }
8 Component s e r v i d o r = {
9 P o r t r e c i b i r −p e t i c i o n ;
10 P r o p e r t y idempotence : boolean = t r u e ;
11 P r o p e r t y max−c o n c u r r e n t−c l i e n t s : i n t e g e r = 1 ;
12 source−code : e x t e r n a l = "CODE−LIB / s e r v e r . c " ;
13 }
14 // ...
1 \\ ...
2 Connector r p c = {
3 Role l l a m a ;
4 Role llamado ;
5 P r o p e r t y asynchronous : boolean = t r u e ;
6 max−r o l e s : i n t e g e r = 2 ;
7 p r o t o c o l : Wright = " . . . " ;
8 }
9 Attachment c l i e n t e . e n v i a r −p e t i c i o n t o r p c . l l a m a ;
10 Attachment s e r v i d o r . r e c i b i r −p e t i c i o n t o r p c . llamado ;
11 }
Nombres de propiedades
Actúan como predicados de la Lógica:
NombreP : ℘(A) → {V , F }
Connector rpc = {
Roles {llama, llamado}
Property protocol : Wright = ”...”; }