Diferencia entre revisiones de «SIU-Arai/Arquitectura»
m (→Organización) |
(Avances Registry - doc arquitectura) |
||
Línea 7: | Línea 7: | ||
[[Archivo:Arquitectura.png|centro|sinmarco|1000x1000px]] | [[Archivo:Arquitectura.png|centro|sinmarco|1000x1000px]] | ||
− | === Definición de los componentes === | + | ===Definición de los componentes === |
Existen dos componentes que son vitales para el funcionamiento de la plataforma. | Existen dos componentes que son vitales para el funcionamiento de la plataforma. | ||
*Arai-Registry: Repositorio central de servicios y aplicaciones | *Arai-Registry: Repositorio central de servicios y aplicaciones | ||
Línea 17: | Línea 17: | ||
También pueden ir apareciendo en escena futuros módulos o componentes que ofrezcan servicios puntuales. La plataforma es totalmente flexible en este punto. En todos los casos, los servicios ofrecidos han de implementar protocolos de comunicación basados en el estándar [https://es.wikipedia.org/wiki/Transferencia_de_Estado_Representacional REST]. Esto es lo que permite lograr el despliegue de una arquitectura basada en servicios ([[wikipedia:Service-oriented_architecture|Service Oriented Architecture]]). | También pueden ir apareciendo en escena futuros módulos o componentes que ofrezcan servicios puntuales. La plataforma es totalmente flexible en este punto. En todos los casos, los servicios ofrecidos han de implementar protocolos de comunicación basados en el estándar [https://es.wikipedia.org/wiki/Transferencia_de_Estado_Representacional REST]. Esto es lo que permite lograr el despliegue de una arquitectura basada en servicios ([[wikipedia:Service-oriented_architecture|Service Oriented Architecture]]). | ||
+ | |||
+ | === Configuración de dependencias y Servicios === | ||
+ | |||
+ | La plataforma cuenta con ARAI-Registry como un componente dedicado al manejo del catálogo de dependencias y servicios, así como su configuración. Tomemos como ejemplo la comunicación entre dos módulos, X e Y. Para que esto suceda, se tiene que resolver una serie de requerimientos como ser la autenticación, la ruta de acceso, entre otros. | ||
+ | |||
+ | [[Archivo:Registry-figura-1.png|no|miniaturadeimagen|612x612px]] | ||
+ | |||
+ | Para lograr esta tarea, por medio de la librería arai-cli cada sistema desarrollado por el SIU cuenta con una serie de comandos de consola que permiten registrar un módulo a la plataforma SIU-Araí. El primero es '''registry:add''' y lo que realiza es el registro del módulo en el catálogo de servicios de ARAI-Registry. Al registrar, el módulo indica si se trata de: | ||
+ | * una aplicación | ||
+ | * si provee o consume un servicio (como de SSO), | ||
+ | * si provee y/o consume una API tipo rest | ||
+ | En los casos que sea necesario, el módulo indica también su punto de acceso (conocido como endpoint), así como las credenciales que posee o con las cuales desea consumir algo. <blockquote>Nota: el comando '''registry:add''' sólo se ejecuta la primera vez. Luego se utiliza un comando distinto para mantener sincronizado los datos.</blockquote> | ||
+ | [[Archivo:Registry-figura-2.png|no|miniaturadeimagen|732x732px]] | ||
+ | |||
+ | Sync | ||
+ | |||
+ | [[Archivo:Registry-figura-3.png|no|miniaturadeimagen|732x732px]] | ||
[[SIU-Arai|< Volver]] | [[SIU-Arai|< Volver]] |
Revisión del 16:15 12 abr 2018
Arquitectura de la plataforma
La siguiente imagen expone el detalle de la arquitectura general de la plataforma, así como la vinculación entre componentes internos, módulos del SIU y aplicaciones o sistemas externos.
Definición de los componentes
Existen dos componentes que son vitales para el funcionamiento de la plataforma.
- Arai-Registry: Repositorio central de servicios y aplicaciones
- Arai-Usuarios: Proveedor y Administrador de Identidad (término del IdP e IdM) para toda la plataforma. Destaca la provisión del servicio de ingreso único (Single Sign On)
A partir de allí, es posible encontrarse con otros módulos que la complementan.
- SIU-Huarpe: es el portal de la plataforma, punto de acceso único para los usuarios y concentrador de diversos servicios ofrecidos
- SIU-XXX: toda aplicación del SIU capaz de ser integrada a la plataforma, conocido aquí como módulo.
También pueden ir apareciendo en escena futuros módulos o componentes que ofrezcan servicios puntuales. La plataforma es totalmente flexible en este punto. En todos los casos, los servicios ofrecidos han de implementar protocolos de comunicación basados en el estándar REST. Esto es lo que permite lograr el despliegue de una arquitectura basada en servicios (Service Oriented Architecture).
Configuración de dependencias y Servicios
La plataforma cuenta con ARAI-Registry como un componente dedicado al manejo del catálogo de dependencias y servicios, así como su configuración. Tomemos como ejemplo la comunicación entre dos módulos, X e Y. Para que esto suceda, se tiene que resolver una serie de requerimientos como ser la autenticación, la ruta de acceso, entre otros.
Para lograr esta tarea, por medio de la librería arai-cli cada sistema desarrollado por el SIU cuenta con una serie de comandos de consola que permiten registrar un módulo a la plataforma SIU-Araí. El primero es registry:add y lo que realiza es el registro del módulo en el catálogo de servicios de ARAI-Registry. Al registrar, el módulo indica si se trata de:
- una aplicación
- si provee o consume un servicio (como de SSO),
- si provee y/o consume una API tipo rest
Nota: el comando registry:add sólo se ejecuta la primera vez. Luego se utiliza un comando distinto para mantener sincronizado los datos.
Sync