Difference between revisions of "Tech pages/IoT HttpOverXmpp"

From XMPP WIKI
Jump to navigation Jump to search
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
= Layout=
= Layout =
  [[Tech pages/IoT_systems|Main]] Main page
 
  [[Tech pages/IoT_XepsExplained|IoT_XepsExplained]] Description of xeps and their interaction
{{XmppIoTLayout}}
  [[Tech pages/IoT_Examples|IoT_Examples]] Mashup some examples from different industries, help finding new ones
  [[Tech pages/IoT_Support|IoT_Support]] Here we describe who support this and related work that can help you.
  [[Tech pages/IoT_Interoperability|IoT_Interoperability]] How we will keep everything truly interoperable
  [[Tech pages/IoT_XMPP_Process|IoT_XMPP_Process]] How is the process of the xep's and interoperability interfaces managed
  [[Tech pages/IoT_ConstrainedDevices|IoT_ConstrainedDevices]] Going in to the world of restricted devices we need special care.
  [[Tech pages/IoT_LocalEnvironment|IoT_LocalEnvironment]] When dealing with home automation or a local network we need serverless or a local server configuration
  [[Tech pages/IoT_HttpOverXmpp|IoT_HttpOverXmpp]] This extension creates a view of webservices through the XMPP network


== Introduction ==
== Introduction ==
Line 15: Line 8:


with the usage of the [http://xmpp.org/extensions/xep-0332.html | XEP-0332 HTTP over XMPP] extension it is possible to provide a protected pathway to the device.
with the usage of the [http://xmpp.org/extensions/xep-0332.html | XEP-0332 HTTP over XMPP] extension it is possible to provide a protected pathway to the device.


The XMPP protocol does not have the same problems as HTTP in these regards. It's a peer-to-peer like protocol naturally allowing communication with applications and devices behind firewalls. It also includes advanced user authentication and authorization which makes it easier to make sure unauthorized access to private content is prevented.
The XMPP protocol does not have the same problems as HTTP in these regards. It's a peer-to-peer like protocol naturally allowing communication with applications and devices behind firewalls. It also includes advanced user authentication and authorization which makes it easier to make sure unauthorized access to private content is prevented.
Line 20: Line 14:
Furthermore, with the advent of semantic web technologies and its use in web 3.0 and Internet of Things applications, such applications move even more rapidly into the private spheres of the users, where security and privacy is of paramount importance, it is necessary to use more secure transport protocols than HTTP over TCP.
Furthermore, with the advent of semantic web technologies and its use in web 3.0 and Internet of Things applications, such applications move even more rapidly into the private spheres of the users, where security and privacy is of paramount importance, it is necessary to use more secure transport protocols than HTTP over TCP.


There are examples of other protocols transported over XMPP [http://xmpp.org/extensions/xep-0072.html | XEP-0072 SOAP Over XMPP]


There are many different types of HTTP-based communication that could be transported
There are many different types of HTTP-based communication that could be transported
Line 31: Line 24:
* Streamed multi-media content in UPnP and DLNA networks.
* Streamed multi-media content in UPnP and DLNA networks.


But instead of trying to figure out all possible things transportable over HTTP and make them transportable over XMPP, this document ignores the type of content transported, and instead focuses on encoding and decoding the original HTTP requests and responses, building an HTTP tunnel over an existing XMPP connection.  
But instead of looking at all possible HTTP transports and make them transportable over XMPP like [http://xmpp.org/extensions/xep-0072.html | XEP-0072 SOAP Over XMPP], this document ignores the type of content, and instead changes the encoding and decoding the original HTTP requests and responses, building an HTTP-tunnel over an existing XMPP connection.  


It would enable existing applications to work seamlessly over XMPP if browsers and web services supported this extension (like displaying your home control application on your phone when you are at work), without the need to update the myriad of existing applications. It would also permit federated SPARQL queries in personal networks with the added benefit of being able to control who can talk to who (or what can talk to what) through established friendship relationships.
This making it possible to move existing HTTP applications and move them into new settings without having to change them or opening ports in firewalls. An example would be to access your thermostat (that has a built in web page at your home) from your office without the need for a cloud service in-between.


This making it possible to move existing applications (web applications, web services, semantic applications, etc. hosted on the web) and move them into new settings (for instance hosting it at home) and be able to reuse them without having to change them or opening ports in firewalls. An example would be to access your thermostat (that has a built in web page) from your office.


== Added URI ==
== Added URI ==
For this to work well there is a need for a new httpx:// [http://xmpp.org/extensions/xep-0332.html#httpxscheme HTTPX uri scheme] which is easy for browsers to adopt


== How it works ==
== Examples ==

Latest revision as of 17:49, 1 November 2013

Layout

Links to important documents relating to Internet of Things and XMPP:

  • Main: Main page.
  • XEPs Explained: Description of xeps and their interaction. If you are new to XMPP & Internet of Things, you should read this.
  • IoT Examples: Mashup some examples from different industries, help finding new ones.
  • IoT Support: Here we describe who support this and related work that can help you.
  • IoT Interoperability: How we will keep everything truly interoperable.
  • IoT Security: This is one of the strongest benefit of using XMPP.
  • IoT XMPP Process: How is the process of the xep's and interoperability interfaces managed.
  • IoT Constrained Devices: Going in to the world of restricted devices we need special care.
  • IoT Local Environment: When dealing with home automation or a local network we need serverless or a local server configuration.
  • IoT Http over XMPP: This extension extends the web to include devices in XMPP networks.

Introduction

Setting up IoT devices as ordinary HTTP accessible servers, both over IPv4 and IPv6 exposes those devices to the whole internet unless you take special care of the traffic in a router or firewall.

with the usage of the | XEP-0332 HTTP over XMPP extension it is possible to provide a protected pathway to the device.


The XMPP protocol does not have the same problems as HTTP in these regards. It's a peer-to-peer like protocol naturally allowing communication with applications and devices behind firewalls. It also includes advanced user authentication and authorization which makes it easier to make sure unauthorized access to private content is prevented.

Furthermore, with the advent of semantic web technologies and its use in web 3.0 and Internet of Things applications, such applications move even more rapidly into the private spheres of the users, where security and privacy is of paramount importance, it is necessary to use more secure transport protocols than HTTP over TCP.


There are many different types of HTTP-based communication that could be transported

  • Web Content like pages, images, files, etc.
  • Web Forms.
  • Web Services (SOAP, REST, etc.)
  • Semantic Web Resources (RDF, Turtle, etc.)
  • Federated SPARQL queries (SQL-type query language for the semantic web, or web 3.0)
  • Streamed multi-media content in UPnP and DLNA networks.

But instead of looking at all possible HTTP transports and make them transportable over XMPP like | XEP-0072 SOAP Over XMPP, this document ignores the type of content, and instead changes the encoding and decoding the original HTTP requests and responses, building an HTTP-tunnel over an existing XMPP connection.

This making it possible to move existing HTTP applications and move them into new settings without having to change them or opening ports in firewalls. An example would be to access your thermostat (that has a built in web page at your home) from your office without the need for a cloud service in-between.


Added URI

For this to work well there is a need for a new httpx:// HTTPX uri scheme which is easy for browsers to adopt

Examples