Web Services Estrategia de integración - Versión 1.0 Mayo de 2019 - Proyectos bvc
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
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