Visión general de la arquitectura

La arquitectura de IBM® UrbanCode Deploy consta de un nivel de servicios y un nivel de datos.

El nivel de servicios tiene un servidor central que proporciona servicios principales y front-end al servidor web, como flujo de trabajo, gestión de agentes, despliegue, inventario, seguridad y otros. Un servicio se puede considerar como un mecanismo autocontenido para alojar una pieza de lógica empresarial. Los servicios pueden utilizarlos clientes, agentes y otros servicios. Los despliegues están orquestados por el servidor y los ejecutan agentes distribuidos a través de la red. La mayoría de los clientes utilizan navegadores para comunicarse con el servidor web a través de HTTP(S). La mayoría de las comunicaciones agente-servidor se realizan con JMS (explicado más adelante) pero también puede utilizarse HTTP(S) en caso necesario.

La base de datos relacional del nivel de datos almacena la configuración y los datos de tiempo de ejecución. El almacén de archivos del nivel de datos, CodeStation, contiene archivos de registro, artefactos y otros objetos de datos sin estructurar. Las herramientas de informes se pueden conectar directamente con la base de datos relacional.

Diagrama de un sistema típico, que muestra el nivel de datos,
el nivel de servicio y los clientes Pulse esta área para obtener información acerca de los clientes Pulse esta área para obtener información acerca de la capa de servicio Pulse esta área para obtener información acerca de los agentes Pulse esta área para obtener información acerca de la capa de datos

IBM UrbanCode Deploy utiliza comunicaciones sin estado en las comunicaciones agente-servidor (basadas en JMS) y las comunicaciones de servicio cliente-web. Sin estado, en el sentido que se utiliza aquí, significa que el servidor retiene poca información de sesiones entre solicitudes y que cada solicitud incluye toda la información necesaria para gestionarla. El servidor configura los sockets de escucha y escucha a agentes, relés y usuarios (clientes). Para mayor seguridad, los agentes no escuchan en puertos. Los agentes envían solicitudes cuando están preparados para cambiar a un nuevo estado.

La comunicación agente-servidor se crea en torno a la transferencia o despliegue de componentes. Los componentes puede incluir cualquier contenido significativo para la empresa, como información del entorno, datos de configuración, origen, archivos estáticos o cualquier otro elemento asociado con un proyecto de software. Dado que las conexiones JMS son permanente y no se pasan en un protocolo solicitud-respuesta, IBM UrbanCode Deploy no abre y cierra continuamente puertos. Las conexiones persistentes permiten al servidor comunicarse con los agentes en cualquier momento en tanto que estos permanecen seguros y escalables.

Muchos servicios de IBM UrbanCode Deploy son de tipo REST (Representational State Transfer). Los servicios de tipo REST son servicios web que se centran en la transferencia de recursos a través de HTTP. Un recurso puede ser cualquier dato significativo para la empresa. Los recursos se transfieren mediante un formato autodescriptivo, como XML o JSON (JavaScript Object Notation). Las representaciones XML y JSON modelan por lo general estados de recursos en el momento de las solicitudes agente/cliente. Los servicios de tipo REST alcanzan la condición de sin estado asegurándose de que las solicitudes incluyan todos los datos necesarios para que el servidor dé una respuesta coherente.


Comentarios