Click on “Download PDF” for the PDF version or on the title for the HTML version.


If you are not an ASABE member or if your employer has not arranged for access to the full-text, Click here for options.

Monolith to Microservices: Refactoring the Architecture and Documentation of ARSPivot

Published by the American Society of Agricultural and Biological Engineers, St. Joseph, Michigan www.asabe.org

Citation:  2024 ASABE Annual International Meeting  2401377.(doi:10.13031/aim.202401377)
Authors:   Mahipal Reddy Ramireddy, Manuel A Andrade, Susan A. O’Shaughnessy, Isaya Kisekka, Steven R. Evett
Keywords:   ARSPivot, Docker, FastAPI, Irrigation Scheduling, ISSCADAS, Microservices, Sensors, Software Architecture

Abstract. A software, named ARSPivot, was developed as an embodiment of an Irrigation Scheduling Supervisory Control and Data Acquisition System to assist with irrigation management of Variable Rate Irrigation (VRI) center pivot and linear move systems. The current version of ARSPivot (V1) can automatically generate site-specific irrigation prescription maps for VRI systems using feedback from weather, soil water, and plant sensing systems. ARSPivot V1 was developed following a traditional software architecture, where all the code is part of a single (and large) unit. This type of software architecture, known as monolithic, is convenient when a software is created by a small group of developers. A different architecture, known as microservice, where the code is divided into multiple (and smaller) parts, may be better fitted for software that is maintained by a community—such as open-source software. This study documents ongoing efforts to develop a new and open-source version of ARSPivot (V2) that will use a microservice architecture with distributed systems like open-source geospatial databases, and the FastAPI web framework to build Application Programming Interfaces (API) with Python. The design of this new architecture will be documented using a Technical Design Document and Entity Relationship Diagram(s), which is a flowchart that illustrates how microservices data will relate to each other within databases created by ARSPivot V2. We expect that a well-documented ARSPivot V2 with a microservice architecture will be easier to maintain by a community, which in turn can help to make it an open platform upon which site-specific irrigation management strategies can be developed, tested, and implemented.

(Download PDF)    (Export to EndNotes)