Уровень служб - это центральный сервер, который предоставляет клиентские и базовые службы веб-сервера, такие как поток операций, управление агентами, развертывание, реестр, защита и др. Службу можно рассматривать как автономный механизм, содержащий фрагмент бизнес-логики. Службы могут использоваться клиентами, агентами или другими службами. Развертывания управляются сервером и выполняются агентами, которые распределены по сети. Для взаимодействия с веб-сервером по протоколу HTTP(S) большинство клиентов используют браузеры. В большинстве случаев сервер и агенты взаимодействуют посредством JMS (см. ниже), но при необходимости также применяется HTTP(S).
В реляционной базе данных уровня данных хранятся данные конфигурации и данные времени выполнения. Хранилище файлов уровня данных (CodeStation) содержит файлы протоколов, артефакты и другие неструктурированные объекты данных. Непосредственно к реляционной базе данных могут подключаться инструменты создания отчетов.
IBM UrbanCode Deploy использует соединения без сохранения состояния для взаимодействия между сервером и агентами (на основе JMS) и для взаимодействий между клиентами и веб-службами. Используемый здесь термин "без сохранения состояния" означает, что сервер сохраняет немного информации о сеансе между запросами, и что каждый запрос содержит всю информацию, которая требуется для его обработки. Сервер настраивает прослушивающие сокеты и перехватывает события от агентов, промежуточных агентов и пользователей (клиентов). Для дополнительной безопасности агенты не прослушивают порты. Агенты отправляют запросы, когда готовы к переходу в новое состояние.
Взаимодействие между сервером и агентами строится вокруг передачи, или развертывания, компонентов. Компоненты могут содержать любые значимые с деловой точки зрения материалы, такие как информацию о среде, данные конфигурации, исходные статические файлы или что-то другое, связанное с проектом программного обеспечения. Поскольку соединения JMS являются постоянными и не основаны на запросно-ответном протоколе, IBM UrbanCode Deploy не выполняет постоянное открытие и закрытие портов. Постоянные соединения позволяют серверу взаимодействовать с агентами в любое время, пока агенты остаются защищенными и масштабируемыми.
Многие службы IBM UrbanCode Deploy - это службы типа REST (REpresentational State Transfer - передача состояния представления). Службы типа REST - это веб-службы, которые ориентированы на передачу ресурсов по HTTP. Ресурс может быть любой значимой с точки зрения бизнеса частью данных. Ресурсы передаются в формате с вложенным описанием, таком как XML или JSON (JavaScript Object Notation). Представления XML и JSON обычно моделируют состояния ресурсов во время запросов агента/клиента. Службы типа REST не сохраняют данные о поступающих запросах, так как все данные, которые требуются серверу для создания согласованного ответа, содержатся в запросах.