magistrsko delo
Aljaž Blažej (Author), Dejan Lavbič (Mentor)

Abstract

Arhitektura mikrostoritev je v zadnjih letih postala priporočen način gradnje sistemov v večjih podjetjih. Te mikrostoritve večinoma med seboj komunicirajo preko programskih vmesnikov RESTful, katerih je lahko v določenem sistemu več deset tisoč. V delu bomo predstavili prototip iskalnika, ki programske vmesnike samodejno odkrije in uporabniku nudi različne napredne načine iskanja. Iskalnik pri ujemanju poizvedbe z vmesniki uporablja kombinacijo zbirke WordNet, pomembnosti vmesnikov in raznolike obtežitve parametrov. Pomembnost programskih vmesnikov izračuna na podlagi informacij o odvisnostih mikrostoritev in številu zahtevkov HTTP, ki jih pridobi iz metrik odjemalca Consul ter odjemalca HTTP. S tem doseže 87 % natančnost pri iskanju najboljšega rezultata. Razvili smo tudi iskanje z izbiro skupin programskih vmesnikov, ki temelji na semantičnih podatkih modela podatkovne baze in povezavah tujih ključev tabel ter na podatkih, pridobljenih iz uveljavitev sprememb Git. S tem pristopom smo po prvi delitvi pravilen programski vmesnik našli v 61 % primerov, kar je veliko boljše kot z metodo, ki temelji le na semantičnih podatkih vmesnikov, pri kateri je bila natančnost 38 %. Evalvacijo obeh oblik iskalnika smo izvedli z realnimi poizvedbami v sistemu podjetja s 3350 programskimi vmesniki RESTful.

Keywords

programski vmesniki;REST;iskanje;semantika;gručenje;Swagger;računalništvo;računalništvo in informatika;magisteriji;

Data

Language: Slovenian
Year of publishing:
Typology: 2.09 - Master's Thesis
Organization: UL FRI - Faculty of Computer and Information Science
Publisher: [A. Blažej]
UDC: 004(043.2)
COBISS: 27543043 Link will open in a new window
Views: 923
Downloads: 224
Average score: 0 (0 votes)
Metadata: JSON JSON-RDF JSON-LD TURTLE N-TRIPLES XML RDFA MICRODATA DC-XML DC-RDF RDF

Other data

Secondary language: English
Secondary title: Advanced REST API discovery in microservice architecture
Secondary abstract: Microservice architecture has become the default way of implementing large information systems. Microservices usually consist of multiple REST API endpoints, over which they communicate. This can amount to systems having over tens of thousands of REST endpoints, which developers can not keep track of. We will present a REST API search engine prototype, which automatically discovers endpoints and offers advanced search options. The engine uses a combination of WordNet lexical database, endpoint importance and parameter weight calculation to achieve optimal search results. We present a novel approach for importance calculation, which uses service discovery and HTTP request metrics, gathered from Consul and HTTP clients respectively. This weighted combination of methods manages 87 % precision on the top result. We also implemented a different way of searching by continuously selecting groups of endpoints. The groups are formed from database foreign key connections, semantic information from tables and columns and a network, based on Git contributions. The results from this approach yielded a 61 % accuracy after the first division compared to 38 % that we got from the method, which only uses semantic endpoint information. We evaluated both types of searching using real life query examples in a system consisting of 3350 API endpoints.
Secondary keywords: API;REST;search;semantics;clustering;Swagger;computer science;computer and information science;master's degree;
Type (COBISS): Master's thesis/paper
Study programme: 1000471
Embargo end date (OpenAIRE): 1970-01-01
Thesis comment: Univ. v Ljubljani, Fak. za računalništvo in informatiko
Pages: 70 str.
ID: 11983456