Web of Things- Integrating real world into the web
21st century, an era where technology is part of our daily lives. IoT and Internet plays a major role in connecting technology with our daily lives. In the next decade or 15 years, everything will be connected to the web through IoT devices. It's a really tough process to connect all these things at one place. Also to provide smooth access and security is a tough job. This is where Web of Things ( WoT ) comes into the picture. [https://webofthings.org]
By definition, Web of Things refers software architectural styles and programming patterns that allows real life objects to be a part of world wide web. It can be said that IoT integrated with web is known as WoT. Web is one of the general applications of internet. Similarly an application layer is provided by WoT which simplifies the way we deal with IoT devices. It uses the existing web in a better and faster way for the betterment of humanity.
It’s examples include smart home devices (like refrigerators and washing machines), Fitbit, smartphones, IP cameras, smart bulbs, smart locks for your car or house, home security systems, baby monitors and smart pet feeders.
Let's take an example of smartphones to understand it deeply. Suppose you have a smartphone in your hand that is connected to the internet. All your home appliances are connected to this. Here comes the security issues. Your phone might be protected with android or apple security but what about the other appliances that are connected. They are not fully secured as they use different protocols or possibly different apps to operate. Also your family members phones are connected to this IoT devices. So to avoid security breaches, we use WoT. WoT also provides smooth access to all devices as it uses single protocols to operate all devices at a single time. It enables interoperability across IoT platforms.
Don’t get confused between IoT and WoT. There are several differences between them. Let’s take a look at them.
This was all about the applications and differences of IoT and WoT. Now let's discuss about its working. To understand the working, we have to understand the architecture and the two pillars of WoT.
Architecture and framework of WoT
The architecture consists of four layers:
- Access- HTML, JSON, Websockets, Proxy, Gateway, URI/URL etc.
- Find- search engines, link header, web thing model, linked data etc.
- Share- social networks, authentication, TLS, DTLS, Social web etc.
- Compose- systems integration, IFTTT, automated UI generation etc.
This is a core layer of WoT as it turns everything into a web thing. This web thing can be accessed using HTTP. HTTP and a web thing combined is a kind of a digital network that helps to interact and give commands to any smart devices around the globe.
Technically it's quite difficult to understand this. Let's take a real life example, suppose you are sitting somewhere in India and you want to know the temperature or humidity around the device installed in New York. So you will have a command to access to this smart device. Let's say “http://mydevice123/temp ”. So whenever you run the command in terminal using cURL, a tool for communicating with HTTP APIs
curl -X GET -H "Accept: application/json”http://mydevice123/temp
you will get access to the real time data of the temperature and humidity around the device located in New York.
Accessing things with HTTPs and WebSocket API is great but it doesn’t help application to understand which thing/device to access and what information to offer. This is where the second layer starts working. This enables searching things through search engine and enabling machine to machine interaction. In order to use all WoT devices, it must be accessible to not only HTTPs client but it should also be findable and self regulated, this layer ensures that thing is accessible to all required personnels.
It's like ordering a pizza online. If you order a pizza and you get the tacos delivered, it's not good right. So this layer ensures that you get what you ask for.
Internet of things will only be helpful if there is a way to share data securely across the devices. Sharing layer specifies the most efficient and secure way to share data that is being generated by the Web Thing. Sharing layers uses protocols like TLS, the protocol that makes transaction on web and techniques like delegated web authentication mechanism like OAuth to share data.
Its like virtual scripting like you just have to make the algorithm flowchart and program will be written automatically by the computer. This makes work more easier for non- technical people who have the ideas but don’t have enough programming skills to implement them.
Two pillars of the Web of Things
Source : https://paragnachaliya.in
As we can see in the picture the two most important pillars of Web of Things are
- HTTPs Universe Resource Locator
- Web browsers, multi tiered architecture application servers.
HTTPs Universe Resource Locator
Hyperlinks plays a major role in the Web of Things. The name itself includes web that means to connect it we need protocols like HTTPs. HTTP transfers data between the web server and the browser in the hypertext format, on the other hand HTTPs transfers data in the encrypted format. Thus, HTTPs prevents our data from hackers from modifying and reading the data during the transfer between the web server and the browser. Even if the hackers managed to get the data, they can’t use it as the data is encrypted.
HTTPS uses the Secure Socket Layer (SSL) or Transport Layer Security (TLS) protocols to establish an encrypted link between the web server and the browser. TLS is the updated version of SSL.
Web browsers, Multi-tiered Architecture, Application servers
Everyone uses web browsers, we all know how it works and what are its uses. There is no point in discussing web browsers. So moving toward the Multi tiered architecture application servers.
Source : https://paragnachaliya.in
As we can see there are three tiers- one for client, second for application servers, database server.
First tier is for client which includes User Interface and Connectivity. UI is something the companies care about the most because no matter however good functionalities your app or site have but if it doesn’t look good, no one is going to use it. UI matters the most as it creates the first impression on the user. In WoT we need to make proper users we live in the 21st century and everyone wants things which works and looks good.
Talking about connectivity, it is the main part when it comes to IoT. I mean it's all internet we got to have a better connectivity among the devices to provide users a better and seamless experience.
Second tier stands for application servers. WoT works on Java-Based application servers. This is the logic part of the WoT which includes business logic and presentation logic. This tier makes logical decisions and evaluations and performs calculations and coordinates the application, process commands. It also moves and processes between the two tiers. We can see the Java-Based application servers in the picture shown.
Source : https://paragnachaliya.in
Third tier includes database servers. Here all the data is saved and the data access layer provides a platform(API) to the client that helps them by showing the possible methods of managing the data independently.
Here we are done with the architecture part.
W3C- World Wide Web Consortium
Whenever it comes to technology there are always some standards which needs to be maintained in order to maintain the legitimacy of things. World wide web also has such an organisation for maintaining the standards of Web and WoT. We call it the World Wide Web Consortium.
Founded and led by Tim Berners-Lee, the consortium is the main international organisation for World Wide Web. This organisation is made up of members who work for the development of standards of the World Wide Web. The W3C is also engaged in the sector of education, developing software and it serves as an open community to the people around the globe.
Standards and Specifications of WoT
Ever wondered how these things are integrated to the web? Let’s see how?
There are different integration patterns- Direct Connectivity, Gateway Based Connectivity, Cloud Based Connectivity.
Direct connectivity is a simple web API that clients send request to. When Web Thing cannot find a respective API, Gateway- based connectivity is used. Cloud based Connectivity is similar to Gateway-based Connectivity.
Web Things (WT) Requirements.
This part introduces protocols to make things easy for the WoT clients so that they can interact with each other and serve purpose efficiently without facing any hurdles. If we can satisfy these requirements, we can turn a web server into a web thing.
Level wise requirements are as below
Level 0 - MUST
- A Web Thing MUST be a HTTP/1.1 server
- A Web Thing MUST have an access via an HTTP URL
- A Web Thing MUST support PUT, GET, POST, and DELETE HTTP verbs
- A Web Thing MUST implement HTTPs status code 200, 400, 500
- A Web Thing MUST support JSON as base representation
- A Web Thing MUST support GET on its source URL
Level 1 - SHOULD
- Secure connections (HTTPS) SHOULD be used by a Web Thing
- WebSocket Protocol SHOULD be used by a Web Thing
- A Web Thing SHOULD support the WoT model
- Basic human-readable documentation SHOULD be provided by a Web Thing
Level 2 - MAY
- The HTTP OPTIONS verb for each of its resources MAY be supported by a Web Thing
- A Web Thing MAY provide additional representation tools
- A Web Thing MAY offer a HTML-based UI
- A Web Thing MAY provide accurate information about the intended meaning of individual parts of the model
Web Things Model
Web things model MUST implement JSON payloads and REST API to allow clients to discover and use Extended Web properties. This model consists of links, values and resources. This model should fulfill all the requirements stated above, then only it becomes capable of sharing information and data with other web things. Rather than making new standards, Web Thing uses existing Web Standards.
Concluding this we can say that WoT to IoT is like a driver to a car. We cannot drive the future of IoT without WoT. IoT Technology is expanding and it always will. The only thing we are supposed to do is to make it better and better for everyone with WoT making it secure and seamless.