Комплект разработчика (SDК) для SberMobile

SDK (Software Development Kit) для SberMobile  - комплект разработчика с открытым кодом доступа, который позволяет расширять Платформу SberMobile, а также интегрировать ее с другими производственными системами. SDK SberMobile - это набор широкодоступных модулей, которые обеспечивают совместимость с разными операционными системами. Модули реализованы на языке Java. Существует две различных версии Java SDK для SberMobile:

  • Java SDK SberMobile для стандартной версии Java

  • Java SDK SberMobile для Android (Dalvik JVM)

SDK SberMobile включает в себя следующие компоненты:

Драйвер и Агент

Нас часто спрашивают, в чем разница между драйвером устройства и Agent на базе Java. Приведем краткое объяснение:

  • Код драйвера устройства Java - это часть SberMobile Server, он выполняется на серверах Виртуальной Машины Java. Агент - это автономное приложение Java, которое запущено на отдельном ПК.

  • Драйвер устройства использует родной протокол (обычно на основе IP или последовательной связи) для взаимодействия с устройствами, в то время как Агенты общаются с SberMobile Server, используя Проткол SberMobile.

Дистрибутивный пакет SDK для SberMobile

SDK для SberMobile доступен в виде архивированного файла в формате ZIP. который содержит:

  • Исходный код (папка /src)

  • Примеры (папка /demo-api)

  • Тесты элементов (папка /test)

  • Функциональные тесты (папка /test)

  • Javadocs (папка /docs)

  • Предварительно созданный архив Java (JAR) с классами SDK (aggregate-api.jar)

  • Необходимые сторонние библиотеки (aggregate-api-libs.jar)

Быстрый старт с SberMobile SDK

Как начать программно взаимодействовать с экземплярами сервера SberMobile.

Загрузка и настройка среды

  • Скачайте и распакуйте zip-архив с дистрибутивом SDK. SDK SberMobile доступен по тем же каналам распространения, что и сервер SberMobile..

  • Убедитесь, что Java Development Kit (JDK) установлен и доступен через переменную окружения PATHили JAVA_HOME на машине, на которой будут работать решения, созданные с помощью SDK.

  • Настройте работающий экземпляр сервера SberMobile. По умолчанию все примеры настроены на взаимодействие с сервером на localhost:8080 с использованием учетных данных логин: adminи пароль: admin. В последнем примере ниже объясняется, как изменить эту конфигурацию для доступа к удаленным серверам с другими учетными данными.

Список примеров

  • Перейдите в каталог, куда был извлечен SDK, и запустите бинарник gradlew с аргументом :demo-api:tasks.

    • Для Unix-подобных систем: ./gradlew :demo-api:tasks

    • Для Windows: gradlew.bat :demo-api:tasks

В выводе должны быть указаны доступные примеры:

Playground tasks 
----------------
ExecuteAction
GetServerVersion
ManageDevices
ManageUsers

Запуск примеров задач

  • Задачи можно запускать с помощью бинарного файла gradlew и аргумента :demo-api:<task name>. Чтобы запустить пример GetServerVersion, выполните следующие действия:

    • Для Unix-подобных систем: ./gradlew :demo-api:GetServerVersion

    • Windows: gradlew.bat :demo-api:GetServerVersion

В результате должно получиться что-то похожее на следующее:

> Task :demo-api:GetServerVersion
15:51:34,979 INFO ag.test Server version: 6.31.00

Дальнейшая разработка

  • Чтобы посмотреть, как устроены задачи, и поэкспериментировать с их редактированием, откройте любой из файлов demo-api/src/main/java/examples/api/<task name>.java в текстовом редакторе или IDE.

  • Любые изменения в файле можно проверить, сохранив файл и запустив задачу с помощью бинарного файла gradlew.

  • Например, обновив следующую строку в любой из задач, можно изменить адрес сервера и учетные данные подключения, чтобы подключиться к удаленному серверу или подключиться под другим пользователем.

// Provide correct server address/port and name/password of server user to log in as
RemoteServer rls = new RemoteServer("localhost", RemoteServer.DEFAULT_PORT, "admin", "admin");

Приведенные примеры демонстрируют различные варианты взаимодействия с сервером SberMobile и могут быть полезны при разработке решений для пользовательских случаев.

Использование SDK в Java приложениях

Чтобы использовать SberMobile SDK в приложении, необходимо добавить следующие java-архивы (JAR) в classpath вашего Java-приложения:

  • aggregate-api.jar

  • aggregate-api-libs.jar

Первый архив содержит специфичный для SberMobile код, в то время как второй архив содержит сторонние библиотеки, используемые SDK.

Дополнительная информация для Javadocs и исходных кодов

Для получения подробной информации о конкретных классах и интерфейсах, включенных в SDK, обратитесь к:

  • Javadocs расположенные в папке /docs дистрибутивного пакета SDK

  • Исходный код, расположенный в папке /src дистрибутивного пакета SDK

Версия Java

Большинство дистрибутивов SberMobile Server и SberMobile IIoT Platform Client включают встроенную виртуальную машину Java. Любая виртуальная машина Java, установленная на ОС, не используется по умолчанию. Поэтому любые пользовательские модули должны быть скомпилированы для версии Java, которая используется сервером/клиентом. Эту версию можно найти в системных требованиях (требования сервера, требования клиента).