The ‘Internet of things’ needs to be service-oriented

No breaking news in this post, but we were just informed about the fact that one of our articles was in the special selection of Service Oriented Computing of IEEE Computing now as well as Featured on ZDNet.

We never really talked about this work because it largely discusses WS-* services (DPWS in particular) which are also known as “evil-services” by the RESTifarians 😀

We actually began our IoT journey with DPWS, were quite frustrated with it, but it evolved a lot since then, became an official OASIS standard, and thanks to the crew of WS4D became a lot less buggy and a little less heavy.

While we still stick to a more pure Web-approach because of its simplicity and ease of integration with the existing and fast growing world of the mashable Web, in this paper we were trying to federate them both and to explain how they could be leveraged to create an composable Intranet of physical services in an company.

The paper discusses the differences between REST and DPWS, points at several features of DPWS that are addressed in limited ways by REST (and vice-versa) such as service discovery: you can discover REST resources by getting their URI (HATEOAS but how do you get that URI in the first place, how do you resolve it?) and proposes the use of small local units, called LDUs (Local Discovery Units) to enable the discovery of both DPWS and REST services.

It also discusses how to improve the “searchability” of services for developers so that they can find the service they look for in the real-world context they want. For this it uses the LDUs (e.g., services inherit from the location of LDUs) as well external services such as Wikipedia, Google, or domain-specific portals, to extend the available semantics with extracted keywords, without overloading the devices (e.g., sensors) themselves with heavy semantics (btw, sorry but we actually were forced to patent the process :-D)

Finally, I’d like to point out that DPWS papers are welcomed to WoT 2011, we actually had some at WoT 2010! We are especially interested in report of experiences on how can DPWS and REST coahbit, because after all, nothing prevents you from using DPWS-enabled devices if you need some of its features but design nicely interoperable RESTful APIs on top.

You may also like...

  • Interesting post and article, too, Dominique.
    As you know, in our past research work, in exploring WoT with SOA standards (see, http://geoweb.crs4.it/doku.php?id=Hyperpipes), we didn’t adopt DPWS as we were a bit frustrated too, regarding its status…but know…there are interesting news, and, why not, new things to investigate… 🙂

  • Absolutely agree. If there were ever a killer use-case for service-oriented APIs, IoT is it.

    I believe that a product that is on the IoT should expose services and operations that make sense for that device’s domain. At Axeda we call these domain-specific-services, and allow them to be implemented on our platform as customized web services (REST style, but we can so SOAP as well for those who like it) that mean something to the consumer *of that product*.

    so things like

    GET /toaster/history/count
    GET /myvehicle/VIN1G1FP22PXS2100001/speed
    PUT /myvehicle/components/navsystem/route

    are possible.

    http://developer.axeda.com/learn/by-type/tutorial/building-helloworld-webservice-scripto

  • Thanks for your comment Joseph. It’s so nice to see companies going the webofthings.com way!

    You guys should consider attending WoT 2011, we traditionally feature one or two company presentations, so that researchers and businesses of the Web of Things community get connected, creating both business and research opportunities!

    Do contact us if you are interested!

  • InfoQ, the enterprise software development blog just posted an entry on the paper as well, see it here: http://www.infoq.com/news/2011/01/internet-of-services

  • Pingback: This Week in #REST – Volume 32 (Jan 8 2011 – Jan 28 2011) « This week in REST()