Imagine a world where inventory management goes beyond mundane tasks and becomes a catalyst for growth and efficiency. The Industrial Internet of Things (IIoT) has emerged as a game-changer, seamlessly integrating smart machines, sensors, and devices into the heart of inventory cataloguing processes.
This paradigm shift empowers businesses to harness the power of real-time data analysis, unlocking a treasure trove of opportunities for smarter decision-making, heightened productivity, and enhanced safety.
However, with great data comes great responsibility. The challenge lies in managing and harnessing the vast amounts of data generated by these interconnected devices.
This is where the concept of a Data Lake enters the scene—a centralised repository that houses raw, unstructured data, ready to be accessed and analysed using a diverse range of tools and applications.
This captivating exploration will explore the symbiotic relationship between the Odoo ERP system, IIoT sensors, and the Data Lake. Discover how this powerful trio collaborates to revolutionise inventory management, meticulously monitoring product movement, optimising stock levels, and empowering informed decisions regarding purchasing and production.
Along the way, we will unravel the seamless integration of AWS services that make data ingestion, transformation, and storage in the Data Lake a seamless and efficient process.
By the time we conclude this journey, you will have a comprehensive understanding of how the harmonious convergence of IIoT, Data Lakes, and the Odoo ERP system can transform your inventory management processes, propel safety measures to new heights, and drive substantial cost reductions.
Get ready to embrace the future of inventory management like never before.
What is Industrial IoT (IIoT)?
By its very definition, IIoT is the usage of interconnected sensors or devices interlinked with the computing infrastructure and internet for industrial applications.
It is a more robust version of the Internet of Things (IoT) used primarily for end-user consumption. IIoT is also a natural evolution of the Distributed Control System (DCS) and Programmable Logic Controllers (PLC), which gained fame in many manufacturing industries in the 1980s and 1990s.
In short, IIoT mainly aims to deploy smart machines or sensors to capture necessary data through the Internet in challenging manufacturing environments.
Industrial IoT (IIoT) can offer several benefits to factory workers, including safety benefits. Firstly, IIoT can help prevent accidents by providing real-time data on the performance of machines and equipment.
This data can detect potential malfunctions or issues, allowing maintenance teams to take corrective action before an accident occurs.
Secondly, IIoT can monitor worker health and safety by tracking vital signs, movement patterns, and other data points. This information can detect fatigue, stress, or other factors affecting worker safety, allowing employers to take corrective action or adjust working conditions.
Finally, IIoT can help improve overall working conditions by providing insights into worker productivity, e, and job satisfaction. This information can be used to make data-driven decisions about work processes, schedules, and resource allocation, ultimately leading to a safer, more productive workplace.
What is Data Lake?
Data Lake is a centralised data repository. It usually stores data in its natural or raw format. Often this can be unstructured or semi-structured as well.
A Data Lake can also store data, including raw copies of source system data, IIoT sensor data, social data, etc., and transform data into valuable entities.
These entities can later be utilised for reporting, visualisation, analytics or machine learning purposes. A data lake can also include structured data from relational databases (rows and columns), semi-structured data (CSV, logs, XML, JSON), unstructured data (emails, documents, PDFs) and binary data (images, audio, video).
Odoo ERP System
The Odoo ERP System is a comprehensive suite of business applications that offers a range of modules such as Sales, Purchase, Inventory, Manufacturing, Accounting, and more. It is an Open Source software that can be customised to meet the specific needs of a business.
The system provides a unified platform for managing various business processes and helps improve efficiency, reduce costs, and increase productivity.
In our context, we will focus on the Odoo Inventory module, designed to manage warehouses, stock items, vendors, and more.
It allows businesses to keep track of their inventory levels, monitor product movement, and make informed decisions about purchasing and production.
From the bird’s view, several aspects are combined: IIoT sensors, transformed raw data by Data Lake, which later to be integrated through serverless function and API with Odoo Inventory module.
The following illustration shows the general process flow:
As the flow diagram shows, the IIoT sensors detect the inventory quantity, location and condition (e.g. when inventory is in a ‘damaged’ condition) in the warehouse and forwards the information to the IoT Core resource in AWS Cloud.
Another piece of information worth mentioning is the data for any incoming or outgoing inventory, which is permanently recorded by the IIoT sensors at the warehouse gate. These IIoT sensors will also forward the information to the IoT Core.
Once the IoT Core retrieves the information, it will be forwarded to Data Lake in the AWS Cloud. The Data Lake is a centralised repository that stores all the data collected by the IIoT sensors.
The main function of this Data Lake is to transform the raw data into structured data, which later will be forwarded to the Odoo Inventory module with the help of the AWS Lambda function.
The lambda function is a serverless resource. It will retrieve the structured data from the Data Lake and forward it to Odoo. Later, the Odoo Inventory module uses API integration to communicate with the Lambda function to access this data in real-time, allowing businesses to make informed decisions about their inventory levels.
Say a warehouse has a sensor that monitors the temperature of its products. If the temperature exceeds a certain threshold, the sensor will trigger an alert and send the data to the Data Lake.
The Odoo Inventory module can access this data in real time and automatically adjust the inventory levels of the affected products, ensuring that the warehouse always has the right amount of stock on hand.
Similarly, if a vendor ships products that don't meet the specified quality standards, the IIoT sensors can capture this data and send it to the Data Lake. The Odoo Inventory module can then use this data to automatically reject the shipment or adjust the inventory levels accordingly.
AWS Services For IIoT and Data Lake
The core capability of a data lake architecture is the ability to quickly and easily ingest and transform multiple types of data:
Real-time streaming data and bulk data assets from on-premises storage platforms.
Structured data generated and processed by legacy on-premises platforms - mainframes and data warehouses.
Unstructured and semi-structured data – images, text files, audio and video, and graphs).
Depending on your use case, AWS provides services and capabilities to ingest different data types into your Data Lake built on Amazon S3.
The following AWS Services will be of importance in our IIoT context:
AWS IoT Core. IoT Core is a managed service that lets the connected devices (i.e. smart machines/sensors) securely interact with the cloud services. It can support billions of devices and trillions of messages and process and route those messages to other AWS Endpoints or Services.
Amazon Kinesis Firehose. Kinesis Firehose is a managed service for delivering real-time streaming data to specific destinations, such as Amazon S3.
Amazon Simple Storage Service (S3). S3 is a simple object storage service that offers scalable storage, data availability, security and performance. In the IIoT and Data Lake context, it is the central repository for raw and structured data.
AWS Glue. It is a serverless data integration service that makes it easy for analytics users to discover, prepare, move, and integrate data from multiple sources. In our context, three features of AWS Glue will be utilised:
ETL Job. This is the core feature of the AWS Glue that will perform the ETL task.
Data Catalog. The AWS Glue Data Catalog references data used as sources and targets of your extract, transform, and load (ETL) jobs in AWS Glue.
Crawlers. Crawlers have the main task of populating the Data Catalog with tables. A crawler will crawl multiple data sources in a single run. Upon completion, the crawler creates or updates the tables in Data Catalog for later use by the ETL Job.
AWS Lambda. Lambda is a managed serverless service that lets you run the code without ever provisioning the server. It runs the code on a high-availability infrastructure and performs all infrastructure administration without user intervention.
Amazon Route 53. Route 53 is a highly available and scalable Domain Name Service (DNS). It connects user requests to internet applications running on AWS.
AWS CloudFront. CloudFront is a managed Content Delivery Network (CDN) service that speeds up the delivery of static and dynamic web content to users.
Elastic Load Balancer. A managed load-balancing service that distributes the incoming applications traffic and scales well to meet the traffic demands.
Amazon Elastic Compute Cloud (EC2). EC2 is a managed virtual machine service that can be used to host web applications in the cloud, which in our case, is for the Odoo ERP application.
Amazon Relational Data Service (RDS). It is an RDBMS service in the cloud supporting the PostgreSQL database used by the Odoo ERP application.
Having defined all the necessary basics, we now define the high-level architecture: