2 Replies Latest reply on Oct 3, 2016 3:37 PM by ttielebein RSS
    skumar-3 Newbie

    What is the difference between classical service composition and IoT service Composition?

    @

      • Re: What is the difference between classical service composition and IoT service Composition?
        ttielebein Collaborator

        What exactly do you mean by this? Can you elaborate?

        • Re: What is the difference between classical service composition and IoT service Composition?
          ttielebein Collaborator

          I answered this via email, but I am posted it here now for visibility:

           

          I think the difference is not so much technical as conceptual. The services are roughly the same; they are essentially just Javascript code which is utilized in building complicated websites/web applications. With regular web services, there is ordinarily one server and many sources making requests of and connecting to that one server. ThingWorx is more like an application which has a server built-in, if that makes any sense. It is like a server and IDE hybrid, with a JVM and integrated database existing right alongside the server component which listens for communication from properly configured remote devices. The Edge components are entirely separate and consist of little microservers which retrieve data from the device and transmit it to the ThingWorx server. So an IoT application like ThingWorx is really a complicated network in and of itself, and then it is used to build even more intricate networks with many, many devices.

           

          The services within ThingWorx may just perform local functions like updating local properties in response to scheduled events, for instance, or, they may perform REST or socket operations to remote sources to obtain information or distribute updates. These remote devices can be anything from computers or raspberry pi’s to tractors or vending machines. So you can sit down and write a service on the ThingWorx server which can then be passed to any connected remote device in the network. You can trigger a service on the Platform in a mashup, and wind up with a website view that has data from devices on the other side of the planet, all in an instant. IoT web services are basically web services which are able to easily traverse network connections to many, many devices at once.

           

          So really, the difference is not in the services themselves, but in the framework upon which those services are run. An IoT application like ThingWorx has the network framework already in place to handle vast amounts of requests with relatively the same amount of work that it would take to ping a regular web server for some kind of JSON information. You can build one REST request, and quickly ensure all of the remote devices connected to ThingWorx respond to this same request with particularly formatted data which is easily processed and displayed graphically.