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édentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
cours:mit_2018_2019:soa4iotlab [2019/01/29 07:02]
tigli [SOA for IoT and WS-SOAP]
cours:mit_2018_2019:soa4iotlab [2019/02/04 17:24]
tigli [SOA for IoT and WS-SOAP]
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 07:57 par tigli