0% found this document useful (0 votes)
4 views2 pages

Spring Boot Based REST API To Improve Data Quality Report Generation For Big Scientific Data ARM Data Center Example

This paper discusses the development of a Spring Boot-based REST API to enhance data quality report generation for the Atmospheric Radiation Measurement (ARM) Data Center. It highlights the advantages of using Spring Boot for simplified configuration, dependency management, and the ability to accept data submissions from both a user interface and command line. The API facilitates the submission of data quality reports, enabling ARM scientists to efficiently manage and report on data quality issues.

Uploaded by

sky2022n
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views2 pages

Spring Boot Based REST API To Improve Data Quality Report Generation For Big Scientific Data ARM Data Center Example

This paper discusses the development of a Spring Boot-based REST API to enhance data quality report generation for the Atmospheric Radiation Measurement (ARM) Data Center. It highlights the advantages of using Spring Boot for simplified configuration, dependency management, and the ability to accept data submissions from both a user interface and command line. The API facilitates the submission of data quality reports, enabling ARM scientists to efficiently manage and report on data quality issues.

Uploaded by

sky2022n
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

2018 IEEE International Conference on Big Data (Big Data) 1

Spring Boot based REST API to Improve Data


Quality Report Generation for Big Scientific Data:
ARM Data Center Example

Kavya Guntupally Ranjeet Devarakonda Kenneth Kehoe


Environmental Sciences Division Environmental Sciences Division University of Oklahoma
Oak Ridge National Laboratory Oak Ridge National Laboratory Norman, OK
Oak Ridge, TN Oak Ridge, TN [email protected]
[email protected] [email protected]

Abstract— Web application technologies are growing rapidly with


continuous innovation and improvements. This paper focuses on Index Terms— auto configuration, CRUD, java framework,
service-oriented architecture, REST, spring boot
the popular Spring Boot [1] java-based framework for building
web and enterprise applications and how it provides the flexibility
for service-oriented architecture (SOA). One challenge with any
Spring-based applications is its level of complexity with I. INTRODUCTION
configurations. Spring Boot makes it easy to create and deploy
stand-alone, production-grade Spring applications with very little The ADC currently uses a SOA based framework to develop
Spring configuration. Example, if we consider Spring Model- any new applications and/or tools. One such application is the
Data Quality Report (DQR) submission tool. The DQR tool is
View-Controller (MVC) framework [2], we need to configure
used by the Data Quality (DQ) Office to create report(s) about
dispatcher servlet, web jars, a view resolver, and component scan
the quality of data within a particular data stream for a specific
among other things. To solve this, Spring Boot provides several time range accompanied by a category of severity for the quality
Auto Configuration options to setup the application with any issue affecting the data. This tool allows the user to submit a
needed dependencies. Another challenge is to identify the report with required fields through the REST API, using Spring
framework dependencies and associated library versions required Boot, which saves the data to database. The API acts as a middle
to develop a web application. Spring Boot offers simpler layer between the client User Interface (UI) and the database.
dependency management by using a comprehensive, but flexible,
framework and the associated libraries in one single dependency,
REST is an architectural style to design web services, that can
be consumed from different clients using simple HTTP calls.
which provides all the Spring related technology that you need for
Spring Boot makes developing the REST API service with
starter projects as compared to CRUD web applications. This
minimum fuss. The API structure contains a Spring Boot
framework provides a range of additional features that are Application class (acts as a launching point), a Java Persistence
common across many projects such as embedded server, security, API (JPA) entity (Spring Boot Auto Configuration detects the
metrics, health checks, and externalized configuration. Web database that is being used and entities to match the targeted
applications are generally packaged as war and deployed to a web tables), a controller (that handles all the services the client
server, but Spring Boot application can be packaged either as war requires) and a repository (that is based on the CrudRepository
or jar file, which allows to run the application without the need to [3] to perform database create, read, update, and/or delete
install and/or configure on the application server. In this paper, we
[CRUD] operations).
discuss how Atmospheric Radiation Measurement (ARM) Data
Center (ADC) at Oak Ridge National Laboratory, is using Spring II. IMPLEMENTATION
Boot to create a SOA based REST [4] service API, that bridges the
gap between frontend user interfaces and backend database. Using
The application is designed using three main components (as
this REST service API, ARM scientists are now able to submit shown in figure), a frontend UI form (to capture user entered
reports via a user form or a command line interface, which data), API (which accepts HTTP/S requests either from a UI
captures the same data quality or other important information form or command call, like curl or Postman) and the database
about ARM data. (where the data is stored). The UI is a simple form with a set of

978-1-5386-5035-6/18/$31.00 ©2018 IEEE 5328


Authorized licensed use limited to: Amrita School Of Engineering - Kollam. Downloaded on May 16,2025 at 11:29:27 UTC from IEEE Xplore. Restrictions apply.
2

fields that describes the data quality issue for the affected data.
[2] “Web on Servlet Stack.” Web on Servlet Stack,
Once the form is submitted, the data is validated (check for docs.spring.io/spring/docs/current/spring-framework-reference/web.html.
required fields and expected formats). If valid, then it is sent as
JavaScript Object Notation (JSON) request to the REST API [3] “Working with Spring Data Repositories.” 1. Working with Spring Data
Repositories, docs.spring.io/spring-data/data-
using a resource URL.
commons/docs/1.6.1.RELEASE/reference/html/repositories.html.

[4] “Representational State Transfer.” Wikipedia, Wikimedia Foundation, 16


Oct. 2018, en.wikipedia.org/wiki/Representational_state_transfer.

[5] “List of HTTP Status Codes.” Wikipedia, Wikimedia Foundation, 20 Oct.


DB 2018, en.wikipedia.org/wiki/List_of_HTTP_status_codes.

Figure 1. Web service Architecture

The API validates the incoming request against the entity fields
required to save, update, or delete the data in the database. If
the data is valid and the operation is successful, the API returns
a HTTP response back to UI with success message and standard
status code [5] (2xx – Success). If invalid data or failed
operation, return a failure message with exception encountered
and corresponding standard status code [5] (4xx – client error
or 5xx – server error). The API is the most important
component, it is designed in such a way that it not only accepts
HTTP request from the UI (i.e. form data), but also has the
flexibility to accept JSON HTTP request through command line
interface, which means the UI is not the only source to submit
data. This allows ARM scientists to setup automated scripts to
create DQ reports without being restricted to only using the UI
form.

III. CONCLUSION

In conclusion, this paper highlights the SOA based REST API


using Spring Boot Framework which does have definite
advantages over other spring-based frameworks. It allows
simpler dependency management, auto configuration, built-in
CRUD handling, and flexible project startup (installed or
local). In addition, we have discussed how we are using it to
allow our scientists to submit reports using frontend UI and
command line interfaces.

ACKNOWLEDGEMENT

The ARM is funded through the DOE Office of Science and is


managed through the Biological and Environmental Research
(BER) Division. Oak Ridge National Laboratory is managed
by the UT-Battelle, LLC, for the U.S. Department of Energy
under contract DE-AC05-000R22725.

REFERENCES

[1] “Spring Boot Reference Guide.” Spring Boot Reference Guide,


docs.spring.io/spring-boot/docs/current/reference/htmlsingle.

5329
Authorized licensed use limited to: Amrita School Of Engineering - Kollam. Downloaded on May 16,2025 at 11:29:27 UTC from IEEE Xplore. Restrictions apply.

You might also like