Web API development and integration for microservice functionality in web applications

Pro gradu -työssä mallinnetaan ja kehitetään mallin mukainen toteutus mikropalvelu-arkkitehtuuriin perustuvasta laajennuksesta olemassaolevaan verkkosovellukseen, joka tutkimuksen mukaan mahdollistaa verkkosovelluksen loppukäyttäjien hyödyntämisen sovelluksen jatkokehittämisessä monoliittisen arkkit...

Full description

Bibliographic Details
Main Author: Oksa, Matias
Other Authors: Faculty of Information Technology, Informaatioteknologian tiedekunta, Tietojenkäsittelytieteiden laitos, Department of Computer Science and Information Systems, University of Jyväskylä, Jyväskylän yliopisto
Format: Master's thesis
Language:eng
Published: 2016
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/52507
_version_ 1826225721280823296
author Oksa, Matias
author2 Faculty of Information Technology Informaatioteknologian tiedekunta Tietojenkäsittelytieteiden laitos Department of Computer Science and Information Systems University of Jyväskylä Jyväskylän yliopisto
author_facet Oksa, Matias Faculty of Information Technology Informaatioteknologian tiedekunta Tietojenkäsittelytieteiden laitos Department of Computer Science and Information Systems University of Jyväskylä Jyväskylän yliopisto Oksa, Matias Faculty of Information Technology Informaatioteknologian tiedekunta Tietojenkäsittelytieteiden laitos Department of Computer Science and Information Systems University of Jyväskylä Jyväskylän yliopisto
author_sort Oksa, Matias
datasource_str_mv jyx
description Pro gradu -työssä mallinnetaan ja kehitetään mallin mukainen toteutus mikropalvelu-arkkitehtuuriin perustuvasta laajennuksesta olemassaolevaan verkkosovellukseen, joka tutkimuksen mukaan mahdollistaa verkkosovelluksen loppukäyttäjien hyödyntämisen sovelluksen jatkokehittämisessä monoliittisen arkkitehtuurin sovelluksia joustavammin. Pääasiallinen taustateoria sisältää Participative Design ja Design Science -teorioita. This paper presents a model for web application programming interface (API) that uses the microservice architecture to enable and support end-user feature development. The study follows the design-science paradigm of information systems research. Participatory design stands as one ISR-based theory and definitions of user types are derived from that. Web application definitions and web application development methods are also explored to some extent. The study will also present an implementation of the presented web API design that is then analyzed and reviewed in comparison with other similar API design patterns. Implementation consists of application extensions, web API and microservice based feature extensions, written in Javascript using Node.js runtime environment and the host application uses ASP.NET MVC. The implementation reveals benefits of microservice architecture regarding scalability, extensibility and utilization of the user-base in application feature development. Extending an existing application also emphasizes the importance of communication protocol specifications and related knowledge.
first_indexed 2023-03-22T09:58:30Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Semenov, Alexander", "language": null, "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Oksa, Matias", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2016-12-21T13:16:35Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2016-12-21T13:16:35Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2016", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.other", "value": "oai:jykdok.linneanet.fi:1645207", "language": null, "element": "identifier", "qualifier": "other", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/52507", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Pro gradu -ty\u00f6ss\u00e4 mallinnetaan ja kehitet\u00e4\u00e4n mallin mukainen toteutus mikropalvelu-arkkitehtuuriin perustuvasta laajennuksesta olemassaolevaan verkkosovellukseen, joka tutkimuksen mukaan mahdollistaa verkkosovelluksen loppuk\u00e4ytt\u00e4jien hy\u00f6dynt\u00e4misen sovelluksen jatkokehitt\u00e4misess\u00e4 monoliittisen arkkitehtuurin sovelluksia joustavammin. P\u00e4\u00e4asiallinen taustateoria sis\u00e4lt\u00e4\u00e4 Participative Design ja Design Science -teorioita.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "This paper presents a model for web application programming interface (API)\nthat uses the microservice architecture to enable and support end-user feature\ndevelopment. The study follows the design-science paradigm of information\nsystems research. Participatory design stands as one ISR-based theory and\ndefinitions of user types are derived from that. Web application definitions and\nweb application development methods are also explored to some extent. The\nstudy will also present an implementation of the presented web API design that\nis then analyzed and reviewed in comparison with other similar API design\npatterns. Implementation consists of application extensions, web API and\nmicroservice based feature extensions, written in Javascript using Node.js\nruntime environment and the host application uses ASP.NET MVC. The\nimplementation reveals benefits of microservice architecture regarding\nscalability, extensibility and utilization of the user-base in application feature\ndevelopment. Extending an existing application also emphasizes the\nimportance of communication protocol specifications and related knowledge.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted using Plone Publishing form by Matias Oksa (mavaoksa) on 2016-12-21 13:16:34.788118. Form: Pro gradu -lomake (https://kirjasto.jyu.fi/julkaisut/julkaisulomakkeet/pro-gradu-lomake). JyX data: [jyx_publishing-allowed (fi) =True]", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by jyx lomake-julkaisija (jyx-julkaisija.group@korppi.jyu.fi) on 2016-12-21T13:16:35Z\nNo. of bitstreams: 2\nURN:NBN:fi:jyu-201612215220.pdf: 628396 bytes, checksum: d0bd19a34cb23ec82ee74c35c8237f63 (MD5)\nlicense.html: 4839 bytes, checksum: 168433611726fbed26717b9994cc6194 (MD5)", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2016-12-21T13:16:35Z (GMT). No. of bitstreams: 2\nURN:NBN:fi:jyu-201612215220.pdf: 628396 bytes, checksum: d0bd19a34cb23ec82ee74c35c8237f63 (MD5)\nlicense.html: 4839 bytes, checksum: 168433611726fbed26717b9994cc6194 (MD5)\n Previous issue date: 2016", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "1 verkkoaineisto (77 sivua)", "language": null, "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "eng", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "Web API development", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Participative design", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Design science", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "microservice architecture", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Web API development and integration for microservice functionality in web applications", "language": null, "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-201612215220", "language": null, "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Tietojenk\u00e4sittelytieteiden laitos", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Department of Computer Science and Information Systems", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Information Systems Science", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietoj\u00e4rjestelm\u00e4tiede", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.date.updated", "value": "2016-12-21T13:16:35Z", "language": null, "element": "date", "qualifier": "updated", "schema": "dc"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": null, "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": "fi", "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "601", "language": null, "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "sovellukset (tietotekniikka)", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "osallistava suunnittelu", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "sovellukset", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.type.okm", "value": "G2", "language": null, "element": "type", "qualifier": "okm", "schema": "dc"}]
id jyx.123456789_52507
language eng
last_indexed 2025-02-18T10:55:00Z
main_date 2016-01-01T00:00:00Z
main_date_str 2016
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/91ec663f-10d0-44b9-9c06-7a15b8c90775\/download","text":"URN:NBN:fi:jyu-201612215220.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2016
record_format qdc
source_str_mv jyx
spellingShingle Oksa, Matias Web API development and integration for microservice functionality in web applications Web API development Participative design Design science microservice architecture Information Systems Science Tietojärjestelmätiede 601 sovellukset (tietotekniikka) osallistava suunnittelu sovellukset
title Web API development and integration for microservice functionality in web applications
title_full Web API development and integration for microservice functionality in web applications
title_fullStr Web API development and integration for microservice functionality in web applications Web API development and integration for microservice functionality in web applications
title_full_unstemmed Web API development and integration for microservice functionality in web applications Web API development and integration for microservice functionality in web applications
title_short Web API development and integration for microservice functionality in web applications
title_sort web api development and integration for microservice functionality in web applications
title_txtP Web API development and integration for microservice functionality in web applications
topic Web API development Participative design Design science microservice architecture Information Systems Science Tietojärjestelmätiede 601 sovellukset (tietotekniikka) osallistava suunnittelu sovellukset
topic_facet 601 Design science Information Systems Science Participative design Tietojärjestelmätiede Web API development microservice architecture osallistava suunnittelu sovellukset sovellukset (tietotekniikka)
url https://jyx.jyu.fi/handle/123456789/52507 http://www.urn.fi/URN:NBN:fi:jyu-201612215220
work_keys_str_mv AT oksamatias webapidevelopmentandintegrationformicroservicefunctionalityinwebapplications