Architecture for IoT applications.
Architecture that’s built to heal.
If you are not aware of the software architecture then go through this tutorial Software architecture. In this tutorial, we are gone through software architecture, not the hardware architecture & electronic device connectivity.
What is IOT?
Before going into the what is IOT let me tell one story that we all know? The story of blind men & elephant originated in the Indian subcontinent. It is a story of a group of blind men (or men in the dark) who touch an elephant to learn what it is like. Each one feels a different part, but only one part, such as the side or the tusk. They then compare notes and learn that they are in complete disagreement. The same thing with IOT we did.
The internet of things (IoT) is the internetworking of physical devices, vehicles (also referred to as “connected devices” and “smart devices”), buildings and other items — embedded with electronics, software, sensors, actuators, and network connectivity that enable these objects to collect and exchange data.
If you overlook the definition, then we say there is nothing new it is just the stack of technologies which you already familiar. So someone says it is sensor programming, embedded programming, big data, machine learning, map reduce, etc. And one seeing man come and say this is NOT (this is the elephant).
The term “The Internet of Things” was coined by Kevin Ashton in a presentation to Proctor & Gamble in 1999. Ashton is a co-founder of MIT’s Auto-ID Lab. He pioneered RFID use in supply-chain management.
Now you are aware of what is IOT & software architecture. Then let us combine both things.
How we define IOT application architecture?
For defining architecture I will not go into the electronic & hardware part, I will keep you at the software stack and How we will need to arrange the software technologies as part of our dream IOT product.
This is just the blocks I arranged. Let us discuss in brief. We will explain from bottom to top.
- The bottom & core part of IOT application is the sensors and electronic devices that are able to connect to things & grab the data from it.
2. The sensor collects the data but that we need to convert it into understandable format & connect those sensor devices using some protocol that we need to configure here in layer two and also filter data i.e put some threshold for your data for taking a smart decision.
3. Network connectivity, connect your device with wireless connectivity or internet wired connection. This connectivity is changed based on context & domain.
4. We can say this layer as a security layer or application abstraction layer or data abstraction where we can apply security to our product. This layer position should be changeable based on the domain & How we want to apply abstraction to our application.
5. At this stage, we will persist our logic, use this data for taking a smart decision or for reporting purpose. This is the important layer, where our actual product & business logic comes into the picture.
6. This layer where we can say its presentation layer or decision was taken layer. Based on the requirement we can display reports or applying machine learning or some custom logic and takes a smart decision and send a signal back to the sensors.
7. This is where our God exists. For whom we are designing this whole product. The user interacts with this layer. This is the UI layer.
This is the brief description about we can arrange the blocks to design our IOT product.
IOT is simply connectivity of application, device and data.
For the more technical way, we can understand the same architecture.
There are number IOT device vendors & service provider every one has there own SDK & different protocols also there is a number of ways to connect a device to a network.
For more technical, I have designed simple IOT architecture using the Java stack. Here What we are following architecture for our use case.
On the left side is our sensors or core part of our IOT application.
Define architecture is art. There is a number perspective which is needed to be considered while designing architecture. This is a simple & general perspective to design IOT application architecture. Internet of Things for Architects.