Enabling Embedded Systems to access Internet Resources Enabling
Enabling Embedded Systems to access Internet Resources
Enabling Embedded Systems to access Internet Resources Embedded Internet Book www. Embedded. Internet. org 2
Agenda Enabling Embedded Systems to access Internet Resources: RATIONALE Web Services: INTRODUCTION HTTP Protocol: REVIEW HTTP Protocol Bindings Testing a Web Service Application Case: Using Web Services for DNS Resolution Implementing and Testing the Web Service Implementing and Testing the Embedded Application Running DEMOS 3
Enabling Embedded Systems to access Internet Resources RATIONALE Embedded Systems have limited resources compared with PCs. Some applications may require large memory space and high processing power. CPU-Intensive Processes Complex Algorithms CPU Memory Embedded Database Applications 4
Enabling Embedded Systems to access Internet Resources ALTERNATIVE SOLUTION Adding a TCP/IP Stack, Embedded Systems will have internetconnectivity which allows them access Internet Resources. 5
Enabling Embedded Systems to access Internet Resources ALTERNATIVE SOLUTION In this scenario, complex tasks could be resolved remotely in external servers. Complex Tasks 6
Enabling Embedded Systems to access Internet Resources ALTERNATIVE SOLUTION In other words, Embedded Systems could greatly benefit from the “external intelligence” provided by Desktop servers connected to the Internet, without the need of additional resources. INTERNET 7
Enabling Embedded Systems to access Internet Resources IMPLEMENTATION A Remote Procedure could be called in order to resolve complex tasks, such as complex algorithms, CPU-intensive calculations, or retrieve records from a Data. Base. Ok. But how to implement this? Using Web Services ! 8
Web Services Introduction 9
Enabling Embedded Systems to access Internet Resources WEB SERVICES - Introduction What are Web Services? They are a Standardized way to call a remote procedure over the Internet. They allow a distributing computing schema to work independently from the technology, language, and device. Servers expose a piece of functionality through a Web Interface. Clients consume this functionality from its application, using standard Internet protocols (HTTP, SOAP, XML). HTTP is used as the transport protocol, to move messages between Clients and Servers - for secure transmissions, HTTPS can be used - (Advantage: most firewalls allow HTTP traffic). These messages formats are defined according to the SOAP protocol. The SOAP messages are encoded using XML. 10
Enabling Embedded Systems to access Internet Resources WEB SERVICES – Typical Scenario 11
Enabling Embedded Systems to access Internet Resources WEB SERVICES – Standards 12
Enabling Embedded Systems to access Internet Resources WEB SERVICES – Standards (Cont. ) 13
Enabling Embedded Systems to access Internet Resources WEB SERVICES – Transport Protocol: HTTP 14
HTTP Protocol: Review 15
Enabling Embedded Systems to access Internet Resources HTTP session example 16
Enabling Embedded Systems to access Internet Resources HTTP Messages Format 17
Enabling Embedded Systems to access Internet Resources HTTP Messages Examples Request: Response: 18
HTTP Protocol Bindings 19
Enabling Embedded Systems to access Internet Resources WEB SERVICES – Protocol Bindings ØSOAP (versions 1. 1 and 1. 2) ØHTTP POST ØHTTP GET (simplest - recommended for Embedded systems) 20
Enabling Embedded Systems to access Internet Resources WEB SERVICES – SOAP 1. 1 Binding 21
Enabling Embedded Systems to access Internet Resources WEB SERVICES – SOAP 1. 2 Binding 22
Enabling Embedded Systems to access Internet Resources WEB SERVICES – POST Binding 23
Enabling Embedded Systems to access Internet Resources WEB SERVICES – GET Binding 24
Enabling Embedded Systems to access Internet Resources WEB SERVICES – Binding Configurations ( web. config ) 25
Testing a Web Service 26
Enabling Embedded Systems to access Internet Resources WEB SERVICES – Testing the Web Service (1/3) 27
Enabling Embedded Systems to access Internet Resources WEB SERVICES – Testing the Web Service (2/3) 28
Enabling Embedded Systems to access Internet Resources WEB SERVICES – Testing the Web Service (3/3) 29
Enabling Embedded Systems to access Internet Resources WEB SERVICES – Consuming a Web Service from the Browser ØUsing the Web Service through the HTTP URL syntax http: //www. embeddedinternet. org/Book/Web. Services/Math. Service. asmx/Add? a=1&b=2 30
Application Case: Using Web Services for DNS Resolution 31
Enabling Embedded Systems to access Internet Resources Implementing the “Dns. Service” Web Service 32
Enabling Embedded Systems to access Internet Resources Testing the “Dns. Service” Web Service www. embeddedinternet. org/Book/Web. Services/Dns. Service. asmx/Dns. Resolve? dn=www. intramarket. com. ar 33
Enabling Embedded Systems to access Internet Resources Consuming the “Dns. Service” Web Service from an Embedded System Create a TCP socket and open a connection to Port 80 ( IP address of the server where the Web Service is published) Once the connection is established, create and send the Web Service Request When the Response is received, process the XML and extract the result Close the connection and the TCPsocket 34
Enabling Embedded Systems to access Internet Resources Testing the Embedded Application - Web Service Request 35
Enabling Embedded Systems to access Internet Resources Testing the Embedded Application - Web Service Response 36
Running DEMOS 37
38
- Slides: 38