Outils pour utilisateurs

Outils du site


cours:mit_2018_2019:soa4iotlab

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
cours:mit_2018_2019:soa4iotlab [2019/01/29 06:02] – [SOA for IoT and WS-SOAP] tiglicours:mit_2018_2019:soa4iotlab [2019/02/04 16:24] – [SOA for IoT and WS-SOAP] tigli
Ligne 20: Ligne 20:
  
 [[https://curl.haxx.se/|curl]] is used in command lines or scripts to transfer data.  [[https://curl.haxx.se/|curl]] is used in command lines or scripts to transfer data. 
- 
  
 Curl is mainly used to send/receive some HTTP messages with command lines. That's the reason why curl is well adapted for first [[https://www.baeldung.com/curl-rest|tests of Rest services]]. Curl is mainly used to send/receive some HTTP messages with command lines. That's the reason why curl is well adapted for first [[https://www.baeldung.com/curl-rest|tests of Rest services]].
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://cloud.ibm.com/catalog?search=REST|its own list of services]].  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://cloud.ibm.com/catalog?search=REST|its own list of services]]. 
  
-**Exercice**: After Signin, test services like TexttoSpeech with curl. +Look at a "text to speech" demonstration [[https://text-to-speech-demo.ng.bluemix.net/|here]] 
 + 
 +**Exercice**: After Sign up, test services like TexttoSpeech with curl. Find more details in a step by step tutorial [[https://console.bluemix.net/docs/services/text-to-speech/getting-started.html#gettingStarted|here]].
  
 **Question**: Look at IBM Watson IoT Plateform. What does it provide ? **Question**: Look at IBM Watson IoT Plateform. What does it provide ?
Ligne 53: Ligne 54:
  
 {{:cours:mit_2018_2019:node-red_solution_assembly_export.rtf|}} {{:cours:mit_2018_2019:node-red_solution_assembly_export.rtf|}}
- 
- 
  
 ** 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 on the following URL: /date
   - 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://localhost:1880/users to use your WS-REST API. +  - Add the current date as a response to the REST GET request on /date 
 +  - Now go to your browser and hit http://localhost:1880/date to use your WS-REST API.  
 + 
 +**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 73: Ligne 74:
  
 == Get started with WS-SOAP == == Get started with WS-SOAP ==
 +
 +http://www.dataaccess.com/ provide a list of WS-SOAP. 
 +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 <code> http://www.dataaccess.com/webservicesserver/NumberConversion.wso?WSDL </code> URI, display this description  for  NumberConversion WS-SOAP.
 +Look at the different part of this XML file to understand the corresponding SOAP API.
 +Test this WS-SOAP with <code>http://www.dataaccess.com/webservicesserver/NumberConversion.wso?op=NumberToWords</code>
  
 == WS-SOAP in Node-Red == == WS-SOAP in Node-Red ==
  
 +**Soap client**
  
-  * Exercice: write your own client programm of a SOAP web service and node-red-contrib-soap package [[https://flows.nodered.org/node/node-red-contrib-soap|SOAP web service]].  +**Exercice:** Create a WS-Soap Client to test your own WS-Soap server <code>http://www.dataaccess.com/webservicesserver/NumberConversion.wso?op=NumberToWords</code>
-    * Use GetGeoIP [[http://www.webservicex.net/geoipservice.asmx|SOAP Web Services]] to easily look up countries by IP addresses+
  
-  * Exercice: test your own soap server with // npm install node-red-contrib-soapserver// (see [[https://www.npmjs.com/package/node-red-contrib-soapserver| ]]).+To do that in node-red you must install two packages 
  
-** Soap server Usage **+  * node-red-contrib-soap 
 +  * node-red-contrib-soapserver 
 + 
 +use the manage palette to install them  
 + 
 +[[cours:mit_2018_2019:node_red_soap_client_correction|correction]] 
 + 
 +** Soap server ** 
 + 
 +** Exercice**: Create your own soap server with // npm install node-red-contrib-soapserver// (see [[https://www.npmjs.com/package/node-red-contrib-soapserver| ]]).
  
 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 <code> /soap?wsdl </code> URL and query parameters. For example:  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 <code> /soap?wsdl </code> URL and query parameters. For example: 
Ligne 100: Ligne 117:
 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. 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  request  
  
-== IoT Use Cases with WS-SOAP  ==+**Soap client** 
 + 
 +**Exercice:** write your own client programm of a SOAP web service and node-red-contrib-soap package [[https://flows.nodered.org/node/node-red-contrib-soap|SOAP web service]]. Create a WS-Soap Client to test your own WS-Soap server. 
 + 
 +** Advanced Exercice**: write your own soap server that get an MQTT topic and provide it on web service client  request  
 ==== SOA for IoT and CoAP ==== ==== SOA for IoT and CoAP ====
 {{ :cours:mit_2018_2019:osi-coap.png?300|}} {{ :cours:mit_2018_2019:osi-coap.png?300|}}
cours/mit_2018_2019/soa4iotlab.txt · Dernière modification : 2019/02/05 06:57 de tigli