• No se han encontrado resultados

5. Arquitectura de la web corporativa

5.3. Módulos de la web corporativa

5.3.1. Módulo de Usuarios y servicios

El módulo de usuarios y servicios proporciona a la Web Corporativa y al conjunto de proyectos que se desarrollen sobre ésta una visión unificada de un usuario y sus servicios asociados. La web corporativa estandariza el acceso de todos los portales y proyectos corporativos a los datos

Módulos secundarios Módulos primarios

e información del usuario. Para ello, se contempla la utilización del Perfil unificado de Usuario (UUP). El UUP es una entidad que encapsula el acceso al conjunto de datos que identifican al usuario, los grupos a los que pertenece y los servicios a los que tiene acceso.

El módulo esta compuesto de tres partes: el directorio corporativo, el perfil unificado de usuario, y el Proxy de Administración. Reflejando en un diagrama la arquitectura de este componente con respecto a otros, quedaría de la siguiente forma:

...

UUP WEB CORPORATIVA Proxy Administración

Capa Control de Acceso [opc:Web Service:] Perfil Virtual [opc:Web Service:] Directorio de Servicios funcionales DIRECTORIO CORPORATIVO PORTALES CORPORATIVOS Módulo de Gestión de Usuarios y Servicios

Fig.5.3. Módulo de usuarios y servicios

El directorio corporativo, basado en una arquitectura orientada a servicios, se encarga de proporcionar un punto de gestión centralizado para los repositorios de información, incluyendo el conjunto de datos que identifican al usuario, los grupos a los que pertenece y los servicios y aplicaciones a los que tiene acceso.

Fig.5.4.Arquitectura del Directorio Corporativo

El UUP se encarga por una parte de obtener del Directorio Corporativo el conjunto de grupos a los que pertenece el usuario, y aplicar reglas que permitan asociar el usuario a grupos dinámicos que son generados a partir de los atributos del usuario. Esta solución permite disponer de un Directorio Corporativo robusto, y una necesaria flexibilidad en la asignación del usuario a grupos para los proyectos desarrollados sobre la web corporativa.

La función del Perfil de usuario Unificado es la de integrar información de tal manera que se acceda a datos de usuario siempre de la misma manera. El objetivo es conseguir que la información del usuario almacenada en el Directorio Corporativo esté accesible de forma transparente y optimizada.

La carga del perfil del usuario se realiza a través de una interacción entre el módulo de autenticación y el directorio corporativo, según se refleja en el siguiente diagrama:

Perfil Usuario Perfil Usuario Unificado Unificado ProfileWrapper ProfileWrapper SessionBean SessionBean BEA

BEA CacheCache

Capa Control de Acceso

Capa Control de Acceso

[

[opcopc:Web :Web ServiceService:] Perfil Virtual:] Perfil Virtual

Java Java Authentication Authentication Authoritation Authoritation Service Service Módulo de Módulo de Auntenticación Auntenticación Autenticar(“jordi”, pwd)

Autenticar(“jordi”, pwd, modulo_autenticación) Tienes_permisos (autenticar, modulo_autenticacion) Permiso(ACLs)

1

2 3

4

LDAP_validate(“jordi”, pwd) Si la validación es Correcta, se cargan los datos Core (LDAP + BBDD relacional)

5 6 7 8 Return Object(basic_profile_jordi) 9 Object(basic_profile_jordi) 10InstanciarPerfilUsuario()

11 Devolver al objeto de sesion la referencia al Perfil de Usuario

Perfil Usuario Perfil Usuario Unificado Unificado ProfileWrapper ProfileWrapper SessionBean SessionBean BEA

BEA CacheCache

Capa Control de Acceso

Capa Control de Acceso

[

[opcopc:Web :Web ServiceService:] Perfil Virtual:] Perfil Virtual

Java Java Authentication Authentication Authoritation Authoritation Service Service Módulo de Módulo de Auntenticación Auntenticación Autenticar(“jordi”, pwd)

Autenticar(“jordi”, pwd, modulo_autenticación) Tienes_permisos (autenticar, modulo_autenticacion) Permiso(ACLs)

1

2 3

4

LDAP_validate(“jordi”, pwd) Si la validación es Correcta, se cargan los datos Core (LDAP + BBDD relacional)

5 6 7 8 Return Object(basic_profile_jordi) 9 Object(basic_profile_jordi) 10InstanciarPerfilUsuario()

11 Devolver al objeto de sesion la referencia al Perfil de Usuario

Fig.5.5. Comunicación entre Módulo de Gestión de usuarios y el Directorio Corporativo

Cuando un usuario accede a alguna aplicación o servicio de alguno de los portales construidos sobre la web corporativa y quiere validarse, la petición de validación pasa al módulo de autenticación. Este módulo realiza la validación del usuario en el directorio corporativo, el cual, si la petición de validación es válida, devuelve los datos básicos del usuario. Cuando el módulo de autenticación recibe los datos de usuario, instancia un objeto UUP específico para ese usuario, y asocia en la sesión del usuario la referencia a su UUP de tal forma que ningún usuario pueda acceder a otro perfil de usuario que esté en sesión. El acceso a datos del usuario desde las aplicaciones se hará siempre a través del Perfil de Usuario Unificado.

El perfil de usuario unificado tendrá precargados los datos básicos del usuario de forma permanente, y a medida que vaya accediendo a distintas aplicaciones se almacenarán en la caché del servidor de aplicaciones en el que se ha instanciado el UUP los datos específicos de ese usuario para esa aplicación. Si en algún momento es necesario acceder a algún dato puntual que no se encuentra en el UUP en ese momento (“fallo” de caché de UUP), se realizará una petición de datos a la capa de control de acceso del directorio corporativo y se almacenará en la caché.

El Proxy de Administración es el componente que ofrece al conjunto de portales desarrollados sobre la Web Corporativa un acceso común y centralizado al directorio corporativo, proporcionando las funcionalidades de administración de Usuarios y Grupos de Usuarios, aportando adicionalmente una capa de abstracción que facilita la evolución tanto de los diferentes proyectos desarrollados como del Directorio Corporativo. Este componente, en colaboración con el perfil unificado de usuario, aporta las siguientes funcionalidades relacionadas con la administración de usuarios y grupos y la posterior identificación de los mismos:

Administración de usuarios y grupos de usuarios

Alta / Baja / Modificación de usuarios y grupos de usuarios Alta / Baja / Modificación de perfiles de usuarios

Asignación de perfiles a usuarios y grupos de usuarios Identificación de los usuarios

Verificar los grupos de usuarios a los que pertenece un usuario una vez autenticado Aplicaciones y funcionalidades a las que acceder tanto como usuario singular como perteneciente a un grupo

Privilegios disponibles según cada funcionalidad o aplicativo al que puede acceder