The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Técnicos- Portal SIU-Huarpe y Plataforma SIU-Arai

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by , 2016-09-29 11:24:14

Técnicos- Portal SIU-Huarpe y Plataforma SIU-Arai

Técnicos- Portal SIU-Huarpe y Plataforma SIU-Arai

Track Técnico

Federico Bohn
Sebastián Marconi

Área de Desarrollo - SIU

Agenda

1. De MiUNQ a SIU-Huarpe.
2. ARAI-Usuarios: Identity Management.
3. ARAI-Registry: manejo de dependencias de servicios.
4. Caso de uso: ARAI-Huarpe-Diaguita-Mapuche-Pilagá vía Docker

tomado de MiUNQ

Objetivos técnicos:

● Acceso con Login único (SSO): no crear un nuevo usuario-
contraseña.

● Base de datos mínima o inexistente. Consumir servicios web de
los sistemas y la plataforma sobre la cual se instala.

● UI mobile-ready. El layout debe fluir según los roles del usuario y
las aplicaciones/infraestructura disponible.

● Capacidad de personalización.

Arquitectura

Aplicación SYMFONY 2.6. Tiene el concepto de Bundle (mezcla entre plugin y
módulo).

Módulo central del Huarpe

Módulo de RRHH: cliente rest de mapuche y UI de
autogestión.

Módulos con acceso a infraestructura y
aplicaciones propias de UNQ

Arquitectura

● Aplicación MVC: Controladores, vistas (templates Twig), acceso a
APIs vía Guzzle, etc.

● Se puede personalizar Huarpe tomando Bundles de distintas
instituciones, incluyendo SIU, integrando con distintos servicios.

● Cada Bundle se programa en su propio repositorio y se publica en
PHP-Composer.

● sdsd Define dependencias de librerías PHP en un archivo
● llamado composer.json, incluyendo rango de versiones
compatibles.

PHP-Composer

Archivo composer.json: Comandos sencillos:

{ ● Instalar dependencias: composer install
"name": "siu/huarpe", ● Actualizar versiones: composer update

"require": { Librerías SIU:
"symfony/symfony": "2.6.*", ● Dependientes de Toba (open-source):
"guzzlehttp/guzzle": "~5.1", packagist.org/packages/siu-toba
… ● Comunidad SIU: satis.siu.edu.ar
"siu/arai-cli": "1.0-alpha"

}
}

Agenda

1. De MiUNQ a SIU-Huarpe.
2. ARAI-Usuarios: Identity Management.
3. ARAI-Registry: manejo de dependencias de servicios.
4. Caso de uso: ARAI-Huarpe-Diaguita-Mapuche-Pilagá vía

Docker.

Usuarios: Identity Management

Es un componente ARAI constituído por:
1. Un Identity Provider (idp)
2. Base de datos centralizada de usuarios.
3. Aplicación de Gestión (ARAI-Usuarios).
4. API de gestión de usuarios.

Usuarios: Identity Provider

Identity Provider (idp): lo
que autentica al usuario. La
autorización sigue estando
en las aplicaciones.

Se utiliza el producto
SimpleSamlPHP (protocolo
SAML).

Es lo que permite el Single-
Sign-On (SSO)

Usuarios: Identity Provider

Módulos de SimpleSamlPhp
personalizados:
● SiuAraiAuth
● SiuAraiPassRecovery
● SiuAraiTheme
● SiuAraiError

Usuarios: Atributos

Se toman los nombres de Atributos de LDAP:

● uid: jperez Se irán incorporando el
● cn: Juan Perez resto de atributos de
● givenName: Juan
● sn: Perez eduPerson/eduOrg
● mail: jperez@..
● jpegPhoto: http://..
● accessTo [ siu-mapuche_1,

siu_diaguita_1 .. ]
● employeeNumber: 18
● appLauncherData

Usuarios: BD Postgres

usuarios usuarios_cuentas aplicaciones
identificador
password id_usuario identificador
nombres id_aplicacion etiqueta
… cuenta url

jperez
Juan Perez juan_p siu/mapuche
Mapuche
http://...

Usuarios: Gestión

● ABM de usuarios y
atributos.

● ABM de aplicaciones.

● Vinculación entre
aplicaciones y
usuarios.

● Manejo de la política
de seguridad y demás
configuraciones.

Usuarios: Auditoría

Permite visualizar el
inicio y fin de la sesión
de cada usuario, junto al
ingreso en cada una de
las aplicaciones.

Se considera desde la
entrega del token SAML.
La trazabilidad interna
corresponde a cada
aplicación.

Barra Común “App-Launcher”

Aplicaciones a las que tengo acceso.

Accesos a mi perfil y salida común a
los sistemas.

Barra Común “App-Launcher”

● Librería javascript https://github.com/SIU-Toba/js-app-
launcher

● Disponible como parte de Toba (2.7.1+).
● La información viene como atributo SAML (sólo login) o a

través de la API de Usuarios (a demanda).
● Recibe una URL para acceder a la edición del Perfil. Se

configura en ARAI-Usuarios, ofreciendo por defecto la del
portal SIU-Huarpe.

API para consumir
desde:

● ABM de usuarios
de aplicaciones.

● Editor de perfil
(como en SIU-
Huarpe)

● App-Launcher.

Usuarios: Provisioning

Migraciones iniciales de usuarios desde aplicaciones SIU. Matching de
atributos.
Provisioning “inline” desde las aplicaciones:
● Built-in: Toba desde 2.7.1
● Desde Toba-Usuarios consume la API de ARAI-Usuarios
● Se traen las cuentas y se notifican las modificaciones.

Alternativa a futuro: provisioning desde ARAI-Usuarios hacia las
aplicaciones.

Agenda

1. De MiUNQ a SIU-Huarpe.
2. ARAI-Usuarios: Identity Management.
3. ARAI-Registry: manejo de dependencias de servicios.
4. Caso de uso: ARAI-Huarpe-Diaguita-Mapuche-Pilagá vía

Docker.

Registry

Manejador de dependencia de servicios:
● Permite registrar las aplicaciones, servicios y APIS, respetando la

integridad de dependencias y requisitos de versiones.
● Este catálogo de instalaciones agiliza la detección y configuración de los

distintos servicios.
● Al conocer las aplicaciones instaladas permite armar un app-launcher para

navegarlas.
● A futuro puede ser un punto de monitoreo y soporte centralizado

Registry

● Cada sistema declara un archivo arai.json con todo lo que consume y
provee, con filtros de versiones.

● ARAI-Registry es una API REST que recibe los distintos arai.json, los controla
y almacena.

● El sistema al sincronizar impacta las novedades.

Pilaga Registry Diaguita

ofrece: API Pilaga ofrece: API Diaguita
consume: API Diaguita consume: API Pilaga

mapuche/arai.json Cuando se ejecuta “registry:sync”

{ Si hay un IDP (ej ARAI-Usuarios),
name: "siu/mapuche", envía el certificado propio y recibe el
description: "SIU-Mapuche", certificado y configura el SP.

consume: [ Si encuentra un RDI (ej Nuxeo) en la
registry Configura el rdi.ini de toba
{ name: "service:siu/sso-saml-idp", con los parámetros de conexión.
version: ">=0.2"
Si hay un Pilagá, trae la URL y la deja
}, en rest.ini

{ name: "service:siu/rdi" Si algún proyecto quiere usar la API de
version: ">=1.0" mapuche, se le pasa la URL y seteos.
Ej. digest o basic auth
},
Registra en la base de instalaciones,
{ name: "api:siu/pilaga" el acceso a la app Mapuche.
version: ">=2.4"
},
], name: "api:siu/mapuche",
version: "0.1.0",
provide: [ tag: "rectorado"

{

},

{ name: "app:siu/mapuche",
alias: "Mapuche",
description: "Módulo de RRHH",
version: "2.2.2",
icon: "www/img/mapuche.png",

},
]
}

Integración con Aplicaciones SIU

Se está trabajando con Diaguita, Pilaga y Mapuche para ser compatibles
en próximos releases:
● Auto-configuración de SSO
● Auto-configuración de clientes de API’s
● Utilización del app-launcher
● Integración provisioning ARAI-Usuarios

Arquitectura SIU

Agenda

1. De MiUNQ a SIU-Huarpe.
2. ARAI-Usuarios: Identity Management.
3. ARAI-Registry: manejo de dependencias de servicios.
4. Caso de uso: ARAI-Huarpe-Diaguita-Mapuche-Pilagá vía

Docker.

¿Qué hace?

Permite empaquetar una aplicación o servicio, con sus
dependencias, en una unidad llamada container.

Estos containers se pueden vincular creando entornos completos.

...

Ventajas sobre VMs

1. Son fáciles de programar: la instalación
es siempre via script.

2. Se personalizan vía herencia.

3. Son mucho más livianas (en storage y en
runtime).

Diferencia con VMs

vs. Docker

Máquinas Virtuales

docker-compose.yml

Es la receta sobre la que se arma un cluster de aplicaciones y
servicios. Se indica:
● Sobre qué imagen estática están basados (ej. ubuntu, ubuntu-

php, postgres, memcached, nuxeo, toba, etc).
● Las dependencias que tienen a nivel TCP/IP.
● Qué puertos publica hacia la máquina real (host).
● Variables de entorno (ej TOBA_DIR).

postgres: mapuche:
image: postgres:9.4 image: siutoba/docker-toba:v1.0
ports:
memcached: - "4004:80"
image: memcached:latest links:
- postgres
arai-registry: - arai-registry
image: siutoba/docker-web:v1.2 - arai-usuarios
links:
- postgres huarpe:
image: siutoba/docker-portal:v1.0
arai-usuarios: ports:
image: siutoba/docker-web:v1.2 - "4003:80"
ports: links:
- "4001:80" - postgres
links: - memcached
- postgres - mapuche
- arai-registry - arai-usuarios
- arai-registry

Ejemplo en acción

Se muestra en vivo como se levanta el
caso de uso Huarpe, Araí

con Mapuche, Pilaga y Diaguita

Más info….

● Disponible una versión alpha de todos esto en http://goo.
gl/47RSBg, como early-preview (sin soporte, no se garantiza

compatibilidad en futuras versiones)
● Apuntamos beta en Q1 2016

Demo Online

arai-desarrollo.siu.edu.ar

usuario: demo
password: demo

Contacto: Foro “Interoperabilidad Técnica”


Click to View FlipBook Version