Development of a Cloud-Based Inventory Management System Elizabeth Adegbaju and Isaac Odun-Ayo Department of Computer and Information Sciences, Covenant University, Ota, Ogun State, Nigeria elizabeth.adegbaju@stu.cu.edu.ng isaac.odun-ayo@covenantuniversity.edu.ng AbstractSeveral organizations find it difficult to maintain ideal stock levels for MRO inventory. The rigid structure of traditional inventory management systems does not provide organizations with real-time data on their inventory levels, which can negatively impact their overall productivity. The growing operational expenses of workers, the remedying of mistakes and the upkeep of their inventory control programs are an ongoing concern for companies. Cloud computing can be used to improve Inventory Management and put an end to quite a number of issues faced in the sector. Besides stress-free updates, cloud computing providers work in the background to ensure that things go smoothly and typically are available to answer questions or support if requested. Also, no extra personnel or special hardware are needed on cloud platforms. And because most cloud businesses do not rely on specialized training for the staff on how to use the new product, the learning curve of the platform has been simplified so that everybody can recognize and proceed to use it on the first day. This system was designed using the Object-Oriented Design approach, and the Unified Modelling Language (UML) was used for modelling the system. It was developed using Django and is deployed on Google App Engine, where it uses Google Cloud SQL for the database, and Google Cloud Storage for file storage. This paper records the research conducted on how Cloud Computing can improve Inventory Management Systems, and the implementation of a cloud-based inventory management system for Maintenance, Repair and Operating (MRO) inventory items. Keywords: cloud computing, inventory management 1. Introduction Cloud computing is a specialized form of distributed computing that introduces models of utilization for providing scalable and measured resources remotely (Thomas, Zaigham, & Ricardo, 2013). Cloud computing is the provision of services by a cloud service provider to facilitate computing, storage and applications developed by a user utilizing the Internet (Odun-Ayo et al., 2017). The NIST definition of Cloud Computing introduces five fundamental properties that characterize a cloud offering: on-demand self-service, broad network access, measured service (pay-per-use), resource pooling and rapid elasticity (Mell & Grance, 2011). Inventory management is a mechanism whereby a company keeps track of the products and resources it has at its disposal. It allows a company to maintain a consolidated record of each product and item in the organization’s control, offering a clear source of truth for the position of each item, manufacturer and supplier details, specifications and the total number of a given 1 item currently in stock (Pontius, 2019). Inventory may typically be divided into four groups based on their position in the production pipeline: raw material, work-in-process, finished goods, and MRO goods. This project’s focus is on the Inventory of MRO goods. MRO goods (Maintenance, repair and operating supplies) comprises of all items used by employees in an organization during the manufacturing process and in maintaining its infrastructure. As a function of the production process, these products are typically used but are not explicitly a component of the finished product. Organizations have trouble growing their operations and adapting to demand changes due to the structure of conventional inventory management systems that require additional investments and possible downtime. Due to poor coordination or lack of it, having warehouses in multiple locations makes it difficult to maintain high-quality data on inventories. Organizations are forced to maintain individual records per site to ensure that data quality is sufficient for their planned use in operations, decision-making and planning. This will cost organizations more money in terms of staffing, mistake rectification and system maintenance. The rigid structure of traditional inventory management systems does not provide organizations with real-time data on their inventory levels, and this can negatively impact their overall productivity. There are opportunities in Supply Chain Management with the advent of cloud computing to improve the efficiency of business processes and reduce operating costs. Inventory Management is a component of Supply Chain Management and holds the power to optimize the supply chain when handled effectively. A cloud-based inventory system to manage their MRO inventory is precisely what these companies need to enable them to save cost. With the support of an application programming interface (API), cloud computing has allowed quick and direct access to external data sources and storage facilities. APIs are able to keep the scale of the applications small. We can conduct computational and analytical computations within the cloud itself while harnessing a cloud service’s true potential. The growing operational expenses of workers, the remedying of mistakes and the upkeep of their inventory control programs are an ongoing concern for companies. This project work has succeeded in addressing this problem with a modular and easy-to-use solution for organizations. Besides stress-free updates, cloud computing providers work in the background to ensure that things go smoothly and typically are available to answer questions or support if requested. Also, no extra personnel or special hardware are needed on cloud platforms. And because most cloud businesses do not rely on specialized training for the staff on how to use the new product, the learning curve of the platform has been simplified so that everybody can recognize and proceed to use it on the first day. This project aims to develop a cloud-based inventory management system and the objectives include: i. To carry out a study of cloud computing and existing inventory management systems. ii. To design and model a cloud-based inventory management system. iii. To implement the designed Inventory Management System. iv. To deploy the system on Google Cloud Platform. The significance of the study is to improve the productivity of businesses by providing them with a quality inventory management system. This is achieved by reducing the costs of operation associated with traditional inventory management, delivering high-quality data on 2 inventories, and giving businesses the required flexibility to respond to unexpected changes with the help of cloud computing technologies. 2. Related Work (Pareek, 2014) compared traditional Enterprise Resource Systems with Cloud-based ones and was able to highlight performance differences between the two architectures. It was made obvious that cloud-based ERP systems were able to provide solutions to the problems faced by Traditional ERP systems. (Muckstadt & Sapra, 2010) discussed issues related to Inventory Management extensively and highlighted the main types of inventory and their roles. They also presented various models and algorithms that are useful in setting policies, computing stock levels, and estimating financial and operational performance within supply chains. (Mell & Grance, 2011) discusses the five main features of cloud computing. These features constitute the reason why cloud computing technologies are beneficial to end-users. Resource pooling allows consumers to make use of services together with other consumers which significantly reduces the cost that would be otherwise incurred. Self-service on-demand ensures the automatic distribution of resources without the need for human intervention, thereby allowing consumers to have access to these resources whenever they want it. Broad network access, metered use, and rapid elasticity are the other features discussed in this work. (Thomas et al., 2013) talked extensively about concepts of cloud computing and elaborated more on the sixth main feature of cloud computing. Resiliency has arisen as an essential aspect, and its specific level of support signifies its required incorporation as a standard feature of the cloud. Resilient computing is the form of breakdown which distributes IT resources across physical sites. (Sinha, 2003) discusses Supply Chain Management and ways in which Cloud Computing can be employed in improving the sector. He highlights the innovative uses of Supply Chain Management as a result of the introduction of Cloud Computing which includes the ability to make fast decisions based on real-time data from the system and the integration of other departments of the company to the system seamlessly. (Shabani et al., 2015) explained the benefits of building distributed systems with Cloud Computing and described how Google has managed to go beyond software services by providing the infrastructure for distributed services as cloud services with the inception of Google App Engine. Google App Engine is the platform chosen for the deployment of the developed cloud-based inventory management system. 3. Materials and Method 3.1 Systematic Review of Relevant Literature In this section, the procedure used for selecting the relevant studies is discussed, followed by an inclusion/exclusion criterion. Then the research questions are highlighted which this review is intended to answer. Formulation of Research Questions The most crucial objective of any review is to include the maximum number of studies that 3 are filtered according to the defined inclusion criteria. Thus, selection of the relevant studies or to have a suitable relevant subset of the papers is essential. Following two steps are undertaken to make the selection: i. Step One: This is the first step in researching various research related to digital portals such as ResearchGate, Springer, Elsevier, etc. A significant number of the previous research papers till date concerned with cloud computing and inventory management have been collected and studied to carry out an efficient review. This search was done by identifying the papers whose title or abstract contains some relevant keywords such as cloud computing, inventory management, etc. Then, all the papers were scanned through, and abstracts were read to identify the relevant papers. This helped us to remove the irrelevant pieces and obtain a smaller relevant subset. Books by renowned authors in this field of study were identified and collated for review. Also, cloud computing articles published by notable cloud service providers like IBM were sourced here. ii. Step Two: In the next step, the first step’s resources were assessed for their actual relevance. Final inclusion/exclusion decisions were made after retrieving the full texts. At this step, we made the final decision or final subset as to which all papers should be included in this review. The introduction and conclusion section of the papers selected in the initial stage were read and hence a final decision was made. It is useful to maintain a list of excluded studies as they are instrumental in identifying the reason for exclusion. At the end of this step, we found 30 relevant studies related to our area of cloud computing and inventory management. Inclusion/ Exclusion criterion Systematic reviews require explicit inclusion and exclusion criteria to assess each potential primary study. The selection of preliminary studies is governed by inclusion and exclusion criteria which should be based on the research questions. We included resources that focused on cloud computing and inventory management in our review. Therefore, this review does not describe all the software development methodologies or the intricacies of system design in detail for practitioners. The range of resource included include papers published in journals and conference proceeding, books with detailed information on keywords, verified articles. We have excluded all resources which failed to discuss any of the following topics: the uses of cloud computing in improving traditional systems, inventory management techniques, and inventory management systems. In other words, we included all the papers related to the development of a cloud-based inventory management system in some or the other way. Our exclusion did not take into account the publication year of paper or methods which have been used. Formulation of Research Questions Formulation of research questions is fundamental to carry out the research. The purpose of the research questions is to let the readers know what the review is intended to answer. These research questions were selected in such a way to ensure that there is total coverage of the area of cloud-based inventory management systems. In this study, we have addressed the following issues related to the area of cloud-based inventory management systems: i. Why do inventory management systems fail? ii. What are the benefits of cloud computing iii. How can cloud-computing be utilized in improving inventory management? 4 iv. v. vi. How do you design a working inventory management system? How do you implement an inventory management system that can work on the cloud? How do you deploy an inventory management system on Google Cloud Platform? 3.2 Design of Inventory Management System A successful inventory management system eliminates human error by minimizing manual paperwork by using an adequate inventory labelling method and inventory management software, avoiding mistakes that can be really costly such as: i. Keeping too much sluggish product in store, occupying valued space in the warehouse, and consuming to the company’s bottom line. ii. Going suddenly out of stock of an important product component that can disrupt the supply chain due to backorders. iii. Inaccurate reports (false item amounts, inaccurate product counts) resulting from mistakes in manual reporting. iv. Wasted man hours spent locating things which are kept in the least expected places. Inventory storage that is not effectively configured (as a result of inadequate warehouse construction or arrangement of stock rooms) can also raise the time it takes to fetch items, which in turn raises labour costs. The proposed system was designed using the Object-Oriented Design approach, and Unified Modelling Language (UML) was used for modelling the system. Microsoft Visio was employed in the design of the system. 3.3 Implementation of Inventory Management System The system was built with the Django framework. Django is a Python-based, high level web framework that promotes fast and clean and pragmatic development. It is a free open-source platform based on Python that fits the architectural style of the Model-Template-View. Tools that will be used in the implementation of this system include Bootstrap Studio and JetBrains PyCharm. 3.4 Deployment of Inventory Management System The system was deployed on Google App Engine, where it uses Google Cloud SQL for the database, and Google Cloud Storage for file storage. Google App engine is used in a completely controlled serverless framework to develop highly scaled applications. Google’s App Engine is a platform for creating and managing mobile apps at Google’s managed datacentres, also referred to as the GAE or simply app engine. App Engine allows automatic scaling of mobile apps — App Engine can automatically commit more resources to the web application to satisfy the demand when the amount of requests grows. The system was deployed in a Python 3.7 Standard Environment on Google App Engine. Google Cloud SQL is a zero-maintenance SQL client supporting DB-API and JDBC. This service enables App Engine applications to build, customize, and use relational databases. Google Cloud SQL offers MySQL 5.5 and 5.6. The system uses MySQL 5.5. Google Cloud Storage is a web-based online file storage facility for storage and access to Google cloud-based files. The service blends Google’s cloud performance and scalability 5 with specialized features for authentication and sharing. It is an Infrastructure-as-a-Service (IaaS), equivalent to the on-line storage facility of Amazon S3. 4. Result and Discussion Figure 1: Use Case Diagram for the Inventory Management System System analysis and design is directed at recognizing the necessities of individuals to routinely research data input or data flow, collecting or processing data, storing of data and output in a particular enterprise or business context (Kendall & Kendall, 2014). The system was designed using UML 2.0 and the use case diagram designed is as seen in Figure 1. The use case diagram shows the actors in the system, their relationships, and the interactions they can have with the system. The final model of the Inventory Management System is such that the process is decentralized and every employee plays an active role in the inventory management process. The bottleneck encountered with only dedicated inventory management personels having access to inventory items is brought to the minimum with this system where every employee can view the status of inventory items in real-time from different locations. This system was developed using the Spiral Lifecycle Model. It combines some fundamental aspect of the waterfall model and iterative model where the software is developed in a series of incremental releases. 6 Figure 2: Google App Engine Dashboard From Figure 2, the Google App Engine dashboard is available for monitoring of the deployed system. The tools that are provided by Google Cloud Platform for the management of the deployed service are also visible in the figure above. Some major benefits associated with the deployment of the system on Google Cloud Platform are: i. There is a reduction in operational costs and investments. ii. Scaling of businesses is made easy. iii. Response speed of the system is increased. iv. There is increased reliability in business operations. v. There is increased Collaboration 7 Figure 3: Inventory Dashboard for Griffin-Maldonado Company on Crystal Inventory Management System The system is divided into four main modules; the employee module, the company administrators’ module, the company superuser module, and the site administrators. These modules are based on user groups with associated permissions. 5. Conclusion and Recommendations Finally, Crystal Inventory Management System is a cloud-based system for the size of any business. It will provide all MRO supplies inventory in each company with one source of truth. Users can easily interact with the web application by updating, adding or removing inventory items, suppliers, categories, etc. as needed. This system also offers an inventory dashboard for businesses to know the actual status of their inventory levels. We recommend that the model of the inventory management system and the method used in developing this cloud-based inventory management system for MRO goods should be adopted for other types of inventory. Acknowledgement We acknowledge the support and sponsorship provided by Covenant University through the Centre for Research, Innovation, and Discovery (CUCRID). There are no conflicts of interest. 8 References 8 Ways Cloud-Based Inventory Management Saves You Time and Money. (2017). Retrieved October 16, 2019, from Dear System website: https://dearsystems.com/cloud-basedinventory-management-saves-time-money/ Adewumi, A., Ogbuchi, S., & Misra, S. (n.d.). A Cloud-Based Retail Management System. Communications in Computer and Information Science, (516), 446–456. https://doi.org/10.1007/978-3-662-46742-8_41 Cloud Computing: A Complete Guide. (2019). Retrieved October 16, 2019, from IBM website: https://www.ibm.com/cloud/learn/cloud-computing Fehling, C., Leymann, F., Retter, R., Schupeck, W., & Arbitter, P. (2014). Cloud Computing Patterns. In Cloud Computing Patterns. https://doi.org/10.1007/978-3-7091-1568-8. Homer A., Sharp J., Brader L., Narumoto, N. & Swanson T. (2014), Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications, Microsoft. Inman, R. A. (2018). Types of Inventory. Retrieved October 16, 2019, from Reference for Business website: https://www.referenceforbusiness.com/management/IntLoc/Inventory-Types.html Institute of Management and Administration (2002), The IOMA Handbook of Logistics and Inventory Management, New York: Wiley. Inventory Management Apps, Software, and Systems (2019). Retrieved October 11, 2019, from TradeGecko website: https://www.tradegecko.com/inventorymanagement/software-app. Jamal, S. M. K., Omer, A., Qureshi, S., & Abdus, A. (2013). Cloud Computing Solution and Services for RFID Based Supply Chain Management. Advances in Internet of Things, 03(04), 79–85. https://doi.org/10.4236/ait.2013.34011 Kareem, E. A. (2017). Building Web Application Using Cloud Computing. International Journal of Software and Web Sciences, (January). Kavis, M. J. (2014). Architecting the Cloud: Design Decisions for Cloud Computing Models (SaaS, PaaS and SaaS). Hoboken, New Jersey: Wiley. Kendall K. E. & Kendall J. E. (2014), System Analysis and Design (9th ed.), New Jersey: Pearson. Mell, P. M., & Grance, T. (2011). The NIST definition of cloud computing. In Special Publication (NIST SP) (Vol. 514). https://doi.org/10.6028/NIST.SP.800-145. Muckstadt, J. A., & Sapra, A. (2010). Springer Series in Operations Research and Financial Engineering: Principles of Inventory Management (T. V Mikosch, S. I. Resnick, & S. M. Robinson, Eds.). New York: Springer Science. Muller, M. (2003). Essentials of Inventory Management. Broadway, New York: AMACOM. Odun-Ayo, I., Chinonso, O. and Orovwode, H. (2018), Cloud and Application Programming Interface - Issues and Developments, Lecture Notes in Engineering and Computer Science: Proceedings of The World Congress on Engineering 2018, 4-6 July, 2018, London, U.K., pp. 169-174 Odun-Ayo, I., Cloud Application Portability – Issues and Developments, IntechOpen, DOI: 10.5572/intechopen.75464. Retrieved from https://www.intechopen.com/onlinefirst/cloud-application-portability-isues-and-developments. Odun-Ayo, I., Goddy-Worlu, R., and Samuel V. (2018), A Systematic Mapping Study of Cloud Management Autonomic, Adaptive, SLAs, and Monitoring, SCIREA Journal of Computer 3(2), April 2018 pp. 31-42. 9 Odun-Ayo, I., Olasupo, A. and Misra, S. (2018), Cloud Computing Security: Issues and Developments, Lecture Notes in Engineering and Computer Science: Proceedings of The World Congress on Engineering 2018, 4-6 July, 2018, London, U.K., pp. 175-181 Odun-Ayo, I., Olasupo, A., Omoregbe, N. (2017), An Overview of Data Storage in Cloud Computing, Proceedings of the International Conference on Next-Generation Computing and Information Systems (ICNGCIS, 2017) Model Institute of Engineering and Technology Jammu, India 11-12 December 2017, pp. 29-34. DOI 10.1109/ICNGCIS.2017.9 Odun-Ayo, I., Omoregbe, N. and Udemueze, B. (2018), Cloud and Mobile Computing – Issues and Developments, Lecture Notes in Engineering and Computer Science: Proceedings of The World Congress on Engineering and Computer Science, 23-24 October, 2018, San Francisco, USA, pp. 363-368. Padmanava, S. (2015), Introduction to Inventory Management., https://doi.org/10.13140/rg.2.2.14914.99522. Pareek R. (2014), Analytical Study of Cloud ERP and ERP, International Journal of Engineering and Computer Science ISSN:2319-7242, 3, pp. 8710-8717 Pontius, N. (2019). What is an Inventory Management System? Definition of Inventory Management Systems, Benefits, Best Practices & More. Retrieved October 13, 2019, from Camcode website: https://www.camcode.com/asset-tags/what-is-an-inventorymanagement-system/ Rouse, M., O’Donnell, J. & Cole, B. (2017), Inventory Management, Retrieved October 13, 2019, from SearchERP website: https://searcherp.techtarget.com/definition/inventorymanagement Shenoy, D., & Rosas, R. (2018). Problems & Solutions in Inventory Management. Springer. Sinha, A. (2013), Opportunities of Cloud Computing in Supply Chain Management, Anusandhanika ISSN: 0974-200X, 5(1&2), pp. 124-126 Thomas, E., Robert C. & Amin, N. (2015), Cloud Computing Design Patterns, Westford, Massachusetts: Arcitura Education Inc. Thomas, E., Zaigham, M., & Ricardo, P. (2013). Cloud Computing: Concepts, Technology & Architecture. Westford, Massachusetts: Arcitura Education Inc. Wild, T. (2002), Best Practices in Inventory Management (2nd ed.), Elsevier Science. 10