SlideShare a Scribd company logo
1
ARM IoT Tutorial
Zach Shelby
April 30th, 2014
CoAP: The Web of Things Protocol
2
Introduction
3
3
M2M Internet of Things
Little Data
Big Data
Web
Evolution from M2M to IoT
The Web
Things
Services
4
CoAP:The Web of Things Protocol
§  Open IETF Standard
§  Compact 4-byte Header
§  UDP, SMS, (TCP) Support
§  Strong DTLS Security
§  Asynchronous Subscription
§  Built-in Discovery
5
From Web Applications to IoT Nodes
Web Application
1000s of bytes
HTTP
IP
TLS / TCP
DTLS / UDP
Binary Web Object
CoAP
IP
100s bytes
10s of bytes
IoT Backhaul
IoT Node Network
Proxy Router
Web Object
DTLS / UDP
Binary Web Object
CoAP
6LoWPAN
6
CoAP is One Key IoT Standard
Local
Network
Protocols,
Security
Application
ZigBee IP ZigBee NANBT Smart IP
TLS Based SecurityWeb: CoAP & HTTP
Lightweight M2M Application Objects ZigBee Web Objects
Mature New
ZigBee IP 1.X
CoRE
6LoWPAN
7
The Web and REST
8
The Web Architecture
9
Web Naming
10
URL Resolution
11
An HTTP Request
See RFC2616 - Hypertext Transfer Protocol v1.1
12
Web Paradigms
13
A REST Request
14
CoAP: Constrained Application Protocol
15
CoAP Design Requirements
16
The CoAP Architecture
17
What CoAP is (and is not)
§  Sure, CoAP is
§  A very efficient RESTful protocol
§  Ideal for constrained devices and networks
§  Specialized for M2M applications
§  Easy to proxy to/from HTTP
§  But hey, CoAP is not
§  A general replacement for HTTP
§  HTTP compression
§  Restricted to isolated “automation” networks
18
CoAP Features
§  Embedded web transfer protocol (coap://)
§  Asynchronous transaction model
§  UDP binding with reliability and multicast support
§  GET, POST, PUT, DELETE methods
§  URI support
§  Small, simple 4 byte header
§  DTLS based PSK, RPK and Certificate security
§  Subset of MIME types and HTTP response codes
§  Built-in discovery
§  Optional observation and block transfer
19
Transaction Model
§  Transport
§  CoAP currently defines:
§  UDP binding with DTLS security
§  CoAP over SMS or TCP possible
§  Base Messaging
§  Simple message exchange between endpoints
§  Confirmable or Non-Confirmable Message answered by Acknowledgement or Reset Message
§  REST Semantics
§  REST Request/Response piggybacked on CoAP Messages
§  Method, Response Code and Options (URI, content-type etc.)
20
Message Header (4 bytes)
21
Option Format
22
Base Specification Options
23
Request Example
Piggy-backed Response	

Confirmable Request
24
Dealing with Packet Loss
25
Separate Response
26
Bits and bytes...
27
Caching
§  CoAP includes a simple caching model
§  Cacheability determined by response code
§  An option number mask determines if it is a cache key
§  Freshness model
§  Max-Age option indicates cache lifetime
§  Validation model
§  Validity checked using the Etag Option
§  A proxy often supports caching
§  Usually on behalf of a constrained node,
§  a sleeping node,
§  or to reduce network load
28
Proxying and caching
29
Observation
See draft-ietf-core-observe
30
Block transfer
See draft-ietf-core-block
31
Getting Started with CoAP
§  There are many open source implementations available
§  mbed includes CoAP support
§  Java CoAP Library Californium
§  C CoAP Library Erbium
§  libCoAP C Library
§  jCoAP Java Library
§  OpenCoAP C Library
§  TinyOS and Contiki include CoAP support
§  CoAP is already part of many commercial products/systems
§  ARM Sensinode NanoService
§  RTX 4100 WiFi Module
§  Firefox has a CoAP plugin called Copper
§  Wireshark has CoAP dissector support
§  Implement CoAP yourself, it is not that hard!
32
Discovery & Semantics
33
What is Web Linking?
§  Links have been around a long time
§  Web Linking formalizes links with defined relations, typed links
§  HTML and Atom have allow links
§  RFC5988 defines a framework for Web Linking
§  Combines and expands the Atom and HTML relation types
§  Defines a unified typed link concept
§  A link can be serialized in any number of formats
§  RFC5988 revives the HTTP Link Header and defines its format
§  Atom and HTML are equivalent serializations
34
What is Web Linking?
§  A type link consists of:
§  Context URI – What the link is from
§  Relation Type – Indicates the semantics of the link
§  Target URI – What the link is too
§  Attributes – Key value pairs describing the link or its target
§  Relations include e.g. copyright, author, chapter, service etc.
§  Attributes include e.g. language, media type, title etc.
§  Example in HTTP Link Header format:
Link: <http://example.com/TheBook/chapter2>; rel="previous"; title="previous
chapter" !
35
Resource Discovery
§  Service Discovery
§  What services are available in the first place?
§  Goal of finding the IP address, port and protocol
§  Usually performed by e.g. DNS-SD when DNS is available
§  Resource Discovery
§  What are the Web resources I am interested in?
§  Goal of finding URIs
§  Performed using Web Linking or some REST interface
§  CoRE Link Format is designed to enable resource discovery
36
CoRE Link Format
§  RFC6690 is aimed at Resource Discovery for M2M
§  Defines a link serialization suitable for M2M
§  Defines a well-known resource where links are stored
§  Enables query string parameters for filtered GETs
§  Can be used with unicast or multicast (CoAP)
§  Resource Discovery with RFC6690
§  Discovering the links hosted by CoAP (or HTTP) servers
§  GET /.well-known/core?optional_query_string
§  Returns a link-header style format
§  URL, relation, type, interface, content-type etc.
37
CoRE Resource Discovery
!
!
!
!
!
!
!
</dev/bat>;obs;rt="ipso:dev-bat";ct="0",!
</dev/mdl>;rt="ipso:dev-mdl";ct="0",!
</dev/mfg>;rt="ipso:dev-mfg";ct="0”,!
</pwr/0/rel>;obs;rt="ipso:pwr-rel";ct="0",!
</pwr/0/w>;obs;rt="ipso:pwr-w";ct="0",!
</sen/temp>;obs;rt="ucum:Cel";ct="0"!
38
Resource Directory
§  CoRE Link Format only defines
§  The link format
§  Peer-to-peer discovery
§  A directory approach is also useful
§  Supports sleeping nodes
§  No multicast traffic, longer battery life
§  Remote lookup, hierarchical and federated distribution
§  The CoRE Link Format can be used to build Resource Directories
§  Nodes POST (register) their link-format to an RD
§  Nodes PUT (refresh) to the RD periodically
§  Nodes may DELETE (remove) their RD entry
§  Nodes may GET (lookup) the RD or resource of other nodes
See draft-ietf-core-resource-directory
39
Resource Directory
See draft-ietf-core-resource-directory
40
How to get Semantic?
§  So how to use CoRE in real applications?
§  Resources need meaningful naming (rt=)
§  A resource needs an interface (if=)
§  See [draft-vial-core-link-format-wadl] on using WADL for this
§  A payload needs a format (EXI, JSON etc.)
§  Deployment or industry specific today
§  oBIX, SensorML, EEML, sMAP etc.
§  SenML is a promising format [draft-jennings-senml]
§  CBOR is a standard for binary JSON [RFC7049]
§  Promising data semantics for use with CoAP
§  OMA Lightweight M2M [http://j.mp/lwm2m]
§  IPSO Objects [http://www.ipso-alliance.org/smart-object-committee-charter]
§  CoRE Interfaces [draft-ietf-core-interfaces]
41
CoRE Link Format Semantics
§  RFC6690 = Simple semantics for machines
§  IANA registry for rt= and if= parameters
§  Resource Type (rt=)
§  What is this resource and what is it for?
§  e.g. Device Model could be rt=“ipso.dev.mdl”
§  Interface Description (if=)
§  How do I access this resource?
§  e.g. Sensor resource accessible with GET if=“core.s”
§  Content Type (ct=)
§  What is the data format of the resource payloads?
§  e.g. text/plain (0)
42
CoRE Interfaces
§  CoRE Interfaces [draft-ietf-core-interfaces]
§  A paradigm for REST profiles made up of function sets
§  Simple interface types
!

More Related Content

PDF
Overview of SCTP (Stream Control Transmission Protocol)
Peter R. Egli
 
PPTX
CoAP - Web Protocol for IoT
Aniruddha Chakrabarti
 
PPT
The constrained application protocol (coap) part 2
Hamdamboy (함담보이)
 
PPT
The constrained application protocol (CoAP)
Hamdamboy (함담보이)
 
PPTX
message communication protocols in IoT
FabMinds
 
PPTX
CoAP Talk
Basuke Suzuki
 
PPTX
Introduction to CoAP
EMQ
 
Overview of SCTP (Stream Control Transmission Protocol)
Peter R. Egli
 
CoAP - Web Protocol for IoT
Aniruddha Chakrabarti
 
The constrained application protocol (coap) part 2
Hamdamboy (함담보이)
 
The constrained application protocol (CoAP)
Hamdamboy (함담보이)
 
message communication protocols in IoT
FabMinds
 
CoAP Talk
Basuke Suzuki
 
Introduction to CoAP
EMQ
 

What's hot (20)

PPTX
web connectivity in IoT
FabMinds
 
PPT
Internet control message protocol
asimnawaz54
 
PPTX
Business models for business processes on IoT
FabMinds
 
PPTX
TCP/IP and UDP protocols
Dawood Faheem Abbasi
 
PPT
IoT Coap
Rajanikanth U
 
PDF
TCP - Transmission Control Protocol
Peter R. Egli
 
PPTX
web communication protocols in IoT
FabMinds
 
PPTX
Presentation on TCP/IP Model
Abir Junayed
 
PPTX
Dhcp
Chinmoy Jena
 
PPTX
Internet Protocol version 6
Rekha Yadav
 
PPTX
Presentation on arp protocol
Mohd. Ahmad Siddiqi
 
PPTX
OPEN SHORTEST PATH FIRST (OSPF)
Ann Joseph
 
PPT
DHCP
Kashif Latif
 
PPTX
Arp and rarp
Nita Dalla
 
PDF
Troubleshooting BGP
APNIC
 
PPTX
Application layer protocols
FabMinds
 
PPTX
TCP/IP
aibad ahmed
 
PPTX
HTTP/2 Changes Everything
Lori MacVittie
 
web connectivity in IoT
FabMinds
 
Internet control message protocol
asimnawaz54
 
Business models for business processes on IoT
FabMinds
 
TCP/IP and UDP protocols
Dawood Faheem Abbasi
 
IoT Coap
Rajanikanth U
 
TCP - Transmission Control Protocol
Peter R. Egli
 
web communication protocols in IoT
FabMinds
 
Presentation on TCP/IP Model
Abir Junayed
 
Internet Protocol version 6
Rekha Yadav
 
Presentation on arp protocol
Mohd. Ahmad Siddiqi
 
OPEN SHORTEST PATH FIRST (OSPF)
Ann Joseph
 
Arp and rarp
Nita Dalla
 
Troubleshooting BGP
APNIC
 
Application layer protocols
FabMinds
 
TCP/IP
aibad ahmed
 
HTTP/2 Changes Everything
Lori MacVittie
 
Ad

Similar to ARM CoAP Tutorial (20)

PPTX
IP based standards for IoT
Michael Koster
 
PPTX
Ipso smart object seminar
Michael Koster
 
PDF
Design patternsforiot
Michael Koster
 
PPTX
Embedded to connected
Michael Koster
 
PPTX
Web of Things to the edge
Michael Koster
 
PPTX
CoAP Course for m2m and Internet of Things scenarios
carlosralli
 
PDF
Ipso eclipse-summary
Michael Koster
 
PPTX
Ietf91 ad hoc-coap-lwm2m-ipso
Michael Koster
 
PPTX
Ietf91 ad hoc-coap-lwm2m-ipso
Michael Koster
 
PPTX
Hypermedia for Machine APIs
Michael Koster
 
PPTX
CoAP for the Web of Things: From Tiny Resource-constrained Devices to the W...
Matthias Kovatsch
 
PDF
Ietf91 ad hoc-coap-lwm2m-ipso
Michael Koster
 
PDF
Hands on with CoAP and Californium
Julien Vermillard
 
PDF
Key Open Standards for inter-operable IoT systems
Pratul Sharma
 
PDF
Web Services for the Internet of Things
Markku Laine
 
PPTX
iot-application-layer-protocols-v1-200125143512.pptx
ssuser0b643d
 
PDF
Application Layer Protocols for the IoT
Damien Magoni
 
PDF
REST APIs for an Internet of Things
Michael Koster
 
PDF
REST APIs for the Internet of Things
Michael Koster
 
PDF
API Design and WebSocket
Frank Greco
 
IP based standards for IoT
Michael Koster
 
Ipso smart object seminar
Michael Koster
 
Design patternsforiot
Michael Koster
 
Embedded to connected
Michael Koster
 
Web of Things to the edge
Michael Koster
 
CoAP Course for m2m and Internet of Things scenarios
carlosralli
 
Ipso eclipse-summary
Michael Koster
 
Ietf91 ad hoc-coap-lwm2m-ipso
Michael Koster
 
Ietf91 ad hoc-coap-lwm2m-ipso
Michael Koster
 
Hypermedia for Machine APIs
Michael Koster
 
CoAP for the Web of Things: From Tiny Resource-constrained Devices to the W...
Matthias Kovatsch
 
Ietf91 ad hoc-coap-lwm2m-ipso
Michael Koster
 
Hands on with CoAP and Californium
Julien Vermillard
 
Key Open Standards for inter-operable IoT systems
Pratul Sharma
 
Web Services for the Internet of Things
Markku Laine
 
iot-application-layer-protocols-v1-200125143512.pptx
ssuser0b643d
 
Application Layer Protocols for the IoT
Damien Magoni
 
REST APIs for an Internet of Things
Michael Koster
 
REST APIs for the Internet of Things
Michael Koster
 
API Design and WebSocket
Frank Greco
 
Ad

Recently uploaded (20)

PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Doc9.....................................
SofiaCollazos
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Doc9.....................................
SofiaCollazos
 

ARM CoAP Tutorial

  • 1. 1 ARM IoT Tutorial Zach Shelby April 30th, 2014 CoAP: The Web of Things Protocol
  • 3. 3 3 M2M Internet of Things Little Data Big Data Web Evolution from M2M to IoT The Web Things Services
  • 4. 4 CoAP:The Web of Things Protocol §  Open IETF Standard §  Compact 4-byte Header §  UDP, SMS, (TCP) Support §  Strong DTLS Security §  Asynchronous Subscription §  Built-in Discovery
  • 5. 5 From Web Applications to IoT Nodes Web Application 1000s of bytes HTTP IP TLS / TCP DTLS / UDP Binary Web Object CoAP IP 100s bytes 10s of bytes IoT Backhaul IoT Node Network Proxy Router Web Object DTLS / UDP Binary Web Object CoAP 6LoWPAN
  • 6. 6 CoAP is One Key IoT Standard Local Network Protocols, Security Application ZigBee IP ZigBee NANBT Smart IP TLS Based SecurityWeb: CoAP & HTTP Lightweight M2M Application Objects ZigBee Web Objects Mature New ZigBee IP 1.X CoRE 6LoWPAN
  • 11. 11 An HTTP Request See RFC2616 - Hypertext Transfer Protocol v1.1
  • 17. 17 What CoAP is (and is not) §  Sure, CoAP is §  A very efficient RESTful protocol §  Ideal for constrained devices and networks §  Specialized for M2M applications §  Easy to proxy to/from HTTP §  But hey, CoAP is not §  A general replacement for HTTP §  HTTP compression §  Restricted to isolated “automation” networks
  • 18. 18 CoAP Features §  Embedded web transfer protocol (coap://) §  Asynchronous transaction model §  UDP binding with reliability and multicast support §  GET, POST, PUT, DELETE methods §  URI support §  Small, simple 4 byte header §  DTLS based PSK, RPK and Certificate security §  Subset of MIME types and HTTP response codes §  Built-in discovery §  Optional observation and block transfer
  • 19. 19 Transaction Model §  Transport §  CoAP currently defines: §  UDP binding with DTLS security §  CoAP over SMS or TCP possible §  Base Messaging §  Simple message exchange between endpoints §  Confirmable or Non-Confirmable Message answered by Acknowledgement or Reset Message §  REST Semantics §  REST Request/Response piggybacked on CoAP Messages §  Method, Response Code and Options (URI, content-type etc.)
  • 27. 27 Caching §  CoAP includes a simple caching model §  Cacheability determined by response code §  An option number mask determines if it is a cache key §  Freshness model §  Max-Age option indicates cache lifetime §  Validation model §  Validity checked using the Etag Option §  A proxy often supports caching §  Usually on behalf of a constrained node, §  a sleeping node, §  or to reduce network load
  • 31. 31 Getting Started with CoAP §  There are many open source implementations available §  mbed includes CoAP support §  Java CoAP Library Californium §  C CoAP Library Erbium §  libCoAP C Library §  jCoAP Java Library §  OpenCoAP C Library §  TinyOS and Contiki include CoAP support §  CoAP is already part of many commercial products/systems §  ARM Sensinode NanoService §  RTX 4100 WiFi Module §  Firefox has a CoAP plugin called Copper §  Wireshark has CoAP dissector support §  Implement CoAP yourself, it is not that hard!
  • 33. 33 What is Web Linking? §  Links have been around a long time §  Web Linking formalizes links with defined relations, typed links §  HTML and Atom have allow links §  RFC5988 defines a framework for Web Linking §  Combines and expands the Atom and HTML relation types §  Defines a unified typed link concept §  A link can be serialized in any number of formats §  RFC5988 revives the HTTP Link Header and defines its format §  Atom and HTML are equivalent serializations
  • 34. 34 What is Web Linking? §  A type link consists of: §  Context URI – What the link is from §  Relation Type – Indicates the semantics of the link §  Target URI – What the link is too §  Attributes – Key value pairs describing the link or its target §  Relations include e.g. copyright, author, chapter, service etc. §  Attributes include e.g. language, media type, title etc. §  Example in HTTP Link Header format: Link: <http://example.com/TheBook/chapter2>; rel="previous"; title="previous chapter" !
  • 35. 35 Resource Discovery §  Service Discovery §  What services are available in the first place? §  Goal of finding the IP address, port and protocol §  Usually performed by e.g. DNS-SD when DNS is available §  Resource Discovery §  What are the Web resources I am interested in? §  Goal of finding URIs §  Performed using Web Linking or some REST interface §  CoRE Link Format is designed to enable resource discovery
  • 36. 36 CoRE Link Format §  RFC6690 is aimed at Resource Discovery for M2M §  Defines a link serialization suitable for M2M §  Defines a well-known resource where links are stored §  Enables query string parameters for filtered GETs §  Can be used with unicast or multicast (CoAP) §  Resource Discovery with RFC6690 §  Discovering the links hosted by CoAP (or HTTP) servers §  GET /.well-known/core?optional_query_string §  Returns a link-header style format §  URL, relation, type, interface, content-type etc.
  • 38. 38 Resource Directory §  CoRE Link Format only defines §  The link format §  Peer-to-peer discovery §  A directory approach is also useful §  Supports sleeping nodes §  No multicast traffic, longer battery life §  Remote lookup, hierarchical and federated distribution §  The CoRE Link Format can be used to build Resource Directories §  Nodes POST (register) their link-format to an RD §  Nodes PUT (refresh) to the RD periodically §  Nodes may DELETE (remove) their RD entry §  Nodes may GET (lookup) the RD or resource of other nodes See draft-ietf-core-resource-directory
  • 40. 40 How to get Semantic? §  So how to use CoRE in real applications? §  Resources need meaningful naming (rt=) §  A resource needs an interface (if=) §  See [draft-vial-core-link-format-wadl] on using WADL for this §  A payload needs a format (EXI, JSON etc.) §  Deployment or industry specific today §  oBIX, SensorML, EEML, sMAP etc. §  SenML is a promising format [draft-jennings-senml] §  CBOR is a standard for binary JSON [RFC7049] §  Promising data semantics for use with CoAP §  OMA Lightweight M2M [http://j.mp/lwm2m] §  IPSO Objects [http://www.ipso-alliance.org/smart-object-committee-charter] §  CoRE Interfaces [draft-ietf-core-interfaces]
  • 41. 41 CoRE Link Format Semantics §  RFC6690 = Simple semantics for machines §  IANA registry for rt= and if= parameters §  Resource Type (rt=) §  What is this resource and what is it for? §  e.g. Device Model could be rt=“ipso.dev.mdl” §  Interface Description (if=) §  How do I access this resource? §  e.g. Sensor resource accessible with GET if=“core.s” §  Content Type (ct=) §  What is the data format of the resource payloads? §  e.g. text/plain (0)
  • 42. 42 CoRE Interfaces §  CoRE Interfaces [draft-ietf-core-interfaces] §  A paradigm for REST profiles made up of function sets §  Simple interface types !

Editor's Notes

  • #16: Explain the core idea of the REST paradigm and how that differs from RPC realized with e.g. SOAP. The role of WSDL and WADL in the description of web-service interfaces is also important. See Book Sections 5.3.4 and 5.4.1 for more information on web-services and 6LoWPAN.