Werner, we have a Java-based API in ThingWorx that supports HTTP/S (JSON and XML formats), XMPP, and websockets (binary and JSON formats) and can run on most modern app servers/OSes as well as a small embedded app (including ARM devices such as the Raspberry
Pi). The goal was to scale the same platform small (embedded) and large (cloud cluster).
We also have implementations of a large portion of the API in LUA and .Net, since some device integration requires either an ultra small footprint or a native API integration (eg a windows API).
This API plus the meta model abstracts the underlying device/system protocol, so we expose the same API for devices connected via MQTT, OPC, Modbus, Zigbee/ZWave, etc as well as those connected via intermediate device clouds such as Cosm, iDigi, Eurotech
Anywhere, IOBridge, and on and on.
Of course the platform can be used to bridge any of those as well. The metamodel overlays a consistent, discoverable semantic layer (naming, typing, data formats, introspection) that makes this all possible.
Interestingly, the same API is used for non-device integration (enterprise apps, databases, nosql stores, web services, OData and RSS/Atom feeds, etc.
Matteo,
Thanks for the reply. So it's all _javascript_ based?
I guess it'll require broader support and help of the Paho project, but I imagine something similar based on JSRs for REST, JSON or WebSockets in pure Java could also be of interest?<347.gif>
P.s.: You are not coming to Codemotion in Rome next week by any chance? The conference has massive Git and Github mention, too, and I together with Spec Lead Anatole from JSR 354 will speak about that. Also an outlook on how UOMo Business will use the
JSR.
Cheers,
Werner
|