Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de diseño de aplicaciones
Arquitectura de Aplicaciones
Principios fundamentales de diseño de aplicaciones
Histórico de revisiones
Revisiones
Fecha de la revisión: Fecha de la próxima revisión:
Distribución
Este documente se ha distribuido a:
Nombre Título
0. Introducción.........................................................................................................................4
0.1 Visión General..............................................................................................................................................4
0.2 Ámbito de aplicación de los principios.........................................................................................................5
1. Unicidad de datos................................................................................................................ 6
1.1 Centralización y disposición de los datos.....................................................................................................6
1.2 Unificación de formatos internos.................................................................................................................7
2. Orientación Cliente.............................................................................................................. 8
2.1 Coherencia de procedimientos y contenidos...............................................................................................8
3. Modularidad........................................................................................................................ 9
3.1 Modularización.............................................................................................................................................9
3.2 Ámbito funcional de un Servicio de Aplicación...........................................................................................11
3.3 Granularidad adecuada de los servicios.....................................................................................................11
3.4 Externalización de Reglas de Negocio........................................................................................................12
3.5 Contingencia de Infraestructuras y Aplicaciones........................................................................................13
4. Contexto............................................................................................................................ 14
4.1 Independencia de Entidad..........................................................................................................................15
4.2 Independencia de Negocio/Marca.............................................................................................................16
4.3 Independencia de Canal.............................................................................................................................16
4.4 Independencia de Centro...........................................................................................................................17
4.5 Independencia de Idioma...........................................................................................................................18
4.6 Independencia de Usuario..........................................................................................................................19
5. Trazabilidad........................................................................................................................20
Normalizar los datos del Diario Electrónico Centralizado.......................................................................................20
6. Sostenibilidad técnica........................................................................................................ 21
6.1 Uso de ABSIS (Arquitectura y Metodología)...............................................................................................21
6.2 Servicios aislados de otros backends..........................................................................................................22
6.3 Principio de optimización 80/20.................................................................................................................22
0. Introducción
Unicidad
de datos
Modularid Orienta
ad Contexto Trazabilida
ción d
cliente
Sostenibili
dad
técnica
Los principios aplican al diseño de aplicaciones desde el punto de vista de los servicios funcionales que éstas deben
proporcionar.
Consideramos como servicio aquella función reutilizable proporcionada por un backend y que será consumida por
una aplicación de canal, posiblemente formando parte de una integración con otros servicios. Entran en esta
definición, los Servicios de Integración, los Servicios de Negocio, Subservicios de Negocio y los Servicios de
Aplicación.
1. Unicidad de datos
Definición:
Los datos administrados centralizadamente garantizan la coherencia, unicidad de criterio y el óptimo
mantenimiento y evolución de los sistemas.
La información debe ser reflejo en todo momento de la realidad actual;
– la estática en cuanto a contenido y
– la dinámica en contenido y temporalidad.
La información debe ser accesible y estar disponible en el momento que se necesite para ser utilizada por
aquellos recursos autorizados de la Organización que se consideren oportunos con los criterios de
confidencialidad establecidos.
Normas de diseño:
Centralización y disposición de los datos
Unificación de formatos internos
La información debe ser accesible y estar disponible para ser utilizada por aquellos recursos que se
consideren oportunos en la entidad.
• Hay cierta información que debe estar centralizada para garantizar la consistencia de la instalación. Por
este motivo existen y se deben utilizar las Infraestructuras Funcionales, que gestionan (entre otros) datos
fijos como centros, calendarios, cotizaciones de divisa, etc.
• Se recomienda que la información no se encuentre duplicada
1. LA APLICACIÓN NO DEBE ALMACENAR DATOS FIJOS QUE UNA INFRAESTRUCTURA FUNCIONAL PUEDA OFRECER
2. LA GESTIÓN Y DEFINICIÓN DE CALENDARIOS Y FECHAS NO DEBE ESTAR CODIFICADA INTERNAMENTE EN LAS APLICACIONES.
EJEMPLO
S
Internamente los módulos de los Servicios de Aplicación deberán utilizar un único formato de
representación para cada tipo de dato (fechas, contratos, identificadores de persona, etc.
• Actualmente no existe una unificación de formatos internos para los tipos de datos por lo que se
dificultan los mappings de datos entre servicios y proliferan las funciones/macros de conversión.
• Es necesario estandarizar los formatos para todos los tipos de datos (fechas, contratos, nifs, etc.) con los
que trabajan los módulos de las aplicaciones.
• En la capa de presentación ya se presentarán estos datos según los estándares de guía de estilo definidos
por “la Caixa”.
4. ANTES DE CREAR UN DATO NUEVO, COMPROBAR SI YA EXISTE UN CAMPO REUTILIZABLE EN EL CATÁLOGO DE DATOS
2. Orientación Cliente
Definición:
Los sistemas deben estar diseñados para facilitar la visión global y actualizada del cliente, así como
facilitar el conocimiento del cliente (rentabilidad, riesgo, etc).
Dicha información se diseñará para facilitar la gestión interna y la acción comercial
Todo proceso comercial y su operativa asociada debe estar adaptada a la satisfacción de las necesidades
del cliente.
Se debe garantizar la independencia de los productos en la distribución, la comercialización y la administración,
pero de forma articulada
Normas de diseño:
Coherencia de procedimientos y contenidos
Los sistemas deben estar diseñados para facilitar la visión global y actualizada del cliente, así como
ofrecer unos procedimientos similares entre los distintos canales.
• Todo proceso comercial y su operativa tiene que estar adaptada a la satisfacción de las necesidades del
cliente
• Se debe garantizar la independencia de los productos en la distribución, la comercialización y la
administración, pero de forma articulada
3. Modularidad
Definición:
Deben quedar desacoplados:
– Los procesos de negocio propios de cada aplicación
– Los procesos con la lógica de negocio de los procesos con la lógica de infraestructura
– Los procesos internos propios de coherencia técnica
Deben utilizarse las infraestructuras funcionales existentes:
– Evitar duplicidad de funcionalidades
– Extrapolar lógica legislativa o contable fuera de las aplicaciones (unicidad en modificaciones)
Debe modelarse con la granularidad necesaria según la funcionalidad o el/los servicios asociados.
Normas de diseño:
Modularización
Ámbito funcional de un Servicio de Aplicación
Granularidad adecuada de los servicios
Externalización de Reglas de Negocio
Contingencia de Infraestructuras y Aplicaciones
3.1 Modularización
• El acoplamiento funcional se define como la medida de la interacción entre los módulos de una misma
aplicación o de varias aplicaciones.
• La cohesión es la medida del grado de identificación de un módulo con una función concreta.
• Un Servicio tiene que estar bien identificado con funcionalidades propias de su dominio funcional y debe
aislar funciones que no son propias de su negocio, por ejemplo la contabilidad. Estas funciones pasarán a
ser realizadas por Infraestructuras Funcionales:
• Aislar la lógica de negocio de la lógica infraestructural. En los siguientes gráficos se muestra la transición
de una aplicación con lógica funcional y lógica de negocio integrada en el mismo código a una solución en
D
la que se aíslan la lógica infraestructural para que ésta pueda ser encapsulada en la Infraestructura:
ef
• Paso 1: Aislar la lógicainde negocio de la lógica infraestructural
Cobr
C D
ef
ic o in os y
Gnta ic
Cobr
ió Lógica ió
osdey Liqui
ebi
Auto n
li Liqui
d Cont
E n rizac
ione d
Negocioe daci
C st
s a daci
ones Auto
abili
st d d P Fi ones
o ió r
o rizac
dad A
ru e ds
m A Aplicación
n u ione
producto
ct
Comerciales Pr ctc rq
is Al C h d o
s s Informacionales
ur o al u
io fa or or e
a d id e Operativas
n b re ro Di
d u a o
e ét s vi
e ct d Estructurales
s ic p. s
C o
o Cl a
e ieDs Comunicativas
s M
nt ntef
ro
• Paso 2: Exportar infraestructura para poder serCobr ó otras aplicaciones
reutilizada por
ein
s T sic os y d
G ul
al ió Lógica de Liqui
e Cont oC
E le n Negocio daci
C st Auto
abili Co
st r d Fi ones
o ió rizac
dad obr
ru d e s A A
m A Aplicación
n ione o
ct e Pr c producto rq nt
ut Informacionales
Comerciales
is Al C h d s as
ur Pr or al or u
io fa o or e y
bl
a o red id iz e Operativas
n b ro Di eLi
d d a a. o
e ét su vi q
e u ct d Estructurales
s ic p. s ui
C ct Cl
o o a .
e o ies Comunicativas
s
nt s nt
ro e
s s
Guía para el diseño de aplicaciones:
6. AISLAR EN MÓDULOS TODAS AQUELLAS FUNCIONES QUE NO SON PROPIAS DE LA APLICACIÓN Y QUE EN UN FUTURO PASARÁN A
SER RESUELTAS POR SERVICIOS DE INFRAESTRUCTURAS FUNCIONALES.
7. USAR INTERFACES ESTANDARIZADAS ENTRE EL PROGRAMA PRINCIPAL Y LOS MÓDULOS (P.E: INTERFACE DE CONTABILIDAD). LA
DEFINICIÓN DE INTERFACES ESTÁNDARES EN LOS S.I.M. DE “LA CAIXA” FACILITARÁ LA INTEGRACIÓN DE LAS APLICACIONES CON
LAS NUEVAS INFRAESTRUCTURAS CUANDO ESTÉN DISPONIBLES.
8. AISLAR EL CÓDIGO DE ACCESO A BBDD EN MÓDULOS SEPARADOS DEL PROGRAMA PRINCIPAL. ESTO PERMITIRÁ FUTURAS
SOLUCIONES DE CONVIVENCIA BASADAS EN INTERCEPCIÓN Y CONVERSIÓN, CUANDO HAYA CAMBIOS DE MODELOS DE DATOS.
9. DISEÑAR LOS MÓDULOS PARA QUE SE PUEDAN PROBAR FÁCILMENTE DE FORMA UNITARIA. INTERFASES SENCILLAS QUE
ADMITAN JUEGOS DE PRUEBA COMPLETOS.
Un Servicio de Aplicación sólo implementa funciones que están dentro del ámbito funcional de la
Aplicación.
• Un servicio implementa únicamente funcionalidad propia de la aplicación y, por lo tanto, no puede llamar
a módulos de otras aplicaciones. Si es necesario, se debe integrar mediante un Servicio de Aplicación
(ADS).
• Uso de Infraestructuras y mecanismos de Arquitectura. Todo aquello que no sea exclusivo de la lógica de
negocio de la aplicación se debe resolver en Infraestructuras funcionales o en mecanismos de
Arquitectura y si no existen, se deberá impulsar su creación a través del arquitecto de aplicaciones.
11. UN SERVICIO DE APLICACIÓN DEBE PROPORCIONAR FUNCIONALIDADES SENCILLAS. ES MEJOR CREAR VARIOS SERVICIOS DE
APLICACIONES DIFERENTES QUE UN ÚNICO SERVICIO QUE AGLUTINE MUCHA FUNCIONALIDAD.
• Fine grained: Servicios cuya interfase sólo devuelve exclusivamente los datos para un
determinado caso de uso. En este caso, para obtener todos los datos que devolvería un servicio
coarse es necesario integrar y llamar varios servicios fine grained
• Los servicios deben tener la granularidad adecuada para:
• Facilitar la creación de Servicios de Integración y aumentar la reutilización de Servicios de
Negocio.
• Disminuir el consumo de recursos que implica la planificación de transacciones en backends tipo
HOST.
• El segundo objetivo primará sobre el primero si el volumen de peticiones es alto.
13. USAR EL MECANISMO DE SUBSCRIPCIÓN DE DATOS QUE OFRECE LA ARQUITECTURA DE EJECUCIÓN PARA RECIBIR SÓLO
AQUELLOS DATOS DE LA INTERFAZ DEL SERVICIO EN LOS QUE EL PETICIONARIO ESTÁ INTERESADO.
14. UN MÉTODO DE UN SERVICIO DE INTEGRACIÓN NO PUEDE LLAMAR A MÁS DE UN SERVICIO DE NEGOCIO POR CUESTIÓN DE
RENDIMIENTO. EL EMPAQUETAR FUNCIONALIDAD DEBE ESTABLECERSE A NIVEL DE SERVICIO DE NEGOCIO.
Cuando se trate del mismo backend se debe integrar en un único SN, ofreciendo la funcionalidad
completa. En backends distintos no existe la posibilidad de integración a nivel de SN, así pues, se deberá
realizar la integración en la Capa de integración
Las Reglas del Negocio describen políticas, normas, operaciones, definiciones y restricciones que se
aplican sobre los procesos de negocio que realiza “la Caixa”.
• Las necesidades del negocio cambian constantemente debido a numerosos factores: estrategias de
dirección, evolución del negocio, comportamiento de la competencia, cambios en la legislación, etc. A la
información que soporta dichas necesidades y que está formada por un conjunto de lógicas de negocio
complejas la denominamos REGLAS DE NEGOCIO.
• Actualmente las reglas de negocio suelen estar ocultas bajo el código de los Servicios de Aplicación, lo que
dificulta su conocimiento y modificación.
• Las reglas de negocio se pueden usar para expresar condiciones complejas de autorización de una
operación
16. LAS APLICACIONES DEBEN EXTRAER DE LA LÓGICA DE APLICACIÓN TODAS AQUELLAS CONDICIONES (REGLAS) CON O SIN
PARÁMETROS, SUSCEPTIBLES DE PODER SER ACTUALIZADAS DE FORMA EXTERNA, POR EJEMPLO UNA CONDICIÓN SOBRE UN
RANGO DE IMPORTES.
17. LAS REGLAS DE NEGOCIO SE PUEDEN USAR PARA CONDICIONAR EL FLUJO DE UN SERVICIO DE INTEGRACIÓN, PARA
CONDICIONAR EL FLUJO EN UN SERVICIO DE NEGOCIO ADS, Y PARA EXTERNALIZAR CONDICIONES DEL CÓDIGO DE UN SERVICIO
DE APLICACIÓN.
18. SE DEBERÁ UTILIZAR LA INFRAESTRUCTURA DE REGLAS DE NEGOCIO (EN LA ACTUALIDAD, RDN), QUE ES LA HERRAMIENTA POR
LA CUAL SE DEBEN IMPLEMENTAR LAS REGLAS DE NEGOCIO
• Cuando hay problemas técnicos o de lógica que impiden la utilización correcta de una infraestructura, la
operativa de las aplicaciones se para.
• Ejemplo: SGC no devuelve comisiones debido a un problema técnico en el bind de una tabla. Este hecho
para la operativa de las oficinas ya que la mayoría de transacciones acceden a comisiones.
• Si en SGC abenda un acceso a tablas al intentar leer comisiones, se activa el interruptor de inicialización
en producción y devuelve siempre comisión 0 sin abortar el proceso de las aplicaciones
• El condicionante es que la acción de compensación posterior tenga un impacto menor que el de no
permitir la operativa que utiliza la infraestructura.
4. Contexto
Definición:
Se deberá considerar la construcción de módulos que puedan trasladarse a otra instalación, recogiendo el
contexto donde se ejecutan de las infraestructuras funcionales, para garantizar:
Multipaís: Capacidad de ofrecer servicios y procesos en varios países
Multientidad: Capacidad de dar servicio a múltiples organizaciones (propias y externas)
Multidivisa: Posibilidad de ofrecer productos en múltiples divisas de operación
Multidioma: Flexibilidad de presentar operaciones en múltiples idiomas desde los puntos de vista cliente
Multicanal: Flexibilidad para brindar distintos grados de acceso por canal
Normas de diseño:
Independencia de Entidad
Independencia de Negocio / Marca
Independencia de Canal
Independencia de Centro
Independencia de Idioma
Independencia de Usuario
Estos principios se deben cumplir siempre. Sin embargo, pueden existir requerimientos justificados de Negocio que
impliquen desarrollar servicios dependientes de Entidad, Negocio/Marca, Centro o Canal.
Un servicio debe contener lógica de negocio válida para cualquier Entidad del grupo de “la Caixa” y
por tanto no debe contener lógica condicionada por entidades concretas.
• Los servicios de las aplicaciones darán servicio a las diferentes entidades del grupo. En este contexto, las
aplicaciones deberán ser indiferentes a la entidad con la que están trabajando.
• Las aplicaciones (locales y corporativas) deben estar preparadas para dar servicio a múltiples entidades
desde una única instancia de la aplicación.
• Un servicio contendrá la misma lógica para todas las entidades
• Sólo excepcionalmente puede ser necesario condicionar la lógica de los servicios en función de la entidad.
Como beneficio, no hay que rehacer el diseño ni regenerar el código del Servicio de Negocio ADS si se
incorpora un nuevo tratamiento diferenciado por Entidad.
21. SI ES NECESARIO SE CREARÁ UN SERVICIO DE APLICACIÓN DISTRIBUIDOR QUE DERIVE LA LÓGICA A UN MÓDULO ESPECÍFICO POR
ENTIDAD-PAÍS. PARA ELLO DEBERÁN USAR LA ENTIDAD OPERANTE, DISPONIBLE EN EL CONTEXTO DE EJECUCIÓN.
22. MODULARIZAR Y AISLAR LAS FUNCIONALIDADES PROPIAS O EXCLUSIVAS DE UNA ENTIDAD CONCRETA
23. LOS SERVICIOS QUE REQUIERAN FILTRAR INFORMACIÓN EN FUNCIÓN DE LA RELACIÓN ENTRE LA ENTIDAD OPERANTE Y LAS
ENTIDADES DE LOS CONTRATOS QUE GESTIONEN: EMISORA, COMERCIALIZADORA Y GESTORAS DE PRODUCTO Y CONTRATO,
DEBERÁN USAR SIEMPRE LOS SERVICIOS DE FILTRADO DE REPOSITORIO DE CLIENTES Y CONTRATOS (ALFABÉTICO), Y NO APLICAR
FILTRADOS EN SU EN SU PROPIO LÓGICA
24. LA APLICACIÓN DEBE TENER IDENTIFICADOS EN LA FASE DE DISEÑO FUNCIONAL LA OPERATIVA COMÚN Y DISTINTA POR
ENTIDAD - PAÍS Y CENTRO.
La lógica de negocio de un servicio debe ser la misma para cualquier Negocio y/o Marca
• En tiempo de ejecución, las aplicaciones funcionan indiferentes a la marca o segmento de negocio con el
que están trabajando (misma lógica para todas las marcas o segmentos).
• Una excepción son aquellos servicios de aplicaciones de gestión, destinados a análisis y seguimiento de
resultados de negocio por Negocio y/o Marca, que requerirán diferenciar por estos conceptos.
• Otra excepción son las aplicaciones exclusivas de un determinado negocio.
• Actualmente, los criterios únicos que permiten deducir de una manera univoca, el segmento de cada
cliente se encuentran en fase de definición por parte de negocio.
26. MODULARIZAR Y AISLAR LAS FUNCIONALIDADES PROPIAS O EXCLUSIVAS DE UN NEGOCIO Y/O MARCA EN MÓDULOS
ESPECÍFICOS DE APLICACIÓN.
27. EN UN SERVICIO NO SE DEBERÁN APLICAR DIRECTAMENTE CRITERIOS PARA DETERMINAR EL SEGMENTO DE UN CLIENTE. DEBERÁ
USAR SERVICIOS DE LA INFRAESTRUCTURA DE REPOSITORIO DE CLIENTES Y CONTRATOS (ALFABÉTICO) PARA CONSULTAR EL
NEGOCIO ASOCIADO AL CLIENTE Y/O CONTRATO.
La lógica de negocio de un servicio debe ser la misma para cualquier Canal y por tanto no debe
preguntar por el canal que ha originado la petición.
• Un servicio se debe diseñar de entrada para dar servicio a los múltiples canales de distribución que
dispone “la Caixa” y por tanto no se debe pensar para un canal concreto, como puede ser Oficinas. Se
debe realizar la máxima abstracción de las funcionalidades de canal en el diseño del servicio
29. LOS SERVICIOS DE NEGOCIO NO DEBEN TENER EL FLUJO CONDICIONADO POR CANAL. SI ES INEVITABLE APLICAR LÓGICA
DIFERENCIADA POR CANAL, LA MEJOR PRÁCTICA ES ENCAPSULAR LOS TRATAMIENTOS EN UN SERVICIO DE APLICACIÓN
(DISTRIBUIDOR).
30. MODULARIZAR Y AISLAR LAS FUNCIONALIDADES PROPIAS O EXCLUSIVAS DE UN CANAL EN MÓDULOS ESPECÍFICOS DE
APLICACIÓN.
31. CADA ACCIÓN DEBE REGISTRARSE EN EL BACKEND Y DAR COBERTURA AL GLOBAL DE ACCIONES, ES DECIR, CUBRIR TODAS LAS
ACCIONES REALIZADAS POR CUALQUIER CANAL
La lógica de negocio de un servicio no debe estar condicionada por el Centro del Usuario.
• Aunque existen operativas que están autorizadas para determinados centros, los servicios de las
aplicaciones no deben preguntar directamente por el centro del usuario y condicionar la lógica de negocio
al mismo. Es más, al tener en cuenta el principio de independencia de canal, es posible que el centro no
esté informado, caso del canal Homebanking.
33. LOS SERVICIOS DE APLICACIÓN NO DEBEN TENER EN EL CODIGO SENTENCIAS CONDICIONALES QUE EVALÚEN EL CENTRO DEL
USUARIO.
34. LA AUTORIZACIÓN DE EJECUCIÓN DE UNA OPERATIVA (SERVICIOS) POR UN DETERMINADO CENTRO SE DEBE DELEGAR A LA
INFRAESTRUCTURA DE GESTIÓN DE AUTORIZACIONES, QUE EN ESTE CASO DEBERÁ ACTUAR DE FORMA TRANSPARENTE A LAS
APLICACIONES, A TRAVÉS DE LA ARQUITECTURA DE EJECUCIÓN.
35. EL FILTRADO DE OPCIONES DE MENÚ POR CENTROS SE DEBE RESOLVER EN LA CAPA DE PRESENTACIÓN, YA SEA POR
MECANISMOS DE ARQUITECTURA, YA SEA POR DESARROLLO DE APLICACIONES DE CANAL.
Un servicio en ningún caso deben devolver literales, sino códigos que la capa de presentación se
encargará de traducir a literales usando el idioma del usuario o cliente según el caso, o por defecto,
el de la entidad.
• Los servicios que ofrece un backend serán consumidos por aplicaciones de canal. Estas aplicaciones de
canal están especialmente diseñadas para adaptar la presentación a las particularidades del canal: tanto
desde el punto de las posibilidades tecnológicas de los dispositivos como desde el punto de vista del tipo
de usuario o cliente que recibe la información y su idioma.
• Por tanto, es necesario delegar la presentación de literales a la capa de presentación. Las aplicaciones
deberán codificar todos los literales que manejan: avisos, mensajes, errores, literales de aplicación, etc. y
la infraestructura de multi-idioma se encargará de la traducción, según idioma y canal.
• Pueden existir literales de entrada / salida de un servicio que son considerados como datos de aplicación.
Por ejemplo: el motivo de una transferencia. Estos datos no se consideran en la solución multi-idioma.
• Las aplicaciones deben codificar todos los literales que manejan: mensajes, errores, literales de aplicación.
Ejemplos de literales de aplicación pueden ser, entre otros, los nombres, descripciones y observaciones
de tarifas, de un Catálogo de Productos
Literals aplicativos
Literales de
Texto que tratan las aplicaciones y que pantalla
pueden ser bien de entrada (introducido
por el cliente), como bien de salida Texto estático de salida
(nombres de producto, descripciones, asociado a una pantalla
…)
Literales de error/aviso
Texto de salida que describe una situación excepcional y
que puede tener información variable (en el ejemplo, el
importe “1800” és un parámetro del literal “Ha ingresado
una cantidad igual o superior a XXX...”
Las aplicaciones trabajan sólo con códigos de literales y éstos se traducen vía la herramienta multi-idioma
al idioma correspondiente:
Un servicio no debe condicionar la lógica en función del usuario de la aplicación peticionaria del
servicio
• Aunque existen operativas cuya ejecución dependa de las atribuciones del usuario, los servicios de las
aplicaciones no deben preguntar directamente por el usuario y condicionar la lógica de negocio al mismo.
Es más, al tener en cuenta el principio de independencia de canal, es posible que el usuario no esté
informado en la petición.
38. LOS SERVICIOS DE APLICACIÓN NO DEBEN TENER EN EL CODIGO SENTENCIAS CONDICIONALES QUE EVALÚEN EL CÓDIGO DEL
USUARIO.
39. LA AUTORIZACIÓN DE EJECUCIÓN DE UNA OPERATIVA (SERVICIOS) POR UN DETERMINADO USUARIO SE DEBE DELEGAR A LA
INFRAESTRUCTURA DE GESTIÓN DE AUTORIZACIONES, QUE EN ESTE CASO DEBERÁ ACTUAR DE FORMA TRANSPARENTE A LAS
APLICACIONES, A TRAVÉS DE LA ARQUITECTURA DE EJECUCIÓN.
40. EL FILTRADO DE OPCIONES DE MENÚ POR USUARIOS / PERFILES SE DEBE RESOLVER EN LA CAPA DE PRESENTACIÓN, YA SEA POR
MECANISMOS DE ARQUITECTURA, YA SEA POR DESARROLLO DE APLICACIONES DE CANAL.
41. LOS USUARIOS UTILIZADOS PARA CONECTARSE A UN SISTEMA DEBEN TENER PALABRAS CLAVE ASOCIADAS DE 8 CARACTERES
COMO MÍNIMO (PASSWORDS)
5. Trazabilidad
Definición:
La aplicación deberá almacenar, en un registro dedicado a ello, toda operación llevada a cabo, con su
tipología y su identificador, de forma que se garantice el conocimiento del estado o situación de cualquier
proceso.
* Por operación se entiende cualquier acción que produzca variación en la información del
cliente/usuario:
– Alta/baja/modificación/cancelación de contratos
– Operaciones de Ingresos y Reintegros
– Operaciones de consulta
– Etc.
Normas de diseño:
Normalizar los datos del Diario Electrónico Centralizado
• DEC ofrece ventanas de búsquedas por tipo de operación, rangos de importes, números de contrato,
usuario, terminal, timestamp, etc. Sólo se podrán hacer estas búsquedas si se informan correctamente
todos los campos
• Es necesario que las aplicaciones HOST informen correctamente y con el mismo formato todos aquellos
campos del mensaje circulante destinados a DEC y que únicamente pueden informar las propias
aplicaciones: Importes, Contratos, NIFs, etc.
• En los registros DEC tenemos una serie de indicadores para almacenar información de arqueo,
anulaciones, etc. Estos indicadores deben estar correctamente informados en el mensaje circulante para
su posterior registro en DEC. De este modo se posibilitan diversas operativas (online y batch) desde DEC.
43. SE DEBE GARANTIZAR LA CALIDAD DE LOS DATOS REGISTRADOS EN DEC A EFECTOS DE CONTROL, AUDITORÍA, EFICIENCIA Y
ARQUITECTURA.
6. Sostenibilidad técnica
Definición:
La construcción de una nueva aplicación tiene que realizarse en base a el uso adecuado de los recursos,
considerando (RESET):
– Reutilización: uso de las infraestructuras
– Estandarización: diseño acorde a las Normas y Estándares de la Arquitectura de Aplicaciones
– Simplificación: reducción de la complejidad de los procesos de la aplicación (modularizar)
– Eficiencia: diseño optimizado de los principales procesos de negocio, desde una perspectiva
funcional y técnica
– Transmisión: mantener actualizada la documentación, material formativo para el usuario
(negocio y técnico)
Cumplimiento de la Metodología ABSIS en todo del Ciclo de Vida Productivo.
Normas de diseño:
Uso de la ABSIS (Arquitectura y Metodología)
Servicios aislados de otros backends
Principio de optimización 80/20
• ABSIS aporta:
• Nueva estructura organizativa para la función de Desarrollo que favorezca el alineamiento con
las áreas de negocio aprovechando las oportunidades que ofrece la nueva arquitectura
• Marco de cumplimiento de las normas del nuevo modelo y procedimientos necesarios para su
publicación, control, seguimiento y mejora continua
• Metodología para el ciclo de vida de desarrollo de software del grupo, cubriendo todas las capas
del nuevo sistema y adaptado a los tipos de desarrollo más relevantes
• Conjunto de herramientas que facilitan la construcción de aplicaciones bajo el nuevo modelo
• Infraestructura de software (SSMM, host y seguridad) que permite a las aplicaciones abstraerse
de los elementos técnicos para concentrarse en los aspectos de negocio
Un Servicio de Negocio HOST o un Servicio de Aplicación no pueden conectar vía online con
servicios proporcionados por otros backends.
• Un backend proveedor de servicios no se conecta con otro backend proveedor de servicios a nivel de los
servicios que estos proporcionan. La única vía es integrar servicios desde la capa de integración y control
prevista en la Arquitectura Técnica de Ejecución.
• No se permite encolar transacciones desde un Servicio de Aplicación y por tanto, usar el mecanismo de
Funciones de Negocio actual.
46. AQUELLOS SERVICIOS DE APLICACIÓN QUE ENCOLEN TRANSACCIONES NO SE PODRÁN USAR EN LA INTEGRACIÓN DE SERVICIOS
DE NEGOCIO HOST. SE DEBERÁN DUPLICAR Y REESCRIBIR RESPETANDO ESTE PRINCIPIO.