API сервера

API с открытым исходным кодом SberMobile Serverа для Java (Java API (SberMobile Serverа) позволяет контролировать, конфигурировать и отслеживать SberMobile Server, а также все устройства аппаратного оборудования, которые работают с одной инсталляцией SberMobile удаленно с любого приложения, написанного на языке Java.

Используя этот API, можно:

  • Иметь доступ к ресурсам сервера и связанным устройствам;
  • Изменять настройки сервера и устройства;
  • Выполнять операции на сервере и устройствах;
  • Получать события с сервера и устройств;

Технически Java API предоставляет следующую функциональность:

  • Полный доступ к контекстам сервера через так называемое proxy дерево контекста;

Всё взаимодействие с SberMobile Server выболняются по IP, через одно защищенное SSL соединение TCP, используя протокол взаимодействия SberMobile .

Использование API %ls%а

Этот параграф предоставляет пошаговую инструкцию для установления связи с удаленным SberMobile Serverом из Java-приложения.

Создание соединения с сервером

Начните с создания объекта RemoteLinkServer:

RemoteLinkServer rls = new RemoteLinkServer("localhost", RemoteLinkServer.DEFAULT_PORT, "admin", "admin");

Вам необходимо определить следующие параметры в конструкторе RemoteLinkServer:

  • IP-адрес имени хоста удаленного SberMobile Serverа
  • Номер порта для установления соединения (6460 по умолчанию)
  • Имя учетной записи пользователя для авторизации (имя пользователя)
  • Пароль для учетной записи пользователя

Затем создайте RemoteLinkServerController. Он будет использоваться для управления соединением с сервером:

RemoteLinkServerController rlc = new RemoteLinkServerController(rls, true);

Установите соединение с сервером посредством вызова метода connect():

rlc.connect();

Соединение не установится, если:

  • Сервер не запущен;
  • Не активирован API удаленного сервера;
  • Адрес/порт указаны неверно;
  • Версии SberMobile Server и API библиотеки не совместимы.

На этом этапе у Вашего приложения есть установленное по TCP соединение, подготовлено шифрование соединения по SSL и произошел обмен основной информацией с SberMobile Serverом. Чтобы выполнять операции, необходимо авторизоваться на сервере и получить уровень доступа. Это выполняется путем вызова метода login() контроллера сервера:

rlc.login();

Вызов не удастся, если логин/пароль, указанные в конструкторе RemoteLinkServer неверны.

Получение доступа к менеджеру контекстов

Теперь можно получить экземпляр ContextManager из контроллера. Это дерево proxy-контекста, структура и операции с которым очень похожи на удалённое дерево контекста SberMobile Serverа:

ContextManager cm = rlc.getContextManager();

Работа с контекстами

Все остальные важнейшие операции по управлению данными SberMobile Server, выполняются посредством вызова операций переменной/функции/события в различных проксируемых контекстах , предоставляемых менеджером прокси-контекста.

См. работа с контекстами для получения более подробной информации.

Разъединение с сервером

Вызовите метод disconnect() контоллера SberMobile Server, чтобы закрыть соединение.

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

Класс

Описание

AbstractAggreGateDeviceController

Общий клиентский контроллер сеанса по протоколу SberMobile.

AggreGateDeviceController

Интерфейс клиентского котроллера сеанса по протоколу SberMobile.

RemoteConnector

Базовый интерфейс котроллера сеанса по протоколу SberMobile.

RemoteServer

Параметры подключения удаленного сервера.

RemoteServerController

Контроллер сеанса подключения удаленного сервера.

Cоответствующие примеры

Пример

Описание

/src/examples/api/GetServerVersion.java

Этот простой пример показывает, как удаленно подключаться к SberMobile Server  при помощи API SberMobile Serverа и получать номер версии сервера.

/src/examples/api/ManagerUsers.java

Этот примеры показывают, как:

/src/examples/api/ManagerDevices.java

Этот пример показывает, как:

  • Перечислить доступные учетные записи устройства и просмотреть/изменить их свойства
  • Cоздать и удалить учетные записи устройства
  • Просмотреть статус устройства и выждать, пока Device не перейдет в определенное состояние
  • Вывести, прочитать и записать настройки устройства
  • Выполнить операции устройства
  • Получать и обрабатывать события устройства.

/src/examples/api/ExecuteAction.java

Это усложненный пример, который показывает, как выполнять действие на сервере, симулируя ввод данных человеком-оператором.