API сервера

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

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

  • Иметь доступ к ресурсам сервера и связанным устройствам;

  • Изменять настройки сервера и устройства;

  • Выполнять операции на сервере и устройствах;

  • Получать события с сервера и устройств;

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

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

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

Использование API AggreGate Serverа

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

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

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

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

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

  • IP-адрес имени хоста удаленного AggreGate Serverа

  • Номер порта для установления соединения (6460 по умолчанию)

  • Имя учетной записи пользователя для авторизации (имя пользователя)

  • Пароль для учетной записи пользователя

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

RemoteLinkServerController rlc = new RemoteLinkServerController(rls, true);

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

rlc.connect();

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

  • Сервер не запущен;

  • Не активирован API удаленного сервера;

  • Адрес/порт указаны неверно;

  • Версии AggreGate Server и API библиотеки не совместимы.

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

rlc.login();

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

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

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

ContextManager cm = rlc.getContextManager();

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

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

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

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

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

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

Класс

Описание

AbstractAggreGateDeviceController

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

AggreGateDeviceController

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

RemoteConnector

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

RemoteServer

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

RemoteServerController

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

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

Пример

Описание

/src/examples/api/GetServerVersion.java

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

/src/examples/api/ManagerUsers.java

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

/src/examples/api/ManagerDevices.java

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

  • Перечислить доступные учетные записи устройства и просмотреть/изменить их свойства

  • Cоздать и удалить учетные записи устройства

  • Просмотреть статус устройства и выждать, пока Device не перейдет в определенное состояние

  • Вывести, прочитать и записать настройки устройства

  • Выполнить операции устройства

  • Получать и обрабатывать события устройства.

/src/examples/api/ExecuteAction.java

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