SDK агента

Agent SDK - это Java-библиотека, которая позволяет реализовывать Agent в форме Java-приложения, запущенного на ПК или мобильном устройстве. Это приложение воспроизводит Agent , который базируется на контроллере аппаратного оборудования путем соединения с SberMobile Server через безопасное соединение, и предоставляет ряд настроек (переменных), операций (функций) и событий.

В отличие от Java-приложения, которое использует SberMobile Server API, описанное приложение, используя SDK Агента, подключается к SberMobile Server в "режиме  устройства". Оно эмулирует или реализует устройство, подключенное к SberMobile.

Agent может быть также реализован при помощи API для .NET.

Основанные на Java Агенты идеально подходят для подключения размещенного на ПК оборудования к SberMobile с целью мониторинга и управления. Некоторые примеры устройств, на которых может быть запущен Агент для ПК:

  • торговые автоматы
  • киоски самообслуживания
  • банкоматы
  • станции дистанционного сбора данных
  • и пр.

Пакет SDK сервера устройств включает пример с открытыми исходными текстами Агента на Java. Это запускаемый Java-класс DemoAgent, который находится в пакете examples.agent.

Чтобы протестировать демо-агент, измените адрес/порт/логин/пароль сервера в конструкторе класса RemoteLinkServer и запустите класс DemoAgent. Он должен подключиться к серверу и автоматически зарегистрировать новую учетную запись устройства .

Стуктура агента, основанного на java

Технически Agent на Java -- это Java-приложение или часть такого приложения, которая:  

  • создает экземпляр класса Agent
  • возвращает реализацию Context Агента, используя метод Agent.getContext()
  • настраивает контекст, добавляя определения переменных, функций и событий. Это настройки, операции и события, "предоставленные устройством аппаратного оборудования" в рамках SberMobile.
  • предоставляет собственные VariableGetter и VariableSetter для каждой настройки Агента. Эти классы реализуют общую логику для чтения и записи значений настроек.
  • предоставляет собственный FunctionImplementation для каждой операции Агента. Эти классы реализуют логику операций, т.е. обрабатывают ввод и генерируют вывод.
  • подключается к SberMobile Server во время загрузки или в любой иной необходимый момент и начинает обрабатывать команды сервера. Эти команды переключат переменные чтения/записи и вызывают выполнение функций.
  • асинхронно запускает события в контексте Агента, используя метод Context.fireEvent() после установления соединения с сервером.

Соответствующие классы

Класс

Описание

AbstractClientController

Абстрактный базовый класс контроллера соединения по протоколу SberMobile на стороне сервера.

Agent

Первичный класс структуры соединений на основе агента.

AgentImplementationController

Агентская версия контроллера соединения по протоколу SberMobile на стороне сервера.

DefaultClientController

Реализация по умолчанию контроллера соединения по протоколу SberMobile на стороне сервера.