| dc.contributor.author | Furduc, Roberto | |
| dc.date.accessioned | 2019-01-02T08:52:25Z | |
| dc.date.available | 2019-01-02T08:52:25Z | |
| dc.date.issued | 2018 | |
| dc.identifier.uri | URN:NBN:fi:amk-2018122022680 | |
| dc.identifier.uri | http://www.theseus.fi/handle/10024/159332 | |
| dc.description.abstract | Insinöörityön tarkoituksena oli kertoa toimintatutkimusmallin mukaisesti, miten Tavu Cloud -sovellukselle suunniteltiin ja toteutettiin olemassa olevaan pilvipalveluun rajapinta Multim Oy:n ja sen asiakkaiden käyttöön.
Työssä tarkasteltiin läheisesti REST-arkkitehtuurimallia ja sen rajoitteita. RESTarkkitehtuurimallin lisäksi tarkasteltiin sitä ympäröiviä teknologioita, kuten rajapintoja, HTTP-protokollaa ja HATEOAS-mallia. Lopuksi tarkasteltiin vielä Tavu Cloud -sovelluksen ja Tavu API:n kehitykseen käytettyä Ruby on Rails –ohjelmisto-kehystä, sekä taustalla pyörivää OpenStack-järjestelmää.
Työssä tarkasteltiin rajapinnan suunnittelua olemassa olevan sovelluksen nykytilanteen perusteella. Lisäksi tarkasteltiin mitä ongelmakohtia nykypalvelun beetatestauksen aikana oli löytynyt ja niiden ratkaisumahdollisuuksia. Seuraavaksi työssä kerrottiin, miten suunniteltu rajapinta toteutettiin Ruby on Rails -ohjelmistokehyksen avulla.
Tuloksena saatiin varsin pätevä beetaversio rajapinnasta, joka täyttää toimeksiannon vaatimukset sekä sallii laajennukset tulevaisuutta varten. Puutteitakin rajapinnalle tuli, suurimpana mainittakoon, että rajapinta ei täysin noudata REST-arkkitehtuurimallin kaikki rajoitteita. Puutteista huolimatta, rajapinta paransi merkittävästi nykyisen sovelluksen suorituskykyä, ja siten myös nykyisen sovelluksen käyttäjäkokemusta ja avasi samalla yritykselle ovet rajapinnan jatkokehitykselle tulevaisuudessa. | fi |
| dc.description.abstract | The purpose of the thesis was, using the action research method, to tell how an API
was designed and implemented for the existing Tavu Cloud application for use for
Multim Ltd and its customers.
The work closely examined the REST architectural model and its constraints. In addition to the REST architectural model, surrounding technologies, such as APIs, HTTP
and the HATEOAS model, were examined. Finally, the Ruby on Rails software framework used for the development of the Tavu Cloud application and the Tavu API, as
well as the underlying OpenStack system, were reviewed.
The thesis examined the design of the API based on the current service’s present situation. In addition, problematic issues that were identified from the existing application’s beta testing and their possible solutions were examined. Next, the thesis examines how the planned API was implemented using the Ruby on Rails software framework and what problems came up during implementation and how they were solved.
As a result, a very competent beta version of the API that fulfilled the requirements of
the requirement specification and allowed for future extensions, was obtained. The
API had some shortcomings, with the most notable being the API not fully complying
with the restrictions of the REST architectural model. Despite the shortcomings, the
API significantly improved the query performance, and thus the user experience of the
existing Tavu Cloud application while also opening doors for future development opportunities for the company with its extensibility. | en |
| dc.language.iso | fin | |
| dc.publisher | Satakunnan ammattikorkeakoulu | |
| dc.rights | All rights reserved | |
| dc.title | REST-POHJAISEN OHJELMISTORAJAPINNAN TOTEUTTAMINEN PILVIPALVELULLE | fi |
| dc.type.ontasot | fi=AMK-opinnäytetyö|sv=YH-examensarbete|en=Bachelor's thesis| | |
| dc.identifier.dscollection | 10024/172 | |
| dc.organization | Satakunnan ammattikorkeakoulu | |
| dc.contributor.organization | Satakunnan ammattikorkeakoulu | |
| dc.subject.keyword | ohjelmistokehitys | |
| dc.subject.keyword | ohjelmistoarkkitehtuuri | |
| dc.subject.keyword | ohjelmistosuunnitelu | |
| dc.subject.keyword | REST | |
| dc.subject.keyword | API | |
| dc.subject.specialization | Ohjelmointi | |
| dc.subject.degreeprogram | fi=Tieto- ja viestintätekniikka|sv=Informations- och kommunikationsteknik|en=Information and Communications Technology| | |
| dc.subject.discipline | Tietotekniikka | |