Web Services Estrategia de integración - Versión 1.0 Mayo de 2019 - Proyectos bvc

Página creada José Secall
 
SEGUIR LEYENDO
Web Services Estrategia de integración - Versión 1.0 Mayo de 2019 - Proyectos bvc
Web Services
Estrategia de integración

        Versión 1.0

      Mayo de 2019
Web Services Estrategia de integración - Versión 1.0 Mayo de 2019 - Proyectos bvc
Contenido

1.     Alcance del documento .................................................................................................... 4

2.     Introducción ..................................................................................................................... 5

3.     Capa de servicios .............................................................................................................. 6
     3.1.    Estrategia de autenticación................................................................................................. 6
     3.2.    Flujo de consumo de servicios ............................................................................................ 7
Ilustraciones

Ilustración 1. Diagrama de contexto técnico ...................................................................................... 5
Ilustración 2. Flujo de consumo de servicios web............................................................................... 7

Lista de Abreviaciones

                                      Abreviación        Descripción
                                         JSON     JavaScript Object Notation
                                          JWT         JSON Based Token
1. Alcance del documento

El propósito de este documento es proveer un acercamiento a la estrategia de consumo que
tendrán nuestros clientes sobre los web services publicados para la nueva plataforma core de
deceval (BaNCS -CSD). Se describe en este documento el flujo de consumo de dichos web services
y la estrategia de autenticación implementada.

El alcance de este documento está limitado a describir la interacción por medio de web services,
no se comprende el envío de archivos por medio de protocolo FTP, el acceso a través de GUI -
Interfaz gráfica de usuario u otros métodos de integración.
2. Introducción

BaNCS - CSD es una solución J2EE con una arquitectura basada en componentes. Esta solución
cuenta con la capacidad de exponer sus servicios web independientemente a la plataforma de
consumo. Los servicios web expuestos están basados en un esquema REST soportando así mismo
solicitudes y respuestas por medio de protocolos seguros.

Se muestra el diagrama de contexto del nuevo sistema core de deceval.

Ilustración 1. Diagrama de contexto técnico
3. Capa de servicios

       3.1. Estrategia de autenticación

En términos de autenticación se ha implementado un mecanismo que prioriza la protección de
información sensible. Por medio de la tecnología de tokens JWT (JSON Based Token) los clientes
negociarán su autenticación con el sistema BaNCS - CSD.

  I.      JWT

JSON Based Token (JWT, https://jwt.io/) es un estándar de código abierto basado en JSON para
crear tokens de acceso que nos permiten asegurar las comunicaciones entre cliente y servidor.

    Funcionamiento
   El cliente se autentica y garantiza su identidad haciendo una petición al servidor de
   autenticación. Esta petición puede ser mediante usuario contraseña, mediante proveedores
   externos o mediante otros servicios como LDAP, Active Directory, etc.

   Una vez que el servidor de autenticación garantiza la identidad del cliente, se genera un token
   de acceso (JWT). El cliente usa ese token para acceder a los recursos protegidos que se
   publican mediante API. En cada petición, el servidor desencripta el token y comprueba si el
   cliente tiene permisos para acceder al recurso haciendo una petición al servidor de
   autorización.

         Composición del token:

   Estos token están compuestos por tres partes:

           Header: Contiene el hash que se usa para encriptar el token.
           Payload: Contiene una serie de atributos (clave, valor) que se encriptan en el token.
           Firma: Contiene header y payload concatenados y encriptados (Header + “.” + Payload
            + Secret key).

          Este token tendrá un periodo de validez predefinido, durante el cual los clientes podrán
          realizar peticiones sin solicitar nuevamente su generación. Una vez se alcance el momento
          de vencimiento del token, el cliente deberá validar nuevamente sus credenciales con el fin
          de recibir un nuevo token.
3.2. Flujo de consumo de servicios

El flujo de consumo de servicios se puede segmentar en dos pasos; el primero referente a la
autenticación del cliente y el segundo al envío y solicitud de información de negocio (ej.
mensajería ISO20022).

Ilustración 2. Flujo de consumo de servicios web

         1. Servicio de autenticación

              1.1. Como se describió anteriormente los sistemas clientes accederán a los servicios al
                   enviar un request a un “authorization endpoint”, indicando sus credenciales de
                   acceso.
              1.2. Los sistemas clientes recibirán un JWT (JSON Web Token) que garantizará su
                   identidad. Mientras el token esté vigente podrá ser utilizado por el cliente, una
                   vez este se haya vencido, el cliente deberá consumir nuevamente el servicio de
                   autenticación.
2. Servicios de negocio

   2.1. Los sistemas clientes realizarán un request HTTPs tipo GET o POST. Como parte
        del header incluirán su token JWT. Para los mensajes ISO20022, en el body se
        indicará el tipo de mensaje a tratar y el contenido del mensaje. En otros casos se
        indicará como parámetro la información requerida por el servicio.
   2.2. Los sistemas clientes recibirán como respuesta la información entregada por el
        servidor. Para los mensajes ISO20022 recibirán un acknowledgment de la solicitud
        (para solicitudes POST) o un mensaje ISO20022 de respuesta (para solicitudes
        GET).
DISCLAIMER
La información aquí contenida es preliminar a la implementación del
proyecto, por lo cual puede ser actualizada, eliminada o modificada de
cualquier manera por posteriores presentaciones, reportes y/o cualquier
comunicación realizada por bvc y deceval

                                  http://www.bvc.com.co
                       Copyright Bolsa de Valores de Colombia 2018
Principal Bogotá: Carrera 7 No. 71-21 Torre B Piso 12. Edificio BVC. PBX (57-1) 3139800
También puede leer