Архитектура системы и интеграция ее компонентов
Следующая схема иллюстрирует взаимодействие мобильного или встраиваемого приложения SteelTrace, SteelTrace Server и корпоративного бизнес-приложения. Данные поступающие с мобильного или встраиваемого приложения сохраняются в виде XML документов. XML документы отсылаются через доступный сетевой протокол на web сервис обработки документов SteelTrace Server. Сервис обработки XML документов сохраняет их в очереди документов, после чего перенаправляет в бизнес-приложение с помощью соответствующего программного агента.
STS бизнес-агент это программа написанная на платформе .NET осуществляющая взаимодействие с бизнес-приложениями. На данный момент в пакете SteelTrace Server поставляются готовые бизнес-агенты к 1С 7.7, 1С 8.1, Microsoft Dynamics AX, Microsoft Dynamics NAV, OEBS, SAP.
Открытый API и примеры позволяют пользователям самостоятельно разрабатывать бизнес-агенты для интеграции с собственными корпоративными бизнес-приложениями.
При передаче XML документа из SteelTrace Server в бизнес-приложение соответствующий бизнес-агент задействует бизнес-логику интегрируемого приложения. Например, при обработке документов прихода вагона с помощью мобильного терминала SteelTrace Server передавая XML документ прихода может вызвать из 1С внутреннюю функцию, которая создаст документ прихода в 1С.
Взаимодействие между мобильными и встраиваемыми клиентами и бизнес-агентами SteelTrace Server.
Архитектура SteelTrace Server позволяет мобильным и встраиваемым клиентам взаимодействовать с бизнес-приложениями в off-line режиме. Это означает, что мобильный или встраиваемый клиент регистрирует бизнес-транзакцию и передает ее в бизнес-приложение, когда оно готово к приему информации. Другими словами документ, зарегистрированный с помощью мобильного или встраиваемого терминала будет передан на сервер SteelTrace, когда будет установлено сетевое соединение, например кладовщик с мобильным терминалом пройдет в зоне приема Wi-Fi точки. И SteelTrace Server передаст данные в 1С, когда 1С будет готова их принимать.
Коммуникационные протоколы
Коммуникационная составляющая SteelTrace Server базируется на технологии Microsoft Dynamics Mobile. По умолчанию Microsoft Dynamics Mobile использует Hypertext Transfer Protocol в модификации Secure Socket Layer (HTTPS) . Таким образом, взаимодействие мобильного или встраиваемого клиента SteelTrace может использовать наиболее распространенный тип интернет соединения для связи с сервером. Мы рекомендуем использовать HTTPS для обеспечения защищенного соединения с сервером SteelTrace. Однако если Вы используете Virtual Private Network (VPN) или другие защищенные коммуникационные технологии тогда HTTPS не нужен.
Коммуникация между мобильными клиентами и бизнес-приложением
Мобильный или встраиваемый клиент посылает XML документ в сервис обработки документов SteelTrace Server. Сервис обработки документов передает обрабатываемый документ SteelTrace Server. SteelTrace Server помещает документ в очередь документов и задействует собственную бизнес-логику для обработки и проверки документа. Так, например, задействуется вызов компонента дополненной реальности SteelTrace AG, если переданный документ описывает перемещение изделия, которое нужно отразить в визуализаторе SteelTrace AG. После этого SteelTrace Server проводит стадию упорядочивания очереди документов. Стадия упорядочивания очереди нужна для того чтобы дождаться от мобильных и встраиваемых клиентов SteelTrace документов которые не успели прийти на SteelTrace Server из за проблем со связью. После того как последовательность очереди восстановлена документы регистрируются в бизнес-приложении посредством запуска соответствующего бизнес-агента. Результат регистрации документа возвращается бизнес-агентом и транслируется SteelTrace Server обратно мобильному или встраиваемому клиенту. Следующая схема последовательно иллюстрирует процесс взаимодействия мобильного или встраиваемого приложения SteelTrace с бизнес-приложением:
1. Используя информацию о правах пользователя мобильный или встраиваемый клиент соединяется с сервисом обработки документов SteelTrace Server посредством internet/intranet соединения. Права пользователя подтверждаются SteelTrace Server с помощью Active Directory.
2. Мобильный или встраиваемый клиент посылает запрос сервису обработки документов SteelTrace Server. Запрос содержит идентификатор запроса, идентификатор мобильного терминала или встраиваемого устройства, XML документ.
3. Сервис обработки документов SteelTrace Server регистрирует документ в очереди обработки документов.
4. SteelTrace Server проводит проверку документа и передает документ внутренним модулям бизнес-логики.
5. SteelTrace Server передает документ бизнес-приложению вызывая соответствующий бизнес-агент.
6. Бизнес-приложение обрабатывает входящий документ и возвращает результат обработки SteelTrace Server.
7. SteelTrace Server передает результат обработки мобильному или встраиваемому приложению.
Запрос от мобильного или стационарного клиента
Все операции, регистрируемые на мобильных или стационарных терминалах передаются на сервер в виде XML документов. XML документ представляет собой завершенную бизнес-транзакцию или отдельный шаг бизнес-процесса. Например, факт прихода на склад рулонов с железнодорожного вагона либо перемещение пакета труб из ячейки в ячейку. Содержание XML документа содержит данные вводимые пользователем во всех диалогах (тасклета) задействованных в рамках отдельной бизнес-операции. Когда пользователь выполняет на мобильном терминале операцию «Отправить» формируется XML документ и помещается в очередь документов готовых для отправки на сервер. Когда сетевое соединение устанавливается (например, кладовщик проходит в зоне действия корпоративной WIFI сети), документ передается на сервер SteelTrace.
Обработка запросов поступающих по TCP/IP каналу
SteelTrace Server предоставляет возможность обработки запросов передаваемых по TCP/IP протоколу. Для взаимодействия с сервером используется специальная .NET библиотека SteelTraceClient .
Пользовательские приложения могут посылать запросы, используя внутренний язык команд SteelTrace P-Trace.
На следующей схеме представлена архитектура подсистемы обработки запросов SteelTrace Server.
Клиентский запрос передается на сервер по TCP/IP. Порт по умолчанию 8000. Запрос обрабатывается процессом, который называется Listener. При получении запроса listener передает запрос обработчику запросов Query Broker. Query Broker выделяет пользовательскому запросу отдельный процесс в рамках которого запрос передается компоненту Query Governer. Query Governer ведет запрос до факта выполнения.
В первую очередь Query Governer передает запрос сервису распределения запросов в распределенной среде бизнес-приложений. Для этого Query dispenser использует классификатор запросов, хранящийся в базе данных SteelTrace Server. Сверяясь с классификатором Query dispenser определяет бизнес-приложение, которое отвечает за обработку пользовательского запроса. Напомним, что сам SteelTrace Server также включает в себя самостоятельную подсистему обработки бизнес-транзакций прослеживаемости.
После классификации запроса запрос передается в бизнес-приложение. Как правило, основными бизнес-приложениями, с которыми взаимодействует SteelTrace Server являются ERP системами. Большая часть из них не рассчитана на гарантированную обработку транзакций 24 часа в сутки. Поэтому SteelTrace Server выполняет роль промышленного моста изолирующего мобильных и встраиваемых клиентов от бизнес-приложения. Поэтому все запросы классифицируются по степени гарантированности получения ответа на запрос. В SteelTrace Server предусмотрена следующая классификация запросов:
1. Прямой запрос
2. Асинхронный запрос
3. Отложенный запрос
Прямые запросы
Прямые запросы это запросы, которые требуют обязательного ответа, как только закончится обработка запроса бизнес-приложением. С точки зрения архитектуры прямой запрос является наименее предпочтительным способом взаимодействия с бизнес-приложением т.к. клиентское приложение зависит от надежности бизнес-приложения. SteelTrace Server при обработке прямых запросов берет на себя роль контролера бизнес-приложения. Если бизнес-приложение не готово обработать запрос SteelTrace Server отсекает его выполнение. Также SteelTrace Server следит за временем выполнения запроса.
Асинхронные запросы
Асинхронный запрос в отличие от прямого запроса не требует от приложения обязательного ожидания исполнения запроса. Обычно клиентское приложение при передаче запроса оставляет ссылку на функцию обработки запроса и продолжает нормальное функционирование. Ярким примером является построение пользовательского интерфейса, который дополняется данными полученными из бизнес-приложения. Например, при открытии формы карточки пакета форма посылает асинхронный запрос на получение дополнительной информации о пакете металла. В том случае если информация будет предоставлена эта информация выводится на форме. В том случае если информация по причине недоступности бизнес-приложения не предоставлена пользователь продолжает работу с формой в усеченном режиме.