cours:mit_2018_2019:soa4iotlab
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
cours:mit_2018_2019:soa4iotlab [2019/01/29 06:00] – [SOA for IoT and WS-SOAP] tigli | cours:mit_2018_2019:soa4iotlab [2019/02/05 06:57] (Version actuelle) – tigli | ||
---|---|---|---|
Ligne 20: | Ligne 20: | ||
[[https:// | [[https:// | ||
- | |||
Curl is mainly used to send/ | Curl is mainly used to send/ | ||
Ligne 26: | Ligne 25: | ||
Lot of WS-REST API are available on the web. Big compagnies provide some Cloud of Services using this kind of access. For example the IBM Cloud provides [[https:// | Lot of WS-REST API are available on the web. Big compagnies provide some Cloud of Services using this kind of access. For example the IBM Cloud provides [[https:// | ||
- | **Exercice**: | + | Look at a "text to speech" |
+ | |||
+ | **Exercice**: | ||
**Question**: | **Question**: | ||
Ligne 53: | Ligne 54: | ||
{{: | {{: | ||
- | |||
- | |||
** Rest server : ** | ** Rest server : ** | ||
Ligne 62: | Ligne 61: | ||
**Exercice**: | **Exercice**: | ||
To create a WS-Rest in Node-Red : | To create a WS-Rest in Node-Red : | ||
- | - Use the http node from the input block to handle request from outside. | + | - Use the http node from the input block to handle request from outside |
- Drag the http response node from the output block. This will output the payload of the msg as response of API. | - Drag the http response node from the output block. This will output the payload of the msg as response of API. | ||
- | - Now go to your browser and hit http:// | + | |
+ | | ||
+ | |||
+ | **Advanced Exercice**: write your own REST server that gets an MQTT topic and provides it through a web service API. // You can extend a past lab MQTT example to do that//. | ||
- | **Advanced Exercice**: write your own REST server that getw an MQTT topic and provide it through a web service API. // you can extend a past lab MQTT example to do that//. | ||
Ligne 74: | Ligne 75: | ||
== Get started with WS-SOAP == | == Get started with WS-SOAP == | ||
- | == WS-SOAP | + | http:// |
+ | The main initial difference between WS-REST and WS-SOAP was the explicit description of the WS-SOAP API in a WSDL format (Web Service Descrition Language). | ||
+ | ** Question**: Thanks to < | ||
+ | Look at the different part of this XML file to understand the corresponding SOAP API. | ||
+ | Test this WS-SOAP with < | ||
- | * Exercice: write your own client programm of a SOAP web service and node-red-contrib-soap package [[https:// | + | == WS-SOAP in Node-Red == |
- | * Use GetGeoIP [[http:// | + | |
- | | + | **Soap client** |
- | ** Soap server Usage ** | + | **Exercice:** Create a WS-Soap Client to test your own WS-Soap server : < |
- | This package provides a node that can be used to start a Node-RED flow. The node is called soap server and listens on a configurable TCP port on the host on which Node-RED run. It is important that the port number be supplied as there is no default assumed. The listener is listening for an incoming SOAP/HTTP request. The WSDL that describes the SOAP server can be retrieved through an HTTP GET request using the /soap?wsdl URL and query parameters. For example: | + | To do that in node-red you must install two packages |
- | The endpoint for the SOAP request is found at the same address | + | * node-red-contrib-soap |
+ | * node-red-contrib-soapserver | ||
- | < | + | use the manage palette to install them |
- | http://< | + | |
- | </ | + | |
- | The interface supplies one operation called startFlow which takes a single parameter as input of type string. When a client invokes that operation, a new Node-RED flow is initiated. The passed in data appears in the msg.payload property of the Node-RED message. | + | [[cours: |
- | A Node-RED flow that starts with a soap server node should also conclude with a corresponding soap server output node. This is used to pass back a value to the original SOAP client. The string found in msg.payload is returned as the response value. | ||
- | |||
- | * Exercice: write your own soap server that get an MQTT topic and provide it on web service client | ||
- | |||
- | == IoT Use Cases with WS-SOAP | ||
==== SOA for IoT and CoAP ==== | ==== SOA for IoT and CoAP ==== | ||
{{ : | {{ : | ||
Ligne 123: | Ligne 121: | ||
[[https:// | [[https:// | ||
- | == IoT Use Cases with CoAP == | ||
- | ==== Advanced SOA - Service Registry ==== | ||
- | |||
- | == Get started with UDDI == | ||
- | |||
- | == UDDI in Node-Red == | ||
- | |||
- | == IoT Use Cases with UDDI == | ||
- | ==== Advanced SOA for IoT - Service Discovery Protocol ==== | ||
- | |||
- | == Get started with SSDP == | ||
- | |||
- | == SSDP in Node-Red == | ||
- | |||
- | == IoT Use Cases with SSDP == | ||
- | ==== SOA for IoT : Web Service for Device (UPnP and DPWS) ==== | ||
- | |||
- | == Get started with UPnP == | ||
- | |||
- | == UPnP in Node-Red == | ||
- | |||
- | == IoT Use Cases with UPnP == | ||
- | |||
- | == Get started with DPWS== | ||
- | |||
- | == DPWS in Node-Red == | ||
- | |||
- | == IoT Use Cases with DPWs == | ||
- | |||
- | |||
- | ====== Synthesis ======= | ||
- | |||
- | Middleware for IoT are deployed on heterogeneous IoT Plateform to provide a more homogeneous way to develop some distributed software applications. Most of the time, we distinguish four levels : IoT Devices, Edge, Fog, and Cloud. | ||
- | |||
- | **Exercice :** Find in the technical and scientific litterature some definitions and recent surveys on these concepts for IoT. Write a paper (Max 2 pages long) on this 4-levels point of view of distributed system that can then emerged like CyberPhysical Systems. | ||
- | For example you can argue : | ||
- | * why differents patterns of communication are used in this 4-levels System, | ||
- | * what are the famoust technologies for each levels | ||
- | |||
- | < | ||
- | This paper will be sent **To tigli@unice.fr** with ** Subject : <Your Name> IoT Paper 2019 ** as to attached files : one .zip with sources (tex/docx) and one pdf, no later than 10th of February | ||
- | </ | ||
- | |||
cours/mit_2018_2019/soa4iotlab.1548741640.txt.gz · Dernière modification : 2019/01/29 06:00 de tigli