Companion to Deliverable D3.1 Survey on DPWS
Total Page:16
File Type:pdf, Size:1020Kb
Ref. Ares(2011)1133498 - 24/10/2011 ICT IP Project Companion to Deliverable D3.1 Survey on DPWS http://www.choreos.eu template v8 Project Number : FP7-257178 Project Title : CHOReOS Large Scale Choreographies for the Future Internet Deliverable Number : Companion to D3.1 Title of Deliverable : Survey on DPWS Nature of Deliverable : Report Dissemination level : Public Licence : Creative Commons Attribution 3.0 License Version : 1.0 Contractual Delivery Date : 30 September 2011 Contributing WP : WP3 Editor(s) : Sandrine Beauche (INRIA) Author(s) : Sandrine Beauche (INRIA) Abstract Device Profile for Web Service (DPWS) is a specification to enable Web Services on resource constrained devices. In particular, tackling the mobility of these devices, this specification allows discovering services dynamically and accessing them. So, DPWS seems to be successor to UPnP, relying on a subset of the Web Services standards and SOAP messages over UDP in order to deal with resource constraints. The founders of this specification are Microsoft as well as the actors of the SIRENA European ITEA project, who aimed at leveraging SOA architectures to seamlessly interconnect embedded devices in the domain of industrial applications, telecommunications and automation. This project was a first promising contribution. As a follow-up to this, these actors are working on (1) extensions to add more features, like reliability and security, (2) new implementations to deal with a higher diversity of devices, from tiny devices to servers, and (3) tools to facilitate incorporating DPWS in other new technologies, and to improve device management in Windows or e-Management in factories. In this document, we survey the DPWS specifications, the existing implementations, and the related projects that apply or improve DPWS. Keyword list DPWS, Web Services, Devices, Implementation, Discovery. CHOReOS i FP7-257178 Document History Version Changes Author(s) 1.0 Creation Sandrine Beauche CHOReOS ii FP7-257178 Glossary, acronyms & abbreviations Item Description CA Consortium Agreement DL Deliverable Leader DOW Description of Work IAC Industrial Advisory Committee MST Management Support Team OSS Open Source Software PL Project Leader PMC Project Management Committee PO Project Officer PTC Project Technical Committee SL Scientific Leader WP Work Package WPL Work Package Leader CHOReOS iii FP7-257178 Table of Contents 1. Introduction ................................................................................................................... 1 2. Context and State of the Art ......................................................................................... 2 3. DPWS Overview ............................................................................................................. 9 3.1. Description format ........................................................................................................ 9 3.2. Subset of Web Services standards ............................................................................ 10 3.2.1. SOAP and SOAP-over-UDP ........................................................................... 12 3.2.2. WSDL .............................................................................................................. 14 3.2.3. WS-Addressing ............................................................................................... 17 3.2.4. WS-Discovery ................................................................................................. 18 3.2.5. WS-Transfert & WS-MetadataExchange ........................................................ 22 3.2.6. WS-Eventing ................................................................................................... 25 3.2.7. MTOM ............................................................................................................. 29 3.2.8. WS-Security .................................................................................................... 29 3.2.9. WS-Policy ....................................................................................................... 33 3.3. Specification of a set of implementation constraints .................................................. 33 3.4. DPWS versions .......................................................................................................... 34 4. Prototypes & implementations ................................................................................... 36 4.1. General principles ...................................................................................................... 37 4.2. .NET frameworks & libraries ...................................................................................... 41 4.3. µDPWS ...................................................................................................................... 49 4.4. JMEDS ....................................................................................................................... 55 4.5. WS4D-Axis2 ............................................................................................................... 63 4.6. WS4D-gSOAP ........................................................................................................... 67 4.7. DPWS-Core ............................................................................................................... 73 4.8. DPWS4J .................................................................................................................... 80 4.9. Comparative summary ............................................................................................... 85 4.9.1. DPWS Features .............................................................................................. 85 4.9.2. Development facilities ..................................................................................... 87 4.9.3. Other comparing criterias ................................................................................ 89 4.9.4. Conclusion ...................................................................................................... 90 5. Projects and research works based on DPWS ......................................................... 91 5.1. Windows Rally ........................................................................................................... 91 5.2. DPWS & OSGi ........................................................................................................... 95 5.3. DPWS ecosystems .................................................................................................. 101 5.4. DPWS & industrial e-Management .......................................................................... 104 5.5. DPWS and Reliability ............................................................................................... 110 6. Conclusion ................................................................................................................. 111 Bibliography ..................................................................................................................... 112 CHOReOS iv FP7-257178 1. Introduction The aims of this document are the presentation and the overview of Device Profile for Web Service (DPWS), a specification to enable Web Services on resource constrained devices. It aims also to explain how to use DPWS and how it can be involved in projects. In section 2, we present the context and issues addressed by DPWS and a state of the art of the solutions provided to solve them. In section 3, we give an overview of the DPWS specification. In section 4, we provide a panorama of the existing implementations to build DPWS servers and clients. For each of them we will explain who to use them, their advantages and disadvantages. We also compare them according to their DPWS feature, development facilities and other characteristics that are important when choosing an implementation for a project. In section 5, we show projects that are based on the DPWS technology, and we conclude in section 6. CHOReOS 1 FP7-257178 2. Context and State of the Art The last years, we have witnessed two major trends in the world of embedded devices. First, hardware is becoming smaller, cheaper, and more powerful. Many everyday objects already incorporate embedded microcontrollers and will increasingly include wireless interfaces. Typical microcontrollers incorporate a microcomputer, storage, software and interface sensor. The combination of these elements and the greater Internet makes it possible for the internet to evolve from a network of interconnected computers to a network of interconnected objects, that will have communication and computation capabilities, which they will use to connect, interact and cooperate with their surrounding environment. In addition, people and machines will monitor and control such objects from a distance, via the Internet. This new Internet is called Internet of things [1]. Second, the software industry is moving towards service-oriented integration technologies. Especially in the business software domain, complex applications based on the composition and collaboration among diverse services have been appearing. The most popular implementation of SOA architecture is the Web Services. Devices may be abstracted by web services to enable their interoperability in the Internet of Things context and create real-world services. In the future Internet, real-world devices will be able to offer their functionality via SOAP-based web Services, enabling other components to interact with them dynamically.