Upload
gabriel-acuna-inostroza
View
223
Download
0
Embed Size (px)
Citation preview
8/16/2019 SOA-FW External Guide ES
1/27
eUSB External Guide
Gerencia de Arquitectura & Integración TDE
8/16/2019 SOA-FW External Guide ES
2/27
Agenda eUSB Framework
Criterios de Diseño
eUSB Cabecera y Resultado del Mensaje
Identificadores Importantes
Servicios basados en un modelo canónico
Reglas globales de los Servicios
Servicios Sincrónicos
Servicios Asincrónicos
Orquestaciones de servicios
Códigos de retorno canónicos y nativos
Lista de valores canónicos
Reglas semanticas XML
Responsabilidad del Stack y legados
8/16/2019 SOA-FW External Guide ES
3/27
El eUSB (Entel Unified Service Bus) framework es un conjunto decomponentes, reglas y plantillas que cuando se usa en conjunto,permite la estandarización de los desarrollos y de toda lainformación que pasa a través del ESB.
eUSB _Framework
8/16/2019 SOA-FW External Guide ES
4/27
eUSB_Criterios de diseño
El eUSB framework se basa en los principios de orientación aservicios, características de eUSB , y servicio orientado aobjetivos estratégicos de computo:
Beneficios para los Sistemas
Contrato de ServiciosEstandarizados
Bajo acoplamiento de Servicios
Abstracción de Servicios
Reutilización de Servicios
Autonomía de Servicios
Composición de Servicios
Dirigido por el Negocios
Composition - Centric
Beneficios para Entel
Mejora en la Alineación de Negocios yTecnología
El aumento de rendimiento de la inversión
Reducción de la carga de TI
El aumento de la agilidad organizacional
8/16/2019 SOA-FW External Guide ES
5/27
eUSB_Cabecera del MensajeTodos los servicios tendrán una Cabecera (Header) , Resultado
(Result) y un Cuerpo (Body)
Header (necesario)
Result (opcional)
BODY......Body (necesario)
8/16/2019 SOA-FW External Guide ES
6/27
eUSB_Cabecera del MensajeConsumer elemento - Requerido. Información sobre el consumidor del servicio
sysCode atributo string Requerido. Código único que representa al sistema (en definición)
enterpriseCode atributo string Requerido. Código único que representa a la compañía (en definición)
countryCode atributo string Requerido. Identifica el país desde donde se origina la petición (en
definición)
Trace elemento Requerido. Metadata relacionada con la transacción
Service elemento - Uso Interno. Servicio que tiene el control de la ejecución
code atributo int Uso interno. Código único que identifica el servicio al que le llega lapetición
name atributo string Uso interno. Nombre del servicio que ejecuta el consumidor
operatio
n
atributo string Uso interno. Nombre de la operación que ejecuta el consumidor
clientReqTimestamp atributo dateTime Requerido. Este Timestamp lo llena el consumer del servicio. Debecontener el datetime en el que se envía la petición, incluyendo el Time
Zone. Este campo no se modifica durante el pedido
reqTimestamp atributo dateTime Uso Interno. Este Timestamp lo llena el servicio al momento de recibir elmensaje. Debe contener el datetime incluyendo el Time Zone
rspTimestamp atributo dateTime Uso Interno. Este Timestamp lo llena el servicio al momento de enviar larespuesta al consumidor. Debe contener el datetime incluyendo el Time
Zone
processID atributo string Opcional. Código que identifica el proceso de negocio. Es responsabilidaddel consumidor enviar este valor
eventID atributo string Requerido. Código único de identificación de la ejecución, que identifica elevento consumidor. Es responsabilidad del consumidor enviar este valor
conversationID atributo string Uso interno. No debe ser enviado por el consumidor del servicio. Códigoúnico de identificación de la ejecución, que identifica la conversación
correlationID atributo string Uso interno. No debe ser enviado por el consumidor del servicio. Códigoúnico para relacionar instancias de ejecución distintas.
SourceID atributo string Opcional, para ser usado por el consumidor. (Pendiente de revision yanálisis de impacto)
correlationEventID atributo string Opcional en el xsd, pero mandatorio en una respuesta asíncrona.(Pendiente de revision y análisis de impacto)
Channel (en definición) elemento - Opcional. Contiene información sobre el canal que se usa.
name atributo string Opcional. Código único del canal que se ut iliza. Ejemplo: Web, Caja,Express, Mobile, etc
mode atributo string Opcional. Código único que identifica el modo en que se usa el canal.Ejemplo: Presencial, no presencial.
8/16/2019 SOA-FW External Guide ES
7/27
eUSB_Resultado del MensajeStatus elemento string Requerido. Estado de la ejecución del
servicio. Valores posibles: OK,WARNING o ERROR
Description elemento string Opcional. Información no técnica
relacionada al resultado
CanonicalError elemento string Opcional. Error canónico asociado al
resultado de existir alguno
Code elemento string Código del error canónico asociado al
resultado de existir alguno
Description elemento string Descripción del error canónico asociado
al resultado de existir alguno
Type enumeration string Lista de valores que identifica el tipo deerror canónico.
Ejemplo:
NEG – Error de Negocio
TEC – Error Técnico
SEG – Error de Seguridad
SourceErrors list - Opcional. Error nativo asociado al
resultado de existir alguno
SourceError elemento -
Code elemento string Código del error nativo asociado al
resultado de existir alguno
Desciption elemento string Descripción del error nativo asociado al
resultado de existir alguno
ErrorSourceDetails elemento - Descripción del sistema nativo
source elemento string ID de sistema nativo
details elemento string Descripción de sistema nativo.
8/16/2019 SOA-FW External Guide ES
8/27
eUSB_IdentificadoresImportantes del Header
ProcessID: Código que identifica el proceso de negocio. Esresponsabilidad del consumidor enviar este valor.
EventID: Código único de identificación de la ejecución, queidentifica el evento consumidor. Es responsabilidad del consumidorenviar este valor.
correlationEventID: Código de correlación para respuestasasincrónicas. Es responsabilidad del consumidor enviar este valorcon base en el EventID original.
ConversationID & CorrelationID: Uso interno. No debe ser enviadopor el consumidor del servicio. Códigos únicos de identificación dela ejecución, que permiten dar seguimiento a la traza de unmensaje.
8/16/2019 SOA-FW External Guide ES
9/27
ProcessID: Código que identifica el proceso de negocio. Esresponsabilidad del consumidor enviar este valor (en proceso dedefinición).
EventID: Código único de identificación de la ejecución, queidentifica el evento consumidor. Es responsabilidad del consumidor
enviar este valor.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Ex: 0 0 3 5 0 0 0 0 0 0 1 3 4 4 2 0 1 5 1 1 3 0 2 2 3 0 2 2 4 5 6
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
Ex: 0 0 0 0 0 0 0 0 0 0 3 4 1 - 3 4 0 0 0
Origen System (4) Operation Code (10) TimeStamp: yyyyMMddHHmmssSSS (17)
000 (3)Origen Event ID (16)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Ex: 0 0 4 4 O 2 C 5 5 1 3 6 7 0
ProcessCode Process Area
eUSB_IdentificadoresImportantes del Header
8/16/2019 SOA-FW External Guide ES
10/27
EventID:
Origen System: Código de sistema de Origen, definido por el equipo de integración.
Operation Code: Código de operación definido por el equipo de Integración.
TimeStamp: Timestamp proporcionado por el consumidor.
Origen Event ID: ID único proporcionado por el consumidor.
Los ultimos tres campos son reservados.
ProcessID:
Process Code: Código de proceso de negocio, definido por el equipo de negocios.
Process Area: Código de area de proceso, que permite identificar una instancia del proceso.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Ex: 0 0 3 5 0 0 0 0 0 0 1 3 4 4 2 0 1 5 1 1 3 0 2 2 3 0 2 2 4 5 6
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
Ex: 0 0 0 0 0 0 0 0 0 0 3 4 1 - 3 4 0 0 0
Origen System (4) Operation Code (10) TimeStamp: yyyyMMddHHmmssSSS (17)
000 (3)Origen Event ID (16)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Ex: 0 0 4 4 O 2 C 5 5 1 3 6 7 0
ProcessCode Process Area
eUSB_IdentificadoresImportantes del Header
8/16/2019 SOA-FW External Guide ES
11/27
eUSB_Servicios basados enun modelo canónico
Todos los servicios en la plataforma eUSB son expuestos usando elmodelo SID canónico. Si un servicio no puede usar modelo canónico,entonces debe ser creado como un “inventory endpoint”
Enterprise Service Inventory
CSL
ESAS
MPLESCDiscrete
Component
Support
ComponentResource Adapter Legacy Wrapper
Discrete
Component
Support
ComponentInventory
Endpoint
Legacy Provider
External Client
Local Client
External Client
Local Client
Canonical Data Model
Canonical Protocol
Legacy Data Model
Canonical Protocol
Client Data Model
Client Protocol
Legacy Data Model
Legacy Protocol
8/16/2019 SOA-FW External Guide ES
12/27
8/16/2019 SOA-FW External Guide ES
13/27
eUSB_Servicios Síncronos
Un servicio síncrono es un servicio que guarda la sesión del lado delconsumidor hasta que una respuesta sea enviada o se alcance eltimeout.
Enterprise Service Inventory
CSL
ESAS
MPLESCDiscrete
Component
Resource Adapter Legacy WrapperLegacy Provider
(sync)
Service Consumer
(sync)
Canonical Data Model
Canonical Protocol
Legacy Data Model
Canonical Protocol
Client Data Model
Client Protocol
Legacy Data Model
Legacy Protocol
Request
Response
Request
Response
Thread
blockedThread
blocked
8/16/2019 SOA-FW External Guide ES
14/27
eUSB_Servicios Asíncronos
Enterprise Service Inventory
CSL
ESAS
MPLESCDiscrete
Component
Resource Adapter Legacy Wrapper
Legacy Provider
(sync)
Service Consumer
(async)
Canonical Data Model
Canonical Protocol
Legacy Data Model
Canonical Protocol
Client Data Model
Client Protocol
Legacy Data Model
Legacy Protocol
Request
CallBack
Request
Response
Thread
blocked
Coninue with
flow – non
blocking
Process
Callback
Un servicio Asíncrono–Síncrono es un servicio donde el proveedor esSíncrono y el consumidor es Asíncrono.
8/16/2019 SOA-FW External Guide ES
15/27
eUSB_Servicios Asíncronos
Un servicio Asíncrono- Asíncrono es un servicio donde el consumidor es Asíncrono, y el proveedor es también Asíncrono.
Enterprise Service Inventory
CSL
ESAS
MPLESCDiscrete
Component
Resource Adapter
Legacy Wrapper
Legacy Provider
(sync)
Service Consumer
(async)
Canonical Data Model
Canonical Protocol
Legacy Data Model
Canonical Protocol
Client Data Model
Client Protocol
Legacy Data Model
Legacy Protocol
Request
CallBack
Request
CallBack
non blocking
Process
Callback
nonblocking
Process
Callback
8/16/2019 SOA-FW External Guide ES
16/27
eUSB_Orquestacionesde servicios
Los servicios puede tener composiciones, orquestaciones haciaadaptadores o servicios
Enterprise Service Inventory
CSL
ESAS
MPLESC
Resource Adapter
Legacy Wrapper
Legacy Provider
(sync)
Service Consumer(sync)
Canonical Data Model
Canonical Protocol
Legacy Data Model
Canonical Protocol
Client Data Model
Client Protocol
Legacy Data Model
Legacy Protocol
Request
Response
Request
Response
Thread
blocked
Threadblocked
OH
Resource Adapter
Resource Adapter
Legacy Wrapper Request
Response
Thread
blocked
Resource Adapter
Legacy Wrapper Request
Response
Thread
blocked
8/16/2019 SOA-FW External Guide ES
17/27
Enterprise Service Inventory
ESAS
MPLESC
Service Consumer
(async)
Canonical Data Model
Canonical Protocol
Legacy Data Model
Canonical Protocol
Client Data Model
Client Protocol
Legacy Data Model
Legacy Protocol
Request
CallBack
non blocking
Process
Callback
CSL
Resource Adapter
Legacy Wrapper
Legacy Provider
(sync)
Request
nonblocking
OH
BPEL
Resource Adapter
Resource Adapter
Legacy Wrapper
nonblocking
Resource Adapter
Legacy Wrapper Request
nonblocking
Process Callack
Process Callack
Process Callack CallBack
CallBack
CallBack
Request
eUSB_Orquestacionesde servicios
Los servicios puede tener composiciones, orquestaciones haciaadaptadores o servicios
8/16/2019 SOA-FW External Guide ES
18/27
Enterprise Service Inventory
ESAS
MPLESC
Service Consumer
(async)
Canonical Data Model
Canonical Protocol
Legacy Data Model
Canonical Protocol
Client Data Model
Client Protocol
Request
CallBack
non blocking
Process
Callback
CSL
Legacy Provider
(sync)OH
Proxy Pipeline
BPEL
CSLMPLESC DiscreteComponent
Resource
Adapter
Legacy
WrapperLegacy
Provider
(sync)
Request
Response
Thread
blocked
CSLMPLESC DiscreteComponen
t
Resource
Adapter
Legacy
WrapperLegacy
Provider
(sync)
Request
Response
Thread
blocked
CSLMPLESC DiscreteComponen
t
Resource
Adapter
Legacy
WrapperLegacy
Provider
(sync)
Request
Response
Thread
blocked
Request
Request
Request
Response
Response
Response
eUSB_Orquestacionesde servicios
Los servicios puede tener composiciones, orquestaciones haciaadaptadores o servicios
8/16/2019 SOA-FW External Guide ES
19/27
eUSB_Códigos de retornocanónicos y nativos
Todos los servicios eUSB retornan códigos canónicos,independientemente si el consumidor usa el punto de ingresocanonico o el inventory endpoint.
Todos los códigos de retorno (Stack y Legados) son traducidos a uncódigo de retorno nativo, de retorno al consumidor.
En cada caso el código de retorno nativo tambien se devuelve pero enuna estructura separada en la cabecera del mensaje.
8/16/2019 SOA-FW External Guide ES
20/27
Categoria Nomenclatura Descripción ReintentarNegocio NEG00000 - Transacción Exitosa Respuesta Satisfactoria.
Indica que se obtuvo una respuesta válida y exitosa.
Su nomenclatura se conforma del prefijo “NEG”+ valor numérico “00000”.No
NEG10000 - Error en el
procesamiento de la solicitud.
Indica la existencia de un error relacionada a negocio (Expected Error).
Su nomenclatura se conforma del prefijo “NEG”+ valor numérico “10000”. Si
Datos DAT20000 - Error en el
procesamiento de la solicitud.
Indica la existencia de un error originado por:
formato de datos,
obligatoriedad
validación de la estructura del mensaje no corresponde con el
contrato de servicio, ya sea en la petición enviada al Proveedor de
Datos, como en la respuesta obtenida del mismo.Expected Error.
Su nomenclatura se conforma del prefijo “DAT”+ valor numérico “20000”.
No
Técnicos TEC30000 - Error en el
procesamiento de la solicitud.
Indica la presencia de un error de naturaleza técnica en el proveedor de
datos (Unexpected Errors):
No disponibilidad.
Error en la comunicación, (por ejemplo: timeouts).
Otros errores propios del sistema productor de datos.
Su nomenclatura se conforma del prefijo “TEC”+ valor numérico “30000”.
Si
Seguridad SEG40000 - Error en el
procesamiento de la solicitud.
Indica la ocurrencia de un error relacionado al ámbito de la seguridad
(Unexpected Error),
Validación de credenciales.
Permisos de ejecución.
Su nomenclatura se conforma del prefijo “SEG”+ valor numérico “40000”.
No
Unkown UNK50000 - Error en el
procesamiento de la solicitud.
Indica la ocurrencia de un error que no identificado (mapeado). Su
naturaleza es Unexpected Error.
Su nomenclatura se conforma del prefijo “UNK”+ valor numérico “50000”.No
eUSB_Códigos de retornocanónicos y nativos
8/16/2019 SOA-FW External Guide ES
21/27
Categoria Nomenclatura Descripción ReintentarFramework -
General
FRWK00000 - Transacción
Exitosa.
Respuesta Satisfactoria.
Indica que se obtuvo una respuesta válida y exitosa. No
Framework -
Logger Manager
FLGM10000 - Error en el
procesamiento de la solicitud.
Error originado en el componente Logger Manager.
No
Framework -
Configuration
Manager
FCGM20000 - Error en el
procesamiento de la solicitud.
Error originado en el componente Configuration Manager.
No
Framework -
Security Manager
FSCM30000 - Error en el
procesamiento de la solicitud.
Error originado en el componente Security Manager.
No
Framework -
Error Manager
FERM40000 - Error en el
procesamiento de la solicitud.
Error originado en el componente Error Manager.
No
Framework -
Error Dictionary
FERD50000 - Error en el
procesamiento de la solicitud.
Error originado en el componente Error Dictionary.
No
eUSB_Códigos de retornocanónicos y nativos
8/16/2019 SOA-FW External Guide ES
22/27
8/16/2019 SOA-FW External Guide ES
23/27
Familia SistemaRaw Code Canónico
Cod Desc Cod Desc
Stack Refill 0 Successful NEG00000 Transacción Exitosa
Stack Refill 100 Other Error NEG10000
Error en el
procesamiento de la
solicitud.
Stack Refill 114Voucher type not
acceptedDAT20000
Error en el
procesamiento de la
solicitud.
A B
MPL CSL
RA LW
P I F
eUSB_Ejemplo de retorno canónico
0
Successful
NEG00000
Transacción Exitosa
NEG
0
Successful
B
8/16/2019 SOA-FW External Guide ES
24/27
8/16/2019 SOA-FW External Guide ES
25/27
eUSB_Reglas semánticas XML
Un campo XML enviado vacío por el consumidor, será enviado vacío alproveedor.
Si el consumidor no desea enviar o actualizar un campo del proveedor,no debe enviar ese campo en el body del mensaje
Juan
Juan
Juan Juan
8/16/2019 SOA-FW External Guide ES
26/27
eUSB_Responsabilidades delStack y legados
Todos los sistemas proveedores utilizados por la plataforma eUSB debenproporcionar:
Una lista de códigos de retorno, la documentacion por API o el
template proporcionado.
8/16/2019 SOA-FW External Guide ES
27/27
eUSB_Responsabilidades delStack y legados
Stack/Legacy
• Proporcionar los códigos de retorno para los HLD.
DesignFactory
• Construir los “Data Mapping”.
• Proporcionar los códigos de retorno y CoE team.
CoE
• Definir los códigos canónicos con la información entregada por Stack/Legado.• Crear/Modificar los códigos de retorno canónicos de integración.• Proporcionar los códigos de retorno canónicos para la Design Factory.
DesignFactory
• Proporcionar el “Data Mapping” final con sus códigos de retorno canónicos respectivos.