Visão geral da arquitetura

A arquitetura do IBM® UrbanCode Deploy consiste em uma camada de serviço e uma camada de dados.

A camada de serviço tem um servidor central que fornece um servidor da web front-end e serviços principais, como fluxo de trabalho, gerenciamento de agente, implementação, inventário, segurança e outros. Um serviço pode ser considerado um mecanismo autocontido para hospedar uma parte da lógica de negócios. Os serviços podem ser consumidos por clientes, agentes ou outros serviços. As implementações são orquestradas pelo servidor e executadas pelos agentes distribuídos por toda a rede. A maioria dos clientes utiliza navegadores para se comunicar com o servidor da web com HTTP(S). A maior parte da comunicação entre servidor e agente é feita com JMS (discutido a seguir), mas HTTP(S) também é usado conforme necessário.

O banco de dados relacional da camada de dados armazena dados de configuração e de tempo de execução. O armazenamento de arquivos da camada de dados, CodeStation, contém arquivos de log, artefatos e outros objetos de dados não estruturados. As ferramentas de relatório podem se conectar diretamente ao banco de dados relacional.

Um diagrama de um sistema típico, mostrando a camada de dados, a camada de serviço e
os clientes Clique nesta área para obter informações sobre clientes. Clique nesta área para obter informações sobre a camada de serviço. Clique nesta área para obter informações sobre agentes. Clique nesta área para obter informações sobre a camada de dados.

O IBM UrbanCode Deploy usa comunicações stateless para comunicações entre servidor e agente (baseada em JMS) e comunicações entre cliente e serviço da web. Stateless, conforme usado aqui, significa que o servidor retém pouca informação de sessão entre as solicitações e cada solicitação contém todas as informações necessárias para manipulá-la. O servidor configura soquetes de recebimento e atende a agentes, retransmissões e usuários (clientes). Para maior segurança, os agentes não atendem nas portas. Os agentes enviam solicitações quando estão prontos para fazer a transição para um novo estado.

A comunicação entre servidor e agente é criada por meio de transferência, ou implementação, de componentes. Os componentes podem ter qualquer conteúdo significativo para os negócios, como informações do ambiente, dados de configuração, origem, arquivos estáticos, ou qualquer outra coisa que esteja associada a um projeto de software. Como as conexões JMS são persistentes e não estão baseadas em um protocolo de solicitação/resposta, o IBM UrbanCode Deploy não abre e fecha as portas continuamente. Essas conexões persistentes permitem que o servidor se comunique com os agentes a qualquer momento enquanto os agentes permanecem seguros e escaláveis.

Muitos serviços do IBM UrbanCode Deploy são do tipo REST (Representational State Transfer). Os serviços no estilo REST são serviços da web cujo foco está na transferência de recursos sobre HTTP. Um recurso pode ser qualquer parte de dados que seja significativa para os negócios. Os recursos são transferidos por um formato autoexplicativo, como XML ou JSON (JavaScript Object Notation). As representações XML e JSON normalmente modelam estados de recursos no momento das solicitações do agente/cliente. Os serviços no estilo REST obtêm statelessness assegurando que as solicitações incluam todos os dados que o servidor precisa para tornar uma resposta coerente.


Feedback