Improving the implementation process of web API projects with a scalable measurement data interface in an industrial time series database

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu | Master's thesis
Date
2021-05-17
Department
Major/Subject
Control, Robotics and Autonomous Systems
Mcode
ELEC3025
Degree programme
AEE - Master’s Programme in Automation and Electrical Engineering (TS2013)
Language
en
Pages
55
Series
Abstract
In recent years, many enterprises have published interfaces on the web to make their data accessible to end users. These interfaces are called web APIs. The number of web APIs has rapidly grown over the last decade, and web APIs have drawn the attention of process industries as well. ABB has many process industry customers using ABB's process historian software called ABB AbilityTM History. These customers often have a need to read/write time series data from/to a web API. Usually, since these web APIs differ from each other, the same implementation of a web API client cannot be used on a different web API and new implementation must be made from scratch. This thesis presents a solution to improve the web API project process in ABB's software environment. In this thesis a programming library was made that can be included in future web API projects in order to provide helpful methods for reducing the need to reimplement features recurring in every web API project. In addition to the library, a base code template was created and provided with the library. The thesis introduces a new standard approach of developing web API client projects in ABB's software environment using the library and the base code template. The implementation supports data gathering configurations in three different grouping levels, and therefore provides good flexibility for different needs. The solution will decrease the amount of time spent on projects and makes the maintenance of the software easier.

Viime vuosina monet yritykset ovat julkaisseet rajapintoja verkkoon, jotta heidän tietonsa olisivat loppukäyttäjien saatavilla. Näitä rajapintoja kutsutaan verkko-ohjelmointirajapinnoiksi (web API). Web API:en määrä on kasvanut nopeasti viime vuosikymmenen aikana ja web API:t ovat kiinnittäneet myös prosessiteollisuuden huomion. ABB Oy:llä on paljon prosessiteollisuuden asiakkaita, jotka käyttävät ABB Oy:n prosessihistorioitsija ohjelmistoa nimeltä ABB AbilityTM History. Näillä asiakkailla on usein tarve joko lukea aikasarjatietoja web API:sta tai kirjoittaa web API:iin. Koska nämä web API:t eroavat toisistaan, yleensä samaa toteutusta ei voida käyttää eri web API:hin ja uusi toteutus on tehtävä alusta alkaen. Tämä opinnäytetyö esittää ratkaisun web API projektien toteutusprosessin kehittämiseen ABB Oy:n ohjelmistoympäristössä. Tässä opinnäytetyössä tehtiin ohjelmointikirjasto, joka voidaan sisällyttää mukaan tuleviin web API projekteihin tarjoamaan hyödyllisiä metodeja vähentämään ominaisuuksien uudelleen toteuttamisen tarvetta, mitkä toistuvat jokaisessa web API projektissa. Kirjaston lisäksi luotiin peruskoodimalli, joka toimitettiin kirjaston yhteydessä. Opinnäytetyössä esitetään uusi standardilähestymistapa web API asiakasohjelma projektien toteuttamiseen ABB Oy:n ohjelmistoympäristössä käyttäen kirjastoa ja peruskoodimallia. Toteutus tukee tiedonkeruu asetuksia kolmella ryhmä tasolla, joten se mahdollistaa hyvän joustavuuden erilaisille konfiguraatio tarpeille. Ratkaisu vähentää projekteihin käytetyn ajan määrää ja helpottaa ohjelmiston ylläpitoa.
Description
Supervisor
Vyatkin, Valeriy
Thesis advisor
Mäntysaari, Juha
Keywords
Web API, time series, interface, database
Other note
Citation