Cuando un requisito de sistema software tenga el estado Petición de Cambio, seguido de su descripción debe venir descrita la petición de cambio asociadaEn Uso, tendrá descrita la situación actual..
Este servicio solo es consultado por el cliente MIM a través del SSB.
...
Descripción
Consulta los usuarios que pertenecen a países activos para MIM y que han sido creados/modificados en un rango de fecha determinado.
Referencia SIF
Extensión de SIF 3.0.1
Tipo de Petición
GET
Parámetros
Campos
Descripción
Reglas de negocio
country
(Obligatorio) Identificador del país a consultar. Los valores de este campo se consultan con servicio /sif/catalogs/country;contextId {"keys":"false","FIMEnabled":"true"} (countryCode)
Los países para MIM se activan haciendo una petición a Consucorp, que activa el país en el fichero /basecentral/apache/web/sif/protected/components/SIFUtils.php y solicita a Soporte Infraestructura que se ejecute una query de actualización masiva del campo persona.fecha_actualizacion_mim
UPDATE persona SET fecha_actualizacion_mim = NOW(), persona_rol_id = 1 WHERE pais_id IN (<código del país>)
page
(Obligatorio) La página de resultados a consultar, valor inicial 0
Se devuelven como máximo 200 resultados por página.
timeModified
(Obligatorio) Fecha UTC desde la cuál se solicitan las creaciones/actualizaciones de usuarios
Se consultan los usuarios creados y modificados desde esta fecha, teniendo en cuenta los campos:Para asegurar que estos tres campos se actualizan con cualquier cambio realizado sobre los registros relacionados con persona, persona_login, persona_rol, tienen por defecto el valor: CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
persona.fecha_actualizacion
persona_login.fecha_actualizacion
persona_rol.fecha_actualizacion
persona.fecha_actualizacion_mim
persona_login.fecha_actualizacion_mim
persona_rol.fecha_actualizacion_mim
Para obtener las modificaciones que realmente aportan valor a MIM, se actualizan los campos anteriores mediante los triggers:
trg_mim_persona_bi_fecha_actualizacion
trg_mim_persona_login_bi_fecha_actualizacion
trg_mim_persona_rol_bi_fecha_actualizacion
trg_mim_persona_bu_fecha_actualizacion
trg_mim_persona_login_bu_fecha_actualizacion
trg_mim_persona_rol_bu_fecha_actualizacion
Los triggers anteriores actualizan *.fecha_actualizacion_mim con el valor NOW() y evalúan las operaciones INSERT y UPDATE, comparando :NEW :OLD sobre los campos:
persona.persona
persona.email
persona.apellido_paterno
persona.apellido_materno
persona_login.login
persona_login.contrasenia
persona_login.activo
persona_rol.rol_id
persona_rol.activo
endTimeModified
(Obligatorio) Fecha UTC hasta la cuál se solicitan las creaciones/actualizaciones de usuarios
Se consultan los usuarios creados y modificados hasta esta fecha, teniendo en cuenta los campos:Para asegurar que estos tres campos se actualizan con cualquier cambio realizado sobre los registros relacionados con persona, persona_login, persona_rol, tienen por defecto el valor: CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
persona.fecha_actualizacion
persona_login.fecha_actualizacion
persona_rol.fecha_actualizacion
las mismas reglas de negocio de timeModified.
business
(Opcional) Clave de la empresa a consultar. Los valores de este campo se obtienen del fichero de maestros empresa.csv
No existe un servicio que devuelva las claves de empresa, por ahora se conocen y se puede consultar por ellos, aunque a día de hoy no se utiliza este parámetro por MIM.
MIM (Microsoft Identitiy Manager) para gestión de ciclo de vida de identidad entre BDC y Santillana Connect.
El servicio se consulta cada 15 minutos, tantas veces como resultados devuelva / 200.En MIM no se utiliza el parámetro opcional business.
...
Histórico de
...
cambios
Panel
border
true
title
Petición de cambio
Motivo del cambio: Optimizar
Optimización de la sincronización entre MIM y BDC. Ver más detalles en
Jira Legacy
server
jira
serverId
c4591e77-9027-38bb-9f88-3c0c61c1557a
key
FIM-117
.
Se solicita un cambio sobre la lógica de negocio aplicada a los campos timeModified y endTimeModified, se describe a continuación:
Campos
Descripción
Reglas de negocio
timeModified
(Obligatorio)
Fecha
UTC desde la cuál se solicitan las creaciones/actualizaciones de usuarios
Se consultan los usuarios creados y modificados desde esta fecha, teniendo en cuenta los campos:
persona.fecha_actualizacion
persona_login.fecha_actualizacion
persona_rol.fecha_actualizacion
persona.fecha_actualizacion_mim
persona_login.fecha_actualizacion_mim
persona_rol.fecha_actualizacion_mim
Para asegurar que estos tres campos se actualizan con cualquier cambio realizado sobre los registros relacionados con persona, persona_login, persona_rol, tienen por defecto el valor: CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Para obtener las modificaciones que realmente aportan valor a MIM, se propone actualizar estas fechas creando 2 triggers, uno en la operaciones INSERT y otro en el UPDATE, que evalúe el :NEW :OLD únicamente en los campos sensibles a MIM y en caso de que haya divergencia actualice la fecha con el NOW().
Los trigger se crearían en las tablas:
persona
persona_login
persona_rol
Los campos afectados por los trigger serían:
persona.persona
persona.email
persona.apellido_paterno
persona.apellido_materno
persona_login.login
persona_login.contrasenia
persona_login.activo
persona_rol.empresa_id.parametro
persona_rol.rol_id.rol
persona_rol.rol_id.parametro
endTimeModified
(Obligatorio) Fecha UTC hasta la cuál se solicitan las creaciones/actualizaciones de usuarios
Se consultan los usuarios creados y modificados hasta esta fecha, teniendo en cuenta los campos:
persona.fecha_actualizacion
persona_login.fecha_actualizacion
persona_rol.fecha_actualizacion
persona.fecha_actualizacion_mim
persona_login.fecha_actualizacion_mim
persona_rol.fecha_actualizacion_mim
Para asegurar que estos tres campos se actualizan con cualquier cambio realizado sobre los registros relacionados con persona, persona_login, persona_rol, tienen por defecto el valor: CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Para obtener las modificaciones que realmente aportan valor a MIM, se propone actualizar estas fechas creando 2 triggers, uno en la operaciones INSERT y otro en el UPDATE, que evalúe el :NEW :OLD únicamente en los campos sensibles a MIM y en caso de que haya divergencia actualice la fecha con el NOW().
Los trigger se crearían en las tablas:
persona
persona_login
persona_rol
Los campos afectados por los trigger serían:
persona.persona
persona.email
persona.apellido_paterno
persona.apellido_materno
persona_login.login
persona_login.contrasenia
persona_login.activo
persona_rol.empresa_id.parametro
persona_rol.rol_id.rol
persona_rol.rol_id.parametro
Las acciones a realizar serían:
Crear nuevos campos en la BDC
persona.fecha_actualizacion_mim
persona_login.fecha_actualizacion_mim
persona_rol.fecha_actualizacion_mim
Agregar los trigger descritos en las tablas:
persona
persona_login
persona_rol
Hacer los cambios en BDC DEV y en el servicio /sif/unoUserExt/users para que consulte por los campos fecha_actualizacion_mim.
Con los resultados de las pruebas que se realicen sobre DEV, llevar propuesta al comité de cambios para su discusión entre todos los participantes.