You are reading a single comment by @allObjects and its replies. Click here to read the full conversation.
  • Ic. So you are in the space of getting easy to use UI IDE with a given - but extendable - catalog of components and services for setting up implementions going. A clear focus. The UI components and solutions - even pulled from thingStudio - have though to communicated with MQTT and have to support CORS according to your graphic.

    The ThingStudio components for communication with (customer) MQTT and DATA realm have to be able to satisfy push and pull needs... and the push has to happen on arrival of new data from devices and storing in the cloud.

    Did you take a look at Bayeux Specification - and language bindings?

    Bayeux is a bit dated, but did quite recently a very good, fast, and secure job for me, easy to understand, easy to implment in the apps - jsavascript client-side / java server-side - and uses just solid plain http(s) technology requiring NIO on the (web/application) server side, though. Even though the spec is somewhat dated and NIO is not new as well, some of the top middle ware provider only just 'recently' implemented NIO support accross their middle ware http(s) protocol connected servers. I other words, the things may communicate through what ever channel and means to get the data stored in the cloud using MQTT, but the UI - which is more or less a reporting ((single page?) Web) app - does not need the use of MQTT versatility: two plain http(s) connections and available data access in NIO server do the pub-sub job just fine and secure as any other secure Web app - and yielded for me in 2010 subsecond response times from client to client, on small server, 'low' bandwidth, connected hardware without any tech stretch (yetty and Java, no Web sockets, just https).

    To not go for Java, node.js as server environment may work as well, don't though not know how NIO pattern works there, because I cannot see any kinds of goSleep() nor * on(event,wakeup())* for that purpose (push()). node.js' option of multiple cores does not help, nor OS level multi-threading. - can handle such constructs and is in addition not Google Chrome V8 restricted - a huge factor in enterprise wide decision making. Note, NIO is not to be confused with threads from node.js thread-pool to move on serving other requests while waiting for, for example, data returned from a database, and then resuming this thread and completing the request.


Avatar for allObjects @allObjects started