REST-arkkitehtuurimallia noudattavan yhteisöpalvelu Web-ohjelmointirajapinnan toteuttaminen PHP:llä
Koskinen, Matti (2012)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201205097158
https://urn.fi/URN:NBN:fi:amk-201205097158
Tiivistelmä
Tämän insinöörityön tarkoitus oli tuottaa REST-arkkitehtuurimallia noudattava Web-ohjelmointirajapinta PHP-ohjelmointikieltä käyttäen. Tilaajayrityksenä toimi M-Brain Insight OY, joka tarvitsi yhteisöpalveluominaisuuksia osaksi laajempaa palvelukokonaisuutta. Työssä tutustuttiin REST-arkkitehtuurimalliin ja kaikkiin niihin työvaiheisiin, joita Web API-palvelun kehittämiseen ja käyttöönottoon kuuluu. REST-arkkitehtuurimallin myötä Web-palvelut saatetaan muiden palveluiden käytettäviksi. Palvelua hyödyntämään voidaan kehittää eri asiakaskäyttöliittymiä ja palvelukokonaisuuksia.
Työtä varten otettiin käyttöön palvelin, jossa oli esiasennettuna Ubuntu Linux –käyttöjärjestelmä. Palvelimelle asennettiin työtä varten Lighttpd-web-palvelin, MongoDB-tietokanta, Apache Subversion –versionhallintajärjestelmä sekä tarvittavat liitännäiset näiden käyttöönottamiseksi. Ohjelmointityössä noudatettiin MVC-arkkitehtuurin periaatteita ohjelmakoodin strukturoinnissa. Toteutettu Web API –palvelu käsittelee pyyntöjen ja vastauksien runkoina JSON-muotoista tietoa.
Työssä määriteltiin User-, UserGroup- ja Notification-resurssit, joihin kaikki tuetut pyynnöt tehdään. User-resurssi määrittää todellisen käyttäjän, joka todennetaan Web-palvelun käyttäjäksi. UserGroup-resurssi on käyttäjän perustama ryhmä, johon muut käyttäjät voivat liittyä tai omistaja voi kutsua. Notification-resurssi toimii väliaikaisresurssina, johon käyttäjä tarpeen mukaan reagoi riippuen muiden käyttäjien tekemistä pyynnöistä liittyä ryhmään tai käyttäjän kontaktiksi. User- ja UserGroup-resursseille on työssä määritelty kolme eri yksityisyysasetusta, joiden perusteella määritellään näkyvyys ja kanssakäymistaso muiden palvelun käyttäjien kesken.
Työtä voidaan suoraan käyttää itsenäisesti tai osana omaa Web-palvelua tai -sovellusta. Se toimii myös esimerkkinä kuinka nykyaikaisia REST-arkkitehtuurimallia noudattavia Web-ohjelmointirajapintoja toteutetaan PHP-ohjelmointikielellä. Työssä ratkaistaan useita tilanteita ja ongelmia, joita REST-arkkitehtuurimallia noudattavan Web API-palvelun kehittäjä kohtaa.
Työtä varten otettiin käyttöön palvelin, jossa oli esiasennettuna Ubuntu Linux –käyttöjärjestelmä. Palvelimelle asennettiin työtä varten Lighttpd-web-palvelin, MongoDB-tietokanta, Apache Subversion –versionhallintajärjestelmä sekä tarvittavat liitännäiset näiden käyttöönottamiseksi. Ohjelmointityössä noudatettiin MVC-arkkitehtuurin periaatteita ohjelmakoodin strukturoinnissa. Toteutettu Web API –palvelu käsittelee pyyntöjen ja vastauksien runkoina JSON-muotoista tietoa.
Työssä määriteltiin User-, UserGroup- ja Notification-resurssit, joihin kaikki tuetut pyynnöt tehdään. User-resurssi määrittää todellisen käyttäjän, joka todennetaan Web-palvelun käyttäjäksi. UserGroup-resurssi on käyttäjän perustama ryhmä, johon muut käyttäjät voivat liittyä tai omistaja voi kutsua. Notification-resurssi toimii väliaikaisresurssina, johon käyttäjä tarpeen mukaan reagoi riippuen muiden käyttäjien tekemistä pyynnöistä liittyä ryhmään tai käyttäjän kontaktiksi. User- ja UserGroup-resursseille on työssä määritelty kolme eri yksityisyysasetusta, joiden perusteella määritellään näkyvyys ja kanssakäymistaso muiden palvelun käyttäjien kesken.
Työtä voidaan suoraan käyttää itsenäisesti tai osana omaa Web-palvelua tai -sovellusta. Se toimii myös esimerkkinä kuinka nykyaikaisia REST-arkkitehtuurimallia noudattavia Web-ohjelmointirajapintoja toteutetaan PHP-ohjelmointikielellä. Työssä ratkaistaan useita tilanteita ja ongelmia, joita REST-arkkitehtuurimallia noudattavan Web API-palvelun kehittäjä kohtaa.