El plan considera la implementación de una arquitectura SOA con un patrón de Microservicios. Dicha arquitectura permitirá la integración e interoperabilidad de sistemas públicos y privados, además de orquestar los servicios de valor para la comunidad portuaria, aportando flexibilidad y escalabilidad al estar soportado por microservicios que cumplen una función específica y desacoplable.
Considerando la orquestación de los microservicios como un patrón de la arquitectura basada en Servicios (SOA), la implementación, considera 3 fases:
- Planeación técnica
- Enterprise Application Integration
- Business Process Management
- Planeación técnica
Cada servicio Modular deberá atender a un servicio del PCS, Modulo Base, estos deben ser desarrollados en función de las características logísticas de cada puerto y composición de cada comunidad logística.
Una vez definido cada servicio modular, se definen las siguientes tareas:
- Separación de Intereses: La primera tarea consiste en realizar una separación de intereses (SOC), permitiendo de esta manera identificar cada uno de los microservicios a desarrollar con una única función y propósito.
- Lenguaje a utilizar: No es relevante ni restrictivo para la arquitectura definida.
- Protocolo de transporte: La arquitectura de cada servicio Modular debe atender al protocolo REST
- Estandarización de Mensajes: Es importante definir para cada una de las integraciones o servicios modulares que intercambien información una nomenclatura común que permita ser consultada desde otros servicios sin necesidad de hacer transformaciones. Esto se consigue por medio de protocolización de acuerdos y el estándar XML.
- Enterprise Application Integration (EAI)
El objetivo de esta fase es la implementación de los componentes necesarios para soportar los servicios modulares. Considerando que cada servicio modular atenderá a una arquitectura basada en un patrón de microservicios cuyo protocolo de intercambio y manipulación de datos corresponde al protocolo REST (Representational state transfer).
A continuación, se describen los componentes tecnológicos asociados a EAI, cuyas características técnicas, se encuentran descritas en el apartado de Plataforma tecnológica y de servicios:
- Implementación Bus de Integración Empresarial (ESB). Posibilitara la comunicación entre las entidades públicas y privadas, permitiendo resolver las distintas problemáticas en las integraciones y sus formas de comunicación, proporcionando herramientas de gestión, transformación de mensajes, diseño y despliegue controlado de nuevas integraciones bajo una misma plataforma.
- Implementación de componente Message Bróker. Esta pieza de software, es fundamental tanto para los servicios de valor a desarrollar, como para las integraciones, ya que permite la negociación de mensajes, almacenando y recuperando mensajes por medio de colas. Permitiendo entregar notificaciones a servicios modulares propios del PCS o a sistemas externos por medio de las integraciones. Adicionalmente, entrega la posibilidad de integrar tecnología IOT por medio del soporte del Protocolo MQTT.
- Implementación del componente Administración de datos. El próximo componente, es una pieza de software que se encargue de integrar almacenes de datos, crear vistas de datos y alojar servicios de datos, respondiendo a los servicios de valor a desarrollar por cada puerto.
- Implementación del componente Administrador de APIs (API Gateway). El próximo componente, es una pieza de software que se encargue de administrar las APIs que exponen los microservicios, tomando en cuenta las siguientes consideraciones en su implementación:
- Disponibilidad: Limitar el control de tráfico y tamaños del cuerpo de los mensajes.
- Monitoreo y Tracking: Cada API debe poseer un mecanismo de log en concordancia con la plataforma de Auditoria descrita en el apartado 3.2 (Diseño plataforma y componentes tecnológicos port community system).
- Implementación del componente Administrador de identidades. Es la pieza de software encargada de establecer comunicaciones seguras para los microservicios por medio de validación de tokens.
A continuación, se presenta un esquema general de los componentes tecnológicos (antes descritos) asociados al Enterprise Application Integration y su relación con la arquitectura SOA con vector de microservicios.
Figura 28 Esquema Enterprise Application integration
- Business Process Management
Es la tercera fase de la implementación de los componentes de la arquitectura y permite gestionar el funcionamiento de la plataforma y extraer información de negocio, tales como cantidad de transacción por actor, utilización de los servicios modulares, tendencias, entre otras.
- Implementación de Plataforma de Análisis y procesamiento transaccional. Se encarga de monitorear las transacciones SOAP (Posibles integraciones legadas) /REST (Microservicios) todo en tiempo real, para la explotación de datos valido para la plataforma de Business Intelligent o detección de errores.