2
I Use This!
High Activity

News

Analyzed about 5 hours ago. based on code collected about 20 hours ago.
Posted about 6 years ago
By adding another connectivity type - HTTP - to Ditto’s connectivity, it is now (to be released in the next Ditto milestone 1.0.0-M2) possible to to publish twin events, messages, live commands and events to existing HTTP servers/endpoints. That ... [More] is especially useful for invoking existing APIs (which are most of the time HTTP based) whenever e.g. a digital twin was modified. One example on how to benefit from this new feature is to invoke a custom IFTTT (if-this-than-that) webhook via a HTTP POST request which then may trigger other IFTTT follow-up-actions (e.g. send a chat message to a Slack room). For IFTTT “webhooks” the address would be POST https://maker.ifttt.com/trigger//with/key/ and the expected JSON body: { "value1": "...", "value2": "...", "value3": "..." } In combination with payload mapping, the value1 to value3 fields requested by the IFTTT API can be extracted from the Ditto Protocol and could contain the changed value. In combination with filters for targets you can even specify to only publish e.g. twin events, where the temperature of a twin exceeded a certain threshold: { "address": "POST:/trigger//with/key/", "topics": [ "_/_/things/twin/events?filter=gt(features/temperature/value,25)" ], ... } Get creative on which HTTP APIs to trigger based on twin events. E.g. invoke a “function-as-a-service” API or invoke the Twitter API and let your digital twin tweet whenever it detects, that it is getting too warm in your office. – The Eclipse Ditto team [Less]
Posted about 6 years ago
By adding another connectivity type - HTTP - to Ditto’s connectivity, it is now (to be released in the next Ditto milestone 1.0.0-M2) possible to to publish twin events, messages, live commands and events to existing HTTP servers/endpoints. That ... [More] is especially useful for invoking existing APIs (which are most of the time HTTP based) whenever e.g. a digital twin was modified. One example on how to benefit from this new feature is to invoke a custom IFTTT (if-this-than-that) webhook via a HTTP POST request which then may trigger other IFTTT follow-up-actions (e.g. send a chat message to a Slack room). For IFTTT “webhooks” the address would be POST https://maker.ifttt.com/trigger//with/key/ and the expected JSON body: { "value1": "...", "value2": "...", "value3": "..." } In combination with payload mapping, the value1 to value3 fields requested by the IFTTT API can be extracted from the Ditto Protocol and could contain the changed value. In combination with filters for targets you can even specify to only publish e.g. twin events, where the temperature of a twin exceeded a certain threshold: { "address": "POST:/trigger//with/key/", "topics": [ "_/_/things/twin/events?filter=gt(features/temperature/properties/value,25)" ], ... } Get creative on which HTTP APIs to trigger based on twin events. E.g. invoke a “function-as-a-service” API or invoke the Twitter API and let your digital twin tweet whenever it detects, that it is getting too warm in your office. – The Eclipse Ditto team [Less]
Posted about 6 years ago
By adding another connectivity type - HTTP - to Ditto’s connectivity, it is now (to be released in the next Ditto milestone 1.0.0-M2) possible to publish twin events, messages, live commands and events to existing HTTP servers/endpoints. That is ... [More] especially useful for invoking existing APIs (which are most of the time HTTP based) whenever e.g. a digital twin was modified. One example on how to benefit from this new feature is to invoke a custom IFTTT (if-this-than-that) webhook via a HTTP POST request which then may trigger other IFTTT follow-up-actions (e.g. send a chat message to a Slack room). For IFTTT “webhooks” the address would be POST https://maker.ifttt.com/trigger//with/key/ and the expected JSON body: { "value1": "...", "value2": "...", "value3": "..." } In combination with payload mapping, the value1 to value3 fields requested by the IFTTT API can be extracted from the Ditto Protocol and could contain the changed value. In combination with filters for targets you can even specify to only publish e.g. twin events, where the temperature of a twin exceeded a certain threshold: { "address": "POST:/trigger//with/key/", "topics": [ "_/_/things/twin/events?filter=gt(features/temperature/properties/value,25)" ], ... } Get creative on which HTTP APIs to trigger based on twin events. E.g. invoke a “function-as-a-service” API or invoke the Twitter API and let your digital twin tweet whenever it detects, that it is getting too warm in your office. – The Eclipse Ditto team [Less]
Posted about 6 years ago
By adding another connectivity type - HTTP - to Ditto’s connectivity, it is now (to be released in the next Ditto milestone 1.0.0-M2) possible to to publish twin events, messages, live commands and events to existing HTTP servers/endpoints. That ... [More] is especially useful for invoking existing APIs (which are most of the time HTTP based) whenever e.g. a digital twin was modified. One example on how to benefit from this new feature is to invoke a custom IFTTT (if-this-than-that) webhook via a HTTP POST request which then may trigger other IFTTT follow-up-actions (e.g. send a chat message to a Slack room). For IFTTT “webhooks” the address would be POST https://maker.ifttt.com/trigger//with/key/ and the expected JSON body: { "value1": "...", "value2": "...", "value3": "..." } In combination with payload mapping, the value1 to value3 fields requested by the IFTTT API can be extracted from the Ditto Protocol and could contain the changed value. In combination with filters for targets you can even specify to only publish e.g. twin events, where the temperature of a twin exceeded a certain threshold: { "address": "POST:/trigger//with/key/", "topics": [ "_/_/things/twin/events?filter=gt(features/temperature/properties/value,25)" ], ... } Get creative on which HTTP APIs to trigger based on twin events. E.g. invoke a “function-as-a-service” API or invoke the Twitter API and let your digital twin tweet whenever it detects, that it is getting too warm in your office. – The Eclipse Ditto team [Less]
Posted about 6 years ago
Today the Ditto team is happy to announce the first milestone of the upcoming release 1.0.0. Have a look at the Milestone 1.0.0-M1a release notes for what changed in detail. The main changes and new features since the last release 0.9.0 are ... [More] initial contribution of Java client SDK configurable OpenID Connect authorization servers fine grained access for connections scalable event publishing typed entity IDs Artifacts The new Java artifacts have been published at the Eclipse Maven repository as well as Maven central. The Docker images have been pushed to Docker Hub: eclipse/ditto-policies eclipse/ditto-things eclipse/ditto-things-search eclipse/ditto-gateway eclipse/ditto-connectivity eclipse/ditto-concierge – The Eclipse Ditto team [Less]
Posted about 6 years ago
Today the Ditto team is happy to announce the first milestone of the upcoming release 1.0.0. Have a look at the Milestone 1.0.0-M1a release notes for what changed in detail. The main changes and new features since the last release 0.9.0 are ... [More] initial contribution of Java client SDK configurable OpenID Connect authorization servers fine grained access for connections scalable event publishing typed entity IDs Artifacts The new Java artifacts have been published at the Eclipse Maven repository as well as Maven central. The Docker images have been pushed to Docker Hub: eclipse/ditto-policies eclipse/ditto-things eclipse/ditto-things-search eclipse/ditto-gateway eclipse/ditto-connectivity eclipse/ditto-concierge – The Eclipse Ditto team [Less]
Posted over 6 years ago
Eclipse Ditto now supports all OAuth 2.0 providers which implement OpenID Connect out-of-the-box. You can find a list of certified providers at OpenID Connect - Certified OpenID Provider Servers and Services. With this post, we want to give an ... [More] example of this new feature using the open source provider ORY Hydra. Follow their installation guide for a docker based setup on your development machine. Configuration Download the self-signed certificate form the ORY Hydra server: https://localhost:9000/.well-known/openid-configuration Use the downloaded certificate for the akka-http ssl configuration. ssl-config { trustManager = { stores = [ { type = "PEM", path = "/path/to/cert/globalsign.crt" } ] } } The authentication provider must be added to the ditto-gateway configuration. ditto.gateway.authentication { oauth { openid-connect-issuers = { ory = "https://localhost:9000/" } } } The configured subject-issuer will be used to prefix the value of the “sub” claim, e.g. { "subjects": { "ory:[email protected]": { "type": "generated" } } } Authenticate Ditto API Create an OAuth client with hydra to be able to create ID Tokens. docker run --rm -it \ -e HYDRA_ADMIN_URL=https://ory-hydra-example--hydra:4445 \ --network hydraguide \ oryd/hydra:v1.0.0 \ clients create --skip-tls-verify \ --id eclipse-ditto \ --secret some-secret \ --grant-types authorization_code,refresh_token,client_credentials,implicit \ --response-types token,code,id_token \ --scope openid,offline \ --callbacks http://127.0.0.1:9010/callback Use the client to generate an ID Token. docker run --rm -it \ --network hydraguide \ -p 9010:9010 \ oryd/hydra:v1.0.0 \ token user --skip-tls-verify \ --port 9010 \ --auth-url https://localhost:9000/oauth2/auth \ --token-url https://ory-hydra-example--hydra:4444/oauth2/token \ --client-id eclipse-ditto \ --client-secret some-secret \ --scope openid After that perform the OAuth 2.0 Authorize Code Flow by opening the link, as prompted, in your browser, and follow the steps shown there. Use the generated token to authenticate Ditto API. curl -X POST \ http://localhost:8080/api/2/things \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ -d '{}' – The Eclipse Ditto team [Less]
Posted over 6 years ago
Eclipse Ditto now supports all OAuth 2.0 providers which implement OpenID Connect out-of-the-box. You can find a list of certified providers at OpenID Connect - Certified OpenID Provider Servers and Services. With this post, we want to give an ... [More] example of this new feature using the open source provider ORY Hydra. Follow their installation guide for a docker based setup on your development machine. Configuration Download the self-signed certificate form the ORY Hydra server: https://localhost:9000/.well-known/openid-configuration Use the downloaded certificate for the akka-http ssl configuration. ssl-config { trustManager = { stores = [ { type = "PEM", path = "/path/to/cert/globalsign.crt" } ] } } The authentication provider must be added to the ditto-gateway configuration. ditto.gateway.authentication { oauth { openid-connect-issuers = { ory = "https://localhost:9000/" } } } The configured subject-issuer will be used to prefix the value of the “sub” claim, e.g. { "subjects": { "ory:[email protected]": { "type": "generated" } } } Authenticate Ditto API Create an OAuth client with hydra to be able to create ID Tokens. docker run --rm -it \ -e HYDRA_ADMIN_URL=https://ory-hydra-example--hydra:4445 \ --network hydraguide \ oryd/hydra:v1.0.0 \ clients create --skip-tls-verify \ --id eclipse-ditto \ --secret some-secret \ --grant-types authorization_code,refresh_token,client_credentials,implicit \ --response-types token,code,id_token \ --scope openid,offline \ --callbacks http://127.0.0.1:9010/callback Use the client to generate an ID Token. docker run --rm -it \ --network hydraguide \ -p 9010:9010 \ oryd/hydra:v1.0.0 \ token user --skip-tls-verify \ --port 9010 \ --auth-url https://localhost:9000/oauth2/auth \ --token-url https://ory-hydra-example--hydra:4444/oauth2/token \ --client-id eclipse-ditto \ --client-secret some-secret \ --scope openid After that perform the OAuth 2.0 Authorize Code Flow by opening the link, as prompted, in your browser, and follow the steps shown there. Use the generated token to authenticate Ditto API. curl -X POST \ http://localhost:8080/api/2/things \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ -d '{}' – The Eclipse Ditto team [Less]
Posted over 6 years ago
Today the Eclipse Ditto team proudly presents its second release 0.9.0. The topics of this release in a nutshell were: Memory improvements for huge amounts (multi million) of digital twins which are held in memory Adding metrics and logging ... [More] around the connectivity feature in order to enable being able to operate connections to foreign systems/brokers via APIs Enhancing Ditto’s connectivity feature by additionally being able to connect to Apache Kafka Performance improvements of Ditto’s search functionality Stabilization of cluster bootstrapping Refactoring of how the services configurations are determined Addition of a Helm template in order to simplify Kubernetes based deployments Contributions from Microsoft in order to ease operating Eclipse Ditto on Microsoft Azure Please have a look at the 0.9.0 release notes for a more detailed information on the release. Artifacts The new Java artifacts have been published at the Eclipse Maven repository as well as Maven central. The Docker images have been pushed to Docker Hub: eclipse/ditto-policies eclipse/ditto-things eclipse/ditto-things-search eclipse/ditto-gateway eclipse/ditto-connectivity eclipse/ditto-concierge – The Eclipse Ditto team [Less]
Posted over 6 years ago
Today the Eclipse Ditto team proudly presents its second release 0.9.0. The topics of this release in a nutshell were: Memory improvements for huge amounts (multi million) of digital twins which are held in memory Adding metrics and logging ... [More] around the connectivity feature in order to enable being able to operate connections to foreign systems/brokers via APIs Enhancing Ditto’s connectivity feature by additionally being able to connect to Apache Kafka Performance improvements of Ditto’s search functionality Stabilization of cluster bootstrapping Refactoring of how the services configurations are determined Addition of a Helm template in order to simplify Kubernetes based deployments Contributions from Microsoft in order to ease operating Eclipse Ditto on Microsoft Azure Please have a look at the 0.9.0 release notes for a more detailed information on the release. Artifacts The new Java artifacts have been published at the Eclipse Maven repository as well as Maven central. The Docker images have been pushed to Docker Hub: eclipse/ditto-policies eclipse/ditto-things eclipse/ditto-things-search eclipse/ditto-gateway eclipse/ditto-connectivity eclipse/ditto-concierge – The Eclipse Ditto team [Less]