You are on page 1of 27

eUSB External Guide

Gerencia de Arquitectura & Integracin TDE

Agenda

eUSB Framework
Criterios de Diseo
eUSB Cabecera y Resultado del Mensaje
Identificadores Importantes
Servicios basados en un modelo cannico
Reglas globales de los Servicios
Servicios Sincrnicos
Servicios Asincrnicos
Orquestaciones de servicios
Cdigos de retorno cannicos y nativos
Lista de valores cannicos
Reglas semanticas XML
Responsabilidad del Stack y legados

eUSB_Framework
El eUSB (Entel Unified Service Bus) framework es un conjunto de
componentes, reglas y plantillas que cuando se usa en conjunto,
permite la estandarizacin de los desarrollos y de toda la
informacin que pasa a travs del ESB.

eUSB_Criterios de diseo
El eUSB framework se basa en los principios de orientacin a
servicios, caractersticas de eUSB , y servicio orientado a
objetivos estratgicos de computo:
Beneficios para los Sistemas

Beneficios para Entel

Contrato de Servicios
Estandarizados

Mejora en la Alineacin de Negocios y


Tecnologa

Bajo acoplamiento de Servicios

El aumento de rendimiento de la inversin

Abstraccin de Servicios
Reutilizacin de Servicios
Autonoma de Servicios
Composicin de Servicios
Dirigido por el Negocios
Composition - Centric

Reduccin de la carga de TI
El aumento de la agilidad organizacional

eUSB_Cabecera del Mensaje


Todos los servicios tendrn una Cabecera (Header) , Resultado
(Result) y un Cuerpo (Body)

Header (necesario)

Result (opcional)

Body (necesario)

BODY......

eUSB_Cabecera del Mensaje


elemento

Requerido. Informacin sobre el consumidor del servicio

sysCode

atributo

string

Requerido. Cdigo nico que representa al sistema (en definicin)

enterpriseCode

atributo

string

Requerido. Cdigo nico que representa a la compaa (en definicin)

countryCode

atributo

string

Requerido. Identifica el pas desde donde se origina la peticin (en

Consumer

definicin)
elemento

Trace

Requerido. Metadata relacionada con la transaccin

elemento

Uso Interno. Servicio que tiene el control de la ejecucin

code

atributo

int

name

atributo

string

Uso interno. Cdigo nico que identifica el servicio al que le llega la


peticin
Uso interno. Nombre del servicio que ejecuta el consumidor

operatio atributo
n

string

Uso interno. Nombre de la operacin que ejecuta el consumidor

Requerido. Este Timestamp lo llena el consumer del servicio. Debe


contener el datetime en el que se enva la peticin, incluyendo el Time
Zone. Este campo no se modifica durante el pedido
Uso Interno. Este Timestamp lo llena el servicio al momento de recibir el
mensaje. Debe contener el datetime incluyendo el Time Zone

Service

clientReqTimestamp

atributo

dateTime

reqTimestamp

atributo

dateTime

rspTimestamp

atributo

dateTime

processID

atributo

string

eventID

atributo

string

conversationID

atributo

string

Uso interno. No debe ser enviado por el consumidor del servicio. Cdigo
nico de identificacin de la ejecucin, que identifica la conversacin

correlationID

atributo

string

Uso interno. No debe ser enviado por el consumidor del servicio. Cdigo
nico para relacionar instancias de ejecucin distintas.

SourceID

atributo

string

Opcional, para ser usado por el consumidor. (Pendiente de revision y


anlisis de impacto)

correlationEventID

atributo

string

Opcional en el xsd, pero mandatorio en una respuesta asncrona.


(Pendiente de revision y anlisis de impacto)

elemento

Opcional. Contiene informacin sobre el canal que se usa.

name

atributo

string

mode

atributo

string

Opcional. Cdigo nico del canal que se utiliza. Ejemplo: Web, Caja,
Express, Mobile, etc
Opcional. Cdigo nico que identifica el modo en que se usa el canal.
Ejemplo: Presencial, no presencial.

Channel (en definicin)

Uso Interno. Este Timestamp lo llena el servicio al momento de enviar la


respuesta al consumidor. Debe contener el datetime incluyendo el Time
Zone
Opcional. Cdigo que identifica el proceso de negocio. Es responsabilidad
del consumidor enviar este valor
Requerido. Cdigo nico de identificacin de la ejecucin, que identifica el
evento consumidor. Es responsabilidad del consumidor enviar este valor

eUSB_Resultado del Mensaje


Status

elemento

string

Description

elemento

string

CanonicalError

elemento

string

Code

elemento

string

Description

elemento

string

Type

enumeration

string

list

elemento

Code

elemento

string

Desciption

elemento

string

ErrorSourceDetails

elemento

Cdigo del error nativo asociado al


resultado de existir alguno
Descripcin del error nativo asociado al
resultado de existir alguno
Descripcin del sistema nativo

source

elemento

string

ID de sistema nativo

details

elemento

string

Descripcin de sistema nativo.

SourceErrors
SourceError

Requerido. Estado de la ejecucin del


servicio. Valores posibles: OK,
WARNING o ERROR
Opcional. Informacin no tcnica
relacionada al resultado
Opcional. Error cannico asociado al
resultado de existir alguno
Cdigo del error cannico asociado al
resultado de existir alguno
Descripcin del error cannico asociado
al resultado de existir alguno
Lista de valores que identifica el tipo de
error cannico.
Ejemplo:
NEG Error de Negocio
TEC Error Tcnico
SEG Error de Seguridad
Opcional. Error nativo asociado al
resultado de existir alguno

eUSB_Identificadores
Importantes del Header
ProcessID: Cdigo que identifica el proceso de negocio. Es
responsabilidad del consumidor enviar este valor.

EventID: Cdigo nico de identificacin de la ejecucin, que


identifica el evento consumidor. Es responsabilidad del consumidor
enviar este valor.
correlationEventID: Cdigo de correlacin para respuestas
asincrnicas. Es responsabilidad del consumidor enviar este valor
con base en el EventID original.

ConversationID & CorrelationID: Uso interno. No debe ser enviado


por el consumidor del servicio. Cdigos nicos de identificacin de
la ejecucin, que permiten dar seguimiento a la traza de un
mensaje.

eUSB_Identificadores
Importantes del Header
ProcessID: Cdigo que identifica el proceso de negocio. Es
responsabilidad del consumidor enviar este valor (en proceso de
definicin).
1
Ex:

2
3
4
ProcessCode
0
0
4
4

9
10 11
Process Area
5
5
1
3

12

13

14

EventID: Cdigo nico de identificacin de la ejecucin, que


identifica el evento consumidor. Es responsabilidad del consumidor
enviar este valor.
Ex:

1
2
3
4
Origen System (4)
0
0
3
5

8
9
10 11
Operation Code (10)
0
0
0
1

12

13

14

15

16

17

18

32

33

34

35

36

37

Ex:

19

20 21 22 23 24 25 26 27
TimeStamp: yyyyMMddHHmmssSSS (17)
1
1
3
0
2
2
3
0
2

38 39 40 41
Origen Event ID (16)
0
0
0
0

28

29

30

31

48

42

43

44

45

46

47

49 50
000 (3)
0
0
0

eUSB_Identificadores
Importantes del Header
ProcessID:

2
3
4
ProcessCode
0
0
4
4

Ex:

9
10 11
Process Area
5
5
1
3

12

13

14

Process Code: Cdigo de proceso de negocio, definido por el equipo de negocios.


Process Area: Cdigo de area de proceso, que permite identificar una instancia del proceso.

EventID:

Ex:

1
2
3
4
Origen System (4)
0
0
3
5

8
9
10 11
Operation Code (10)
0
0
0
1

12

13

14

15

16

17

18

32

33

34

35

36

37

Ex:

19

20 21 22 23 24 25 26 27
TimeStamp: yyyyMMddHHmmssSSS (17)
1
1
3
0
2
2
3
0
2

38 39 40 41
Origen Event ID (16)
0
0
0
0

Los ultimos tres campos son reservados.

30

31

48

43

44

45

46

47

Operation Code: Cdigo de operacin definido por el equipo de Integracin.


Origen Event ID: ID nico proporcionado por el consumidor.

29

42

Origen System: Cdigo de sistema de Origen, definido por el equipo de integracin.


TimeStamp: Timestamp proporcionado por el consumidor.

28

49 50
000 (3)
0
0
0

eUSB_Servicios basados en
un modelo cannico
Todos los servicios en la plataforma eUSB son expuestos usando el
modelo SID cannico. Si un servicio no puede usar modelo cannico,
entonces debe ser creado como un inventory endpoint

External Client

Local Client
Support
Inventory
Discrete
Component
Endpoint
Component

ESC

CSL

MPL

Support
Discrete
Resource Adapter
Component
Component

External Client

Legacy Wrapper

Legacy Provider

Local Client

ESAS
Enterprise Service Inventory
Client Data Model

Canonical Data Model

Legacy Data Model

Legacy Data Model

Client Protocol

Canonical Protocol

Canonical Protocol

Legacy Protocol

eUSB_Reglas globales
para los Servicios

El Inventory endpoint nicamente debe ser utilizado cuando no hay


posibilidad de que el consumidor utilice los protocolos standard del
eUSB (SOAP/HTTP y REST/JSON).

Todos los servicios eUSB deben enviar una respuesta de vuelta al


consumidor.

Todas las interfaces de Sistemas o API usadas por la plataforma eUSB,


deben retornar una respuesta hacia la plataforma eUSB.

La plataforma eUSB solo expone servicios conformes a los estndares y


polticas definidos, por lo tanto no se soportar transferencia de
archivos o procesamiento batch.

La plataforma eUSB no garantiza el orden de los mensajes.


Todos los servicios eUSB deben usar la cabecera (Header) y las reglas
definidas segun el eUSB Framework.

eUSB_Servicios Sncronos
Un servicio sncrono es un servicio que guarda la sesin del lado del
consumidor hasta que una respuesta sea enviada o se alcance el
timeout.

Service Consumer
(sync)

Request

Request
Resource Adapter

Thread
blocked

ESC MPL

Legacy Wrapper

Discrete
Component

Response

Legacy Provider
(sync)

Thread
blocked

CSL

Response

ESAS
Enterprise Service Inventory
Client Data Model

Canonical Data Model

Legacy Data Model

Legacy Data Model

Client Protocol

Canonical Protocol

Canonical Protocol

Legacy Protocol

eUSB_Servicios Asncronos
Un servicio AsncronoSncrono es un servicio donde el proveedor es
Sncrono y el consumidor es Asncrono.

Service Consumer
(async)

Request

Request
Coninue with
flow non
blocking

Resource Adapter

ESC MPL

Legacy Provider
(sync)

Thread
blocked

CSL
Discrete
Component

CallBack

Process
Callback

Legacy Wrapper

Response

ESAS
Enterprise Service Inventory

Client Data Model

Canonical Data Model

Legacy Data Model

Legacy Data Model

Client Protocol

Canonical Protocol

Canonical Protocol

Legacy Protocol

eUSB_Servicios Asncronos
Un servicio Asncrono-Asncrono es un servicio donde el consumidor es
Asncrono, y el proveedor es tambin Asncrono.

Service Consumer
(async)
Legacy Wrapper

non blocking

Resource Adapter

Request

ESC MPL

Request
Legacy Provider
(sync)

CSL
Discrete
Component

CallBack

Process
Callback

nonblocking

Process
Callback

CallBack

ESAS
Enterprise Service Inventory

Client Data Model

Canonical Data Model

Legacy Data Model

Legacy Data Model

Client Protocol

Canonical Protocol

Canonical Protocol

Legacy Protocol

eUSB_Orquestaciones
de servicios
Los servicios puede tener composiciones, orquestaciones hacia
adaptadores o servicios

Legacy Wrapper

Service Consumer
(sync)

Resource Adapter
Request

Thread
blocked

CSL
Legacy Wrapper

Thread
blocked

ESC MPL

Resource Adapter

OH

Thread
blocked

Request

Response
Request
Response

Legacy Provider
(sync)

Response
Legacy Wrapper

ESAS

Resource Adapter
Resource Adapter

Thread
blocked

Request
Response

Enterprise Service Inventory


Client Data Model

Canonical Data Model

Legacy Data Model

Legacy Data Model

Client Protocol

Canonical Protocol

Canonical Protocol

Legacy Protocol

eUSB_Orquestaciones
de servicios
Los servicios puede tener composiciones, orquestaciones hacia
adaptadores o servicios

Legacy Wrapper

Resource Adapter

Service Consumer
(async)

Process Callack

CSL
non blocking

Request

Legacy Wrapper

ESC

Resource Adapter

MPL

OH
BPEL

CallBack
Process
Callback

ESAS

Resource Adapter
Resource Adapter

Request

nonblocking
CallBack
Request

nonblocking
Process Callack

CallBack

Legacy Wrapper

Request

nonblocking
Process Callack

Legacy Provider
(sync)

CallBack

Enterprise Service Inventory

Client Data Model

Canonical Data Model

Legacy Data Model

Legacy Data Model

Client Protocol

Canonical Protocol

Canonical Protocol

Legacy Protocol

eUSB_Orquestaciones
de servicios
Los servicios puede tener composiciones, orquestaciones hacia
adaptadores o servicios
Request

Request

ESC MPL

Service Consumer
(async)

CSL

Response

Resource
Adapter
Discrete
Componen
t

Legacy
Wrapper
Thread

Legacy
Provider
(sync)

blocked
Response

CSL
non blocking

Request
Request

ESC MPL

OH
Proxy Pipeline
BPEL

Response

CallBack

Process
Callback

ESAS
Enterprise Service Inventory

ESC MPL

CSL

Legacy Provider
Resource (sync) Legacy
Wrapper
Adapter
Thread
Discrete
blocked
Componen
t

Request

Legacy
Provider
(sync)
Response

Request

Request

Response

ESC MPL

CSL

Resource
Adapter
Discrete
Componen
t

Legacy
Wrapper
Thread

Legacy
Provider
(sync)

blocked
Response

Client Data Model

Canonical Data Model

Legacy Data Model

Client Protocol

Canonical Protocol

Canonical Protocol

eUSB_Cdigos de retorno
cannicos y nativos

Todos los servicios eUSB retornan cdigos cannicos,


independientemente si el consumidor usa el punto de ingreso
canonico o el inventory endpoint.

Todos los cdigos de retorno (Stack y Legados) son traducidos a un


cdigo de retorno nativo, de retorno al consumidor.

En cada caso el cdigo de retorno nativo tambien se devuelve pero en


una estructura separada en la cabecera del mensaje.

eUSB_Cdigos de retorno
cannicos y nativos
Categoria Nomenclatura

Descripcin

Negocio

Respuesta Satisfactoria.
Indica que se obtuvo una respuesta vlida y exitosa.
Su nomenclatura se conforma del prefijo NEG+ valor numrico 00000.

Datos

Tcnicos

Seguridad

Unkown

NEG00000 - Transaccin Exitosa

Reintentar
No

NEG10000
Error
en
procesamiento de la solicitud.

el Indica la existencia de un error relacionada a negocio (Expected Error).


Su nomenclatura se conforma del prefijo NEG+ valor numrico 10000.

DAT20000
Error
en
procesamiento de la solicitud.

el Indica la existencia de un error originado por:

formato de datos,

obligatoriedad

validacin de la estructura del mensaje no corresponde con el


contrato de servicio, ya sea en la peticin enviada al Proveedor de
Datos, como en la respuesta obtenida del mismo.
Expected Error.
Su nomenclatura se conforma del prefijo DAT+ valor numrico 20000.

No

el Indica la presencia de un error de naturaleza tcnica en el proveedor de


datos (Unexpected Errors):

No disponibilidad.

Error en la comunicacin, (por ejemplo: timeouts).

Otros errores propios del sistema productor de datos.


Su nomenclatura se conforma del prefijo TEC+ valor numrico 30000.

Si

el Indica la ocurrencia de un error relacionado al mbito de la seguridad


(Unexpected Error),

Validacin de credenciales.

Permisos de ejecucin.
Su nomenclatura se conforma del prefijo SEG+ valor numrico 40000.

No

TEC30000
Error
en
procesamiento de la solicitud.

SEG40000
Error
en
procesamiento de la solicitud.

UNK50000
Error
en
procesamiento de la solicitud.

el Indica la ocurrencia de un error que no identificado (mapeado). Su


naturaleza es Unexpected Error.
Su nomenclatura se conforma del prefijo UNK+ valor numrico 50000.

Si

No

eUSB_Cdigos de retorno
cannicos y nativos
Categoria Nomenclatura
-

Transaccin

Descripcin

Framework General

FRWK00000
Exitosa.

Respuesta Satisfactoria.
Indica que se obtuvo una respuesta vlida y exitosa.

Framework Logger Manager

FLGM10000 - Error en el
procesamiento de la solicitud.

Error originado en el componente Logger Manager.

Framework Configuration
Manager

FCGM20000 - Error en el
procesamiento de la solicitud.

Error originado en el componente Configuration Manager.

Framework Security Manager

FSCM30000 - Error en el
procesamiento de la solicitud.

Error originado en el componente Security Manager.

Framework Error Manager

FERM40000 - Error en el
procesamiento de la solicitud.

Error originado en el componente Error Manager.

Framework Error Dictionary

FERD50000 - Error en el
procesamiento de la solicitud.

Error originado en el componente Error Dictionary.

Reintentar
No

No

No

No

No

No

eUSB_Cdigos de retorno
cannicos y nativos
Categoria Nomenclatura
OSB Service
Primary Iterface
Function

SRVC00000

OSB Service
Primary Iterface
Function

SPIF10000

OSB Service
Secondary
Interface
Function

SSIF20000

OSB Service
Operation
Handler

SOHA30000

OSB Service
Internal Service
Function

SISF40000

OSB Service
Resource
Adapter

SRAD50000

OSB Service
Legacy Wrapper

SLWR60000

OSB Service
Support
Component

SSPC70000

Descripcin
Respuesta Satisfactoria.
Indica que se obtuvo una respuesta vlida y exitosa.

Reintentar
No

Error de origen en el componente Primary Interface Function.


No
Error de origen en el componente Secondary Interface Function.
No

Error de origen en el componente Operation Handler.


No
Error de origen en el componente Internal Service Function.

No
Error de origen en el componente Resource Adapter.
No
Error de origen en el componente Legacy Wrapper.
No
Error de origen en el componente Support Component.

No

eUSB_Ejemplo de retorno cannico


Familia

Sistema

Stack

Refill

Raw Code
Cod

Cannico
Desc

Successful

Cod

NEG00000

Stack

Refill

100

Other Error

NEG10000

Stack

Refill

114

Voucher type not


accepted

DAT20000

RA

PIF

A
MPL

<Error><Code> NEG00000 </Code>


<Description> Transaccin Exitosa</Description >
<type>NEG</type></Error>
<RawError><Code> 0</Code>
<Description> Successful </Description >

<system> B</system></RawError>

Desc

Transaccin Exitosa
Error en el
procesamiento de la
solicitud.
Error en el
procesamiento de la
solicitud.
LW

CSL

<Cod>0</Cod>
<Desc> Successful </ Desc >

eUSB_Lista de valores cannicos


CONSUMIDOR
ENTIDAD

Fuente

Valor

Fuente

Valor

ContaCliente

Nacionalidad

CHILE

CANNICO

CL

ContaCliente

Categoria

PP

CANNICO

Pre-Pago

ContaCliente

Nacionalidad

CANNICO

CL

Chile

ContaCliente

Nacionalidad

CANNICO

CL

CHL

Servicio

Categoria

CANNICO

Pre-Pago

PRE-PAID

RA

PIF

CL
CHILE

PROVEEDOR

ATRIBUTO

Inv

CL
MPL

LW

Chile

LW

CHL

Chile

CSL

CL
CL

RA

CL

CHL

eUSB_Reglas semnticas XML


Un campo XML enviado vaco por el consumidor, ser enviado vaco al
proveedor.
<name>Juan</name>

<FirstName>Juan</FirstName>

<age></age>

<Age></Age>

Si el consumidor no desea enviar o actualizar un campo del proveedor,


no debe enviar ese campo en el body del mensaje

<name>Juan</name>

<FirstName>Juan</FirstName>

eUSB_Responsabilidades del
Stack y legados
Todos los sistemas proveedores utilizados por la plataforma eUSB deben
proporcionar:

Una lista de cdigos de retorno, la documentacion por API o el


template proporcionado.

eUSB_Responsabilidades del
Stack y legados
Proporcionar los cdigos de retorno para los HLD.
Stack/Legacy

Design
Factory

CoE

Design
Factory

Construir los Data Mapping.


Proporcionar los cdigos de retorno y CoE team.

Definir los cdigos cannicos con la informacin entregada por Stack/Legado.


Crear/Modificar los cdigos de retorno cannicos de integracin.
Proporcionar los cdigos de retorno cannicos para la Design Factory.

Proporcionar el Data Mapping final con sus cdigos de retorno


cannicos respectivos.

You might also like