Things HTTP API compared with Java client

Things HTTP API

Criteria Description
Programming language Almost any programming language, e.g. Java, JavaScript, NodeJS, .NET, Python, C/C++
Connection paradigm Connectionless protocol with lower permanent resource allocation on sporadic transactions
Channel security HTTPS - HTTP over Transport Layer Security
Message exchange pattern blocking request - response
Authentication mechanism ✔ User authentication using: HTTP BASIC Authentication, Identity Context based on Bosch IoT Permissions, JSON Web Token (JWT) issued by the Bosch IoT Permissions service, Bosch-ID or Google see Authenticate as a user
✔ Technical client authentication using cryptographic signature see Authenticate as a technical client
Equivalent available in open source Eclipse Ditto Based on Eclipse Ditto, but additional resource here (e.g. Solution)

Ditto client

Criteria Description
Programming language Java
Connection paradigm Connection-oriented with an always open and persistent connection with only one-time handshake overhead for lowest latency and highest throughput
Channel security WSS - WebSocket over Transport Layer Security
Message exchange pattern non-blocking
request - asynchronous response
Authentication mechanism ✔ User authentication using: HTTP BASIC Authentication
✔ Technical client authentication using OAuth2 JWAT-authentication
see ditto-client instantiation
Equivalent available in open source Eclipse Ditto Source by Eclipse Ditto

Things client - deprecated

Criteria Description
Programming language Java
Connection paradigm Connection-oriented with an always open and persistent connection with only one-time handshake overhead for lowest latency and highest throughput
Channel security WSS - WebSocket over Transport Layer Security
Message exchange pattern non-blocking
request - asynchronous response
Authentication mechanism ✔ User authentication using: HTTP BASIC Authentication
✔ Technical client authentication using cryptographic challenge-response mechanism
see things-client instantiation
Equivalent available in open source Eclipse Ditto ditto-client is the open source equivalent
Imprint Legal info Privacy statement