SIU-Arai/registry
Sumario
SIU-Arai: Registry
El repositorio central de servicios y aplicaciones. Es un catálogo de las APIs, aplicaciones y servicios en general instalados en una institución (dentro del SOA governance).
Entre otras funcionalidades permite
- controlar dependencias de servicio
- proveer configuraciones
- monitorear y ayudar a diagnosticar los servicios instalados.
Nota: todo componente, módulo y/o aplicación del SIU que se conecta a la plataforma implementa arai-cli.
Plataforma para configuración de Dependencias y Servicios
La plataforma cuenta con 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. Se establece que el Módulo Y ya se encuentra registrado previamente a la plataforma.- 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.
Nota: siempre que los datos de acceso del módulo cambien, se incorporen nuevos proveedores o consumidores, se ha de ejecutar la sincronización para actualizar los datos. Registry de ninguna forma enviará esta información de manera pro-activa, como en el caso del ejemplo para informar al Módulo Y.
Nota: este ejemplo supone que Módulo Y ya se registró al catálogo de servicios de Registry como proveedor de una API rest. También supone que se ejecutó una sincronización en Módulo Y luego de haberse sincronizado el Módulo X.
Uso básico
Existe un comando de administración básico que irá creciendo a través de las versiones.
SIU Arai Cli version v1.0.1
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Mostrar tiempos y uso de memoria
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
help Displays help for a command
list Lists commands
packages
packages:list Muestra la lista de ids de paquetes registrados en Registry
packages:remove Desregistra una paquete de registry
schema
schema:create Crea la estructura del schema
schema:empty Vacia los datos
Listando paquetes registrado
A medida que se van registrando paquetes se podrán ver aparecer ejecutando:
+---------------------+-------------------+-------------------+
| ID Instancia | Nombre | Descripción |
+---------------------+-------------------+-------------------+
| siu/arai-usuarios_1 | siu/arai-usuarios | SIU-Arai Usuarios |
| siu/huarpe_1 | siu/huarpe | SIU-Huarpe Core |
+---------------------+-------------------+-------------------+
A los paquetes que se van registrando se les asigna un Id de Instancia. Este id es único por base de Registry e identifica unívocamente a una instalación de un paquete.
Desde Araí-Usuarios se podrá ver este id y asociarlo con usuarios.
Borrando paquetes
Si en algún momento ocurre algún error al momento de la registración de un paquete este se puede borrar para volver a intentarlo.
Para borrar un paquete se ejecuta el siguiente comando:
Funcionamiento
Todos los sistemas que se quieren sumar a Registry deben definir un archivo llamado arai.json.
En este archivo se especifica lo que consume y lo que provee cada paquete. A los consumos y provisiones se los llama features.
Los servicios, apis y aplicaciones que estan disponibles en el repositorio son ejemplos de features.