Serialisointiprosessin skaalautuvuus ja suorituskyky Apex-ohjelmointikielellä

Tutkielma tarkasteli Salesforcen Apex-ohjelmointikielellä toteutettuja serialisointiprosesseja keskittyen erityisesti kääreluokan ja avain-arvo-pari-listan käyttöön. Tutkimuksen tavoitteena oli luoda yleistävät artefaktit ja arvioida näiden slaalautuvuutta tietuemäärän kasvaessa ja analysoida suorit...

Full description

Bibliographic Details
Main Author: Loppukaarre, Jussi
Other Authors: Faculty of Information Technology, Informaatioteknologian tiedekunta, Information Technology, Informaatioteknologia, University of Jyväskylä, Jyväskylän yliopisto
Format: Master's thesis
Language:fin
Published: 2024
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/93798
_version_ 1826225752712937472
author Loppukaarre, Jussi
author2 Faculty of Information Technology Informaatioteknologian tiedekunta Information Technology Informaatioteknologia University of Jyväskylä Jyväskylän yliopisto
author_facet Loppukaarre, Jussi Faculty of Information Technology Informaatioteknologian tiedekunta Information Technology Informaatioteknologia University of Jyväskylä Jyväskylän yliopisto Loppukaarre, Jussi Faculty of Information Technology Informaatioteknologian tiedekunta Information Technology Informaatioteknologia University of Jyväskylä Jyväskylän yliopisto
author_sort Loppukaarre, Jussi
datasource_str_mv jyx
description Tutkielma tarkasteli Salesforcen Apex-ohjelmointikielellä toteutettuja serialisointiprosesseja keskittyen erityisesti kääreluokan ja avain-arvo-pari-listan käyttöön. Tutkimuksen tavoitteena oli luoda yleistävät artefaktit ja arvioida näiden slaalautuvuutta tietuemäärän kasvaessa ja analysoida suorituskyvyllisiä eroja synkronisten ja asynkronisten suoritustapojen välillä. Tutkielmassa hyödynnettiin suunnittelutieteen periaatteita, joita soveltamalla luotiin kaksi yleistävää artefaktia. Näiden artefaktien suorituskykyä mitattiin kokonaissuoritusaikana (ms), CPU-aikana (ms) ja käytetyn kekomuistin määränä (kt). Tulosten perusteella havaittiin selkeitä suorituskyvyllisiä eroja kääreluokka ja avain-arvo-pari-lista -artefaktien välillä, mutta skaalautuvuus artefaktien välillä toteutui samankaltaisesti. Lisäksi tunnistettiin suorituskyvyllisiä eroja asynkronisten ja synkronisten suoritustapojen välillä. Tutkielma tarjoaa tietoa Salesforcen Apex-ohjelmointikielellä toimiville ohjelmistokehittäjille, jotka pyrkivät optimoimaan suorituskykyä serialisointiprosesseissa. Tulokset avaavat myös uusia mahdollisuuksia jatkotutkimukselle, erityisesti laajempien prosessien kontekstissa. The thesis examined serialization processes implemented in Salesforce's Apex programming language, with a particular focus on the use of wrapper class and key-value-pair-list. The objective of the study was to create artefacts and assess the scalability as the number of records increased and to analyze performance differences between synchronous and asynchronous execution methods. The thesis applied principles of design science, resulting in the creation of two generalizing artifacts. The performance of these artifacts was measured in terms of total execution time (ms), CPU time (ms), and the amount of heap memory used (kb). Based on the results, clear performance differences were observed between the wrapper class and key-value pair list, although scalability between the artifacts was similar. Additionally, performance disparities were identified between synchronous and asynchronous execution methods. The thesis provides valuable insights for software developers working with Salesforce's Apex programming language, aiming to optimize performance in serialization processes. The findings also open up new avenues for further research, particularly in the context of broader processes.
first_indexed 2024-03-05T21:00:33Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Isom\u00f6tt\u00f6nen, Ville", "language": null, "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Loppukaarre, Jussi", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2024-03-05T06:34:52Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2024-03-05T06:34:52Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2024", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/93798", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Tutkielma tarkasteli Salesforcen Apex-ohjelmointikielell\u00e4 toteutettuja serialisointiprosesseja keskittyen erityisesti k\u00e4\u00e4reluokan ja avain-arvo-pari-listan k\u00e4ytt\u00f6\u00f6n. Tutkimuksen tavoitteena oli luoda yleist\u00e4v\u00e4t artefaktit ja arvioida n\u00e4iden slaalautuvuutta tietuem\u00e4\u00e4r\u00e4n kasvaessa ja analysoida suorituskyvyllisi\u00e4 eroja synkronisten ja asynkronisten suoritustapojen v\u00e4lill\u00e4.\n\nTutkielmassa hy\u00f6dynnettiin suunnittelutieteen periaatteita, joita soveltamalla luotiin kaksi yleist\u00e4v\u00e4\u00e4 artefaktia. N\u00e4iden artefaktien suorituskyky\u00e4 mitattiin kokonaissuoritusaikana (ms), CPU-aikana (ms) ja k\u00e4ytetyn kekomuistin m\u00e4\u00e4r\u00e4n\u00e4 (kt).\n\nTulosten perusteella havaittiin selkeit\u00e4 suorituskyvyllisi\u00e4 eroja k\u00e4\u00e4reluokka ja avain-arvo-pari-lista -artefaktien v\u00e4lill\u00e4, mutta skaalautuvuus artefaktien v\u00e4lill\u00e4 toteutui samankaltaisesti. Lis\u00e4ksi tunnistettiin suorituskyvyllisi\u00e4 eroja asynkronisten ja synkronisten suoritustapojen v\u00e4lill\u00e4.\n\nTutkielma tarjoaa tietoa Salesforcen Apex-ohjelmointikielell\u00e4 toimiville ohjelmistokehitt\u00e4jille, jotka pyrkiv\u00e4t optimoimaan suorituskyky\u00e4 serialisointiprosesseissa. Tulokset avaavat my\u00f6s uusia mahdollisuuksia jatkotutkimukselle, erityisesti laajempien prosessien kontekstissa.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "The thesis examined serialization processes implemented in Salesforce's Apex programming language, with a particular focus on the use of wrapper class and key-value-pair-list. The objective of the study was to create artefacts and assess the scalability as the number of records increased and to analyze performance differences between synchronous and asynchronous execution methods.\n\nThe thesis applied principles of design science, resulting in the creation of two generalizing artifacts. The performance of these artifacts was measured in terms of total execution time (ms), CPU time (ms), and the amount of heap memory used (kb).\n\nBased on the results, clear performance differences were observed between the wrapper class and key-value pair list, although scalability between the artifacts was similar. Additionally, performance disparities were identified between synchronous and asynchronous execution methods.\n\nThe thesis provides valuable insights for software developers working with Salesforce's Apex programming language, aiming to optimize performance in serialization processes. The findings also open up new avenues for further research, particularly in the context of broader processes.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2024-03-05T06:34:52Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2024-03-05T06:34:52Z (GMT). No. of bitstreams: 0\n Previous issue date: 2024", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "71", "language": "", "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": "fin", "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": "skaalautuvuus", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Apex", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "serialisointi", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Serialisointiprosessin skaalautuvuus ja suorituskyky Apex-ohjelmointikielell\u00e4", "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-202403052265", "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": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "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": "Mathematical Information Technology", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietotekniikka", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "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.copyright", "value": "\u00a9 The Author(s)", "language": null, "element": "rights", "qualifier": "copyright", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "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": "602", "language": null, "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "suorituskyky", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "JSON", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "ohjelmointikielet", "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"}]
id jyx.123456789_93798
language fin
last_indexed 2025-02-18T10:55:46Z
main_date 2024-01-01T00:00:00Z
main_date_str 2024
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/1e615c76-2730-4562-85a9-9d58608c5ed3\/download","text":"URN:NBN:fi:jyu-202403052265.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2024
record_format qdc
source_str_mv jyx
spellingShingle Loppukaarre, Jussi Serialisointiprosessin skaalautuvuus ja suorituskyky Apex-ohjelmointikielellä skaalautuvuus Apex serialisointi Mathematical Information Technology Tietotekniikka 602 suorituskyky JSON ohjelmointikielet
title Serialisointiprosessin skaalautuvuus ja suorituskyky Apex-ohjelmointikielellä
title_full Serialisointiprosessin skaalautuvuus ja suorituskyky Apex-ohjelmointikielellä
title_fullStr Serialisointiprosessin skaalautuvuus ja suorituskyky Apex-ohjelmointikielellä Serialisointiprosessin skaalautuvuus ja suorituskyky Apex-ohjelmointikielellä
title_full_unstemmed Serialisointiprosessin skaalautuvuus ja suorituskyky Apex-ohjelmointikielellä Serialisointiprosessin skaalautuvuus ja suorituskyky Apex-ohjelmointikielellä
title_short Serialisointiprosessin skaalautuvuus ja suorituskyky Apex-ohjelmointikielellä
title_sort serialisointiprosessin skaalautuvuus ja suorituskyky apex ohjelmointikielellä
title_txtP Serialisointiprosessin skaalautuvuus ja suorituskyky Apex-ohjelmointikielellä
topic skaalautuvuus Apex serialisointi Mathematical Information Technology Tietotekniikka 602 suorituskyky JSON ohjelmointikielet
topic_facet 602 Apex JSON Mathematical Information Technology Tietotekniikka ohjelmointikielet serialisointi skaalautuvuus suorituskyky
url https://jyx.jyu.fi/handle/123456789/93798 http://www.urn.fi/URN:NBN:fi:jyu-202403052265
work_keys_str_mv AT loppukaarrejussi serialisointiprosessinskaalautuvuusjasuorituskykyapexohjelmointikielellä