Lomake-elementin tietomallin kehittäminen
Purhonen, Marko (2016)
Purhonen, Marko
Karelia-ammattikorkeakoulu (Pohjois-Karjalan ammattikorkeakoulu)
2016
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2016053010729
https://urn.fi/URN:NBN:fi:amk-2016053010729
Tiivistelmä
Tässä opinnäytetyössä suunniteltiin sähköisen lomake-elementin tietomalli ja toteutettiin siihen entiteetti- ja palveluluokat. Työn toimeksiantaja oli Collapick Company Oy, joka tarvitsi web-sovelluksiin lomake-elementin.
Tietomallin pohjana käytettiin Concrete5:n lomake-elementin tietomallia. Työssä perehdyttiin tietomallin rakenteeseen ja toimintaan, jonka jälkeen tietomallia kehitettiin vaati-musmäärittelyjen pohjalta eteenpäin. Tietomalliin lisättiin rekursiivinen rakenne ja ver-siohistoria.
Työn toteutuksessa käytettiin PHP:tä ja Doctrine ORM -kirjastoa. Entiteetti- ja palveluluokat vastasivat MVC-arkkitehtuurin model-osiota. Palveluluokkien toteutuksessa käytettiin SOA:n mukaista kerrosrakennetta. Versiohistorian toteutuksessa käytettiin Doctrinen elinkaaritapahtumien kuunteluun EventListener-luokkaa. Työn tuotteena valmistui tietomallin pohjalta lomake-elementin entiteetti- ja palveluluokat. Työn tuloksia voi hyödyntää jatkossa projekteissa, joissa tarvitaan esimerkiksi rekursiota tai versiohistoriaa.
Tietomallin pohjana käytettiin Concrete5:n lomake-elementin tietomallia. Työssä perehdyttiin tietomallin rakenteeseen ja toimintaan, jonka jälkeen tietomallia kehitettiin vaati-musmäärittelyjen pohjalta eteenpäin. Tietomalliin lisättiin rekursiivinen rakenne ja ver-siohistoria.
Työn toteutuksessa käytettiin PHP:tä ja Doctrine ORM -kirjastoa. Entiteetti- ja palveluluokat vastasivat MVC-arkkitehtuurin model-osiota. Palveluluokkien toteutuksessa käytettiin SOA:n mukaista kerrosrakennetta. Versiohistorian toteutuksessa käytettiin Doctrinen elinkaaritapahtumien kuunteluun EventListener-luokkaa. Työn tuotteena valmistui tietomallin pohjalta lomake-elementin entiteetti- ja palveluluokat. Työn tuloksia voi hyödyntää jatkossa projekteissa, joissa tarvitaan esimerkiksi rekursiota tai versiohistoriaa.