Cómo usar el API Java para conectar y enviar datos al Digital Broker?

Cómo usar el API Java para conectar y enviar datos al Digital Broker?

Introducción

Hemos desarrollado 3 clientes Java para comunicarnos con la plataforma: MQTTClient, que utiliza el protocolo MQTT; RestClient, que utiliza la arquitectura REST; y BinaryRepositoryClient, que utiliza el RestClient y está pensado para usarlo para intercambio de archivos binarios.

Ésta es una biblioteca ligera que no requiere ninguna dependencia de Spring y es útil para aplicaciones ligeras en dispositivos edge.

Añadiendo la dependencia Maven

Para usar esta API, tienes que añadir el siguiente repositorio al pom.xml del proyecto, de esta manera:

<repositories> <repository> <id>onesait platform releases</id> <url>https://nexus.onesaitplatform.com/nexus/content/repositories/releases/</url> </repository> <repository> <id>central Maven</id> <url>http://central.maven.org/maven2/</url> </repository> ... </repositories>

Y después añadir la siguiente dependencia:

<dependency> <groupId>com.minsait.onesait.platform</groupId> <artifactId>onesaitplatform-java-client</artifactId> <version>${onesaitplatform.client.version}</version> </dependency>

donde tienes que cambiar ${onesaitplatform.client.version}. Por ejemplo, ahora la última versión es 2.0.2-RELEASE con tu versión de cliente de la API de Java (ver versiones aquí: https://nexus.onesaitplatform.com/nexus/content/repositories/releases/com/minsait/onesait/platform/onesaitplatform-java-client/)

Clientes basados en el dispositivo

MQTTClient y RestClient encajan en esta categoría, ya que requieren una definición de dispositivo (Device) y un Token para hacer la conexión.

  • Device: ésta es la definición de dispositivo en la plataforma, por ejemplo TicketingApp

  • Token: el token asociado a esta definición de dispositivo, por ejemplo e7ef0742d09d4de5a3687f0cfdf7f626

  • Ontology: la ontología utilizada debe estar asociada al dispositivo, por ejemplo Ticket

Un ejemplo sería:

También tendrás que especificar la URL del servidor:



Client REST



Instancia el REST de la siguiente manera:



Ahora puede realizar varias operaciones como en esta prueba:







Cliente MQTT



Para el cliente MQTT, puedes usar una conexión TCP o SSL (MQTT/MQTTS).

Si quieres usar MQTTS, puedes especificar la configuración MQTTSecureConfiguration con la ruta keyStore (.jks) y su contraseña, o utilizar el jks por defecto.



Alternativamente, puedes usar MQTT sobre TCP:





Ahora conecta el cliente para hacer las operaciones:





 

Suscripciones a MQTT

Consulta este tutorial: Cómo suscribirse al Digital Broker usando el API Cliente Java.

Clientes no basados en el dispositivo



BinaryRepositoryClient encaja en esta categoría.



Binary Repository Client



Este cliente opera con el Cliente Rest, y te permite hacer CRUD sobre archivos binarios en la plataforma.

Para instanciar el cliente, debes especificar el usuario, la contraseña y la url.



Ahora puedes añadir, eliminar, obtener o actualizar un archivo binario.





NOTA: Te recomendamos usar GridFS como tipo de almacenamiento para los archivos binarios, pero se puede usar el almacenamiento en el Directorio.



Ejemplo:

Para el proyecto Prosumers, hemos creado un ejemplo para insertar datos en una ontología de series temporales: Example_App.zip