SOA-FW External Guide ES

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.