www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26
Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite 0.6 11.12.2000 Mickey Shroff, Janne Kankaanpää Sovelluskehikon toiminnallisen määrittelyn pientä tarkennusta, mm. luku 4 0.5 7.11.2000 Mickey Shroff, Timo Lämsä Sovelluskehikon toiminnallisen määrittelyn ensimmäinen versio DEMOSOVELLUKSEN TEKNINEN MÄÄRITTELY 2 www.niksula.cs.hut.fi/~jjkankaa//
Mickey Shroff 3 (12) Sisällys DOKUMENTIN VERSIOHISTORIA... 2 1. JOHDANTO... 4 1.1. TARKOITUS JA KATTAVUUS... 4 1.2. TUOTE JA YMPÄRISTÖ... 4 1.3. MÄÄRITELMÄT, MERKINTÄTAVAT JA LYHENTEET... 4 1.4. VIITTEET... 4 1.5. YLEISKATSAUS DOKUMENTTIIN... 5 2. JÄRJESTELMÄN YLEISKUVAUS... 6 2.1. SOVELLUSALUEEN KUVAUS... 6 2.2. JÄRJESTELMÄN LIITTYMINEN YMPÄRISTÖÖNSÄ... 6 2.3. LAITTEISTOYMPÄRISTÖ... 6 2.4. OHJELMISTOYMPÄRISTÖ... 6 2.5. TOTEUTUKSEN KESKEISET REUNAEHDOT... 6 3. ARKKITEHTUURIN KUVAUS... 8 3.1. TIETOKANTA-ARKKITEHTUURI... 8 3.2. OHJELMISTOARKKITEHTUURI, MODUULIT JA PROSESSIT... 8 4. MODUULI- (JA PROSESSI-) KUVAUKSET... 9 4.1. WORKTIME-MODUULI... 10 4.2. REPORT-MODUULI... 10 4.3. AUTHORITY-MODUULI... 10 5. MUUT ERITYISET TEKNISET RATKAISUT... 12 6. HYLÄTYT RATKAISUVAIHTOEHDOT... 12 7. VIRHEKÄSITTELY... 12 DEMOSOVELLUKSEN TEKNINEN MÄÄRITTELY 3 www.niksula.cs.hut.fi/~jjkankaa//
Mickey Shroff 4 (12) 1. JOHDANTO 1.1. Tarkoitus ja kattavuus Dokumentin tarkoituksena on kuvata käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa sovelluskehyksen koekäyttöön tarkoitettu sovellus projekti- ja työaikaseuranta. Dokumentti ei ole vielä tarpeeksi kattava demosovelluksen toteuttamiseksi. Tämä johtuu siitä, että sovelluskehikon määrittelyt valmistuvat myös tässä vaiheessa. Seuraavassa vaiheessa tämä dokumentti tullaan päivittämään sen vaatimalle tasolle. Demosovellus on väline osoittaa visuaalisella tavalla sovelluskehikon toimivuus. Demosovellusta ei suoranaisesti tehdä A-Ware Oy:lle, vaan sen tarkoitus on osoittaa helposti ymmärrettävässä muodossa sovelluskehikon toimivuus reaalimaailmassa. 1.2. Tuote ja ympäristö Tuotteena on www-pohjainen projekti- ja työaikaseurantajärjestelmä. Tuotteesta toteutetaan ainoastaan prototyyppi ja toteutuksessä käytetään hyväksi ja testataan sovelluskehystä. Katso tarkempi kuvaus demosovelluksesta vaatimusmäärittelystä [2]. Sovellus toteutetaan www-pohjaisena. Palvelinohjelmistoina ovat Windows NT Server 4.0 ja IBM WebSphrere Application Server 3.5. Toteutustekniikat: Java Server Pages (JSP), Java Servlets ja Enterprise Java Beans (EJB). 1.3. Määritelmät, merkintätavat ja lyhenteet Sovelluskehikko Projektissa toteutettava lopputuote Demosovellus Projekti- ja työaikaseurantajärjestelmä, joka toteutetaan sovelluskehikkoa hyväksikäyttäen ja samalla sitä testaten. 1.4. Viitteet [1] Demosovelluksen toiminnallinen määrittely, 7.11.2000, versio 1.0 tai uudempi, Mickey Shroff & Timo Lämsä,, http://www.niksula.cs.hut.fi/~jjkankaa//demotoiminnallinenmaarittely.pdf [2] Vaatimusmäärittely, 16.10.2000, versio 1.0 tai uudempi, Tomas Björnfot,, http://www.niksula.cs.hut.fi/~jjkankaa//vaatimusmaarittely.pdf [3] Demosovelluksen tietokantakuvaus, 7.11.2000, versio 1.0 tai uudempi, Timo Lämsä,, http://www.niksula.cs.hut.fi/~jjkankaa//demotietokantakuvaus.pdf DEMOSOVELLUKSEN TEKNINEN MÄÄRITTELY 4 www.niksula.cs.hut.fi/~jjkankaa//
Mickey Shroff 5 (12) 1.5. Yleiskatsaus dokumenttiin Kappaleessa kaksi tarkastelemme hieman demosovelluksen toimintaympäristöä, sen sovellusaluetta sekä mahdollisiä toiminnallisia reunaehtoja. Kolmannessa kappaleessa kuvataan ohjelmistoarkkitehtuuria ja moduuleita pintapuolisesti. Neljännessä kappaleessa kerromme tarkemmin demosovelluksen sisäisistä rakenteista. DEMOSOVELLUKSEN TEKNINEN MÄÄRITTELY 5 www.niksula.cs.hut.fi/~jjkankaa//
Mickey Shroff 6 (12) 2. JÄRJESTELMÄN YLEISKUVAUS 2.1. Sovellusalueen kuvaus Demosovelluksessa voidaan autentikoida käyttäjä ja antaa käyttäjälle hänen auktoriteettiä vastaavat näkymät koskien raportointia ja tiedon syöttämistä. Projekti- ja työaikaseurantajärjestelmä on osa testi- ja demoympäristöä käyttäjien tunnistaminen ja sovelluskehykselle. Projekti- ja työaikaseuranta järjestelmän tarvitsema data haetaan tietolähteestä käyttäen sovelluskehikon tarjoamia palveluita. Kaikki data, mikä liikkuu demosovelluksen ja tietolähteen/tietolähteiden välillä haetaan ja syötetään sovelluskehikon läpi. 2.2. Järjestelmän liittyminen ympäristöönsä Projekti- ja työaikaseurantajärjestelmä on www-pohjainen, joka servlettien avulla liittyy käyttäjien tunnistaminen ja sovelluskehykseen. Liityntätapa demosovelluksen ja sovelluskehikon välillä tapahtuu sovelluskehikon rajapinnan määrittelemällä tavalla. 2.3. Laitteistoympäristö Demosovellus on www-pohjainen laitteisto riippumaton. Koneen tehokkuus parantaa ohjemiston käyttettävyyttä lisääntyvän nopeuden ansiosta. Nopeus ei kuitenkaan tule olemaan kriittinen tekijä, koska haettavan ja syötettävän datan koko on erittäin pienikokoista ja hyvin purskeista. 2.4. Ohjelmistoympäristö Projekti- ja työaikaseurantajärjestelmän tulee toimia Netscape 4-> ja Internet Explorer 4-> -selaimilla. Demosovelluksen tarvitsema data haetaan SQL - tietokannasta. Käyttäjien tunnistus tapahtuu LDAP:n kautta. Nämä tapahtumat ovat kuitenkin demosovelluskehittäjältä piilossa, koska kaikki data siirtyy sovelluskehikon tarjoamien palveluiden kautta. On kuitenkin muistettava, että demosovelluksen kehittäjien on tiedostettava käyttämänsä tietokannan asettamat rajoitteet. Tietolähdetietokanta ja käyttäjien tunnistustietokannat saattavat muuttua työn edetessä. 2.5. Toteutuksen keskeiset reunaehdot Asiakaalla ei ole muita vaatimuksia kuin, että demosovelluksella voidaan osoittaa sovelluskehikon toimivuus. Toimintaympäristön asettamat rajoitteet eivät tule olemaan ongelma, koska demosovelluksen tekijät ovat näistä hyvin selvillä eikä demosovellus tule ylittämään näitä reunaehtoja. DEMOSOVELLUKSEN TEKNINEN MÄÄRITTELY 6 www.niksula.cs.hut.fi/~jjkankaa//
Mickey Shroff 7 (12) Vaikka tietokannaksi on asetettu SQL, ei tietokanta-arkkitehtuuri ole siihen sidottu. Tämä mahdollistaa sovelluskehikon palveluiden käytön, vaikka tietokantaohjelmisto myöhemmin vaihdettaisiinkin. DEMOSOVELLUKSEN TEKNINEN MÄÄRITTELY 7 www.niksula.cs.hut.fi/~jjkankaa//
Mickey Shroff 8 (12) 3. ARKKITEHTUURIN KUVAUS Demosovellus voidaan jakaa kolmeen osaan: käyttöliittymään (näkymät), business logiikkaan (bean) ja sovelluskehikon rajapinnan hyödyntämiseen (servlet). 3.1. Tietokanta-arkkitehtuuri Tietokanta-arkkitehtuuri on dokumentissa Demosovelluksen tietokantakuvaus [3]. 3.2. Ohjelmistoarkkitehtuuri, moduulit ja prosessit Demosovellus on sinällään melko suppea kokonaisuus, eikä siten välttämättä tarvitse tarkkaa moduulien kuvausta tai kokonaisuuksien jakoa moduuleihin ilman, että se vaikuttaisi keinotekoiselta. Demosovelluksen toimivuus on täysin riippuvainen sovelluskehyksen tarjoamista palveluista. Tämä seikka rajoittaa demosovelluksen tarkkaa määrittelemistä. Tätä dokumenttiä tullaan päivittämään T2-vaiheessa sen vaatimalle tasolle. T2-vaiheessa Demosovellus jaettiin kolmeen moduuliin: worktime- (ks. 4.1.1. Työajan ilmoittaminen, toiminnallinen määrittely), report- (ks. 4.1.2. Raportit, toiminnallinen määrittely), ja authority -moduuliin. Jokainen moduuli koostuu jsp:stä, servleteistä ja Java beaneistä. Seuraavaksi tarkastelemme eri moduulien koostumuksia ja tehtäviä. DEMOSOVELLUKSEN TEKNINEN MÄÄRITTELY 8 www.niksula.cs.hut.fi/~jjkankaa//
Mickey Shroff 9 (12) 4. MODUULI- (JA PROSESSI-) KUVAUKSET Koska sovelluskehikon käytöstä ei ole olemassa käytännön esimerkkejä, tullaan demosovelluksen toteuttamisessa käyttämään osittain ad hoc periaatteita. Moduulien väliset suhteet näkyvät alla olevasta kuvasta 1. Authoritymoduuli Reportmoduuli Data Data Työajan haku/tallennus raportin haku/tallennus Principal Principal Command/ response Worktimemoduuli Command/ response Sovellus kehikko Kuva 1 DEMOSOVELLUKSEN TEKNINEN MÄÄRITTELY 9 www.niksula.cs.hut.fi/~jjkankaa//
Mickey Shroff 10 (12) 4.1. Worktime-moduuli 4.2.1. Yleiskuvaus Tämän moduulin avulla käyttäjä voi syöttää ja lukea omia työaikamerkintöjään ja tehtäviään. Moduuli koostuu seuraavista osista: näkymästä (worktime.jsp), sovelluskehikon liittymästä (Servlet) ja näkymien datan muodostamiseen tarvittavista beaneistä. 4.2.2. Rajapinta Toimii rajapintana www-selaimen ja sovelluskehikon välillä. 4.2.3. Toteutus - 4.2.4. Virhekäsittely Tarkistetaan, että www-selaimesta saatu data on tietokannan määrittelyn mukainen. 4.2. Report-moduuli 4.2.1. Yleiskuvaus Moduulin tehtäviin kuuluu luoda näkymät ja antaa raportteja eri auktoriteettitasolla oleville käyttäjille. Moduuli koostuu seuraavista osista: näkymästä (report.jsp), sovelluskehikon liittymästä (Servlet) ja näkymien datan muodostamiseen tarvittavista beaneistä. 4.2.2. Rajapinta Toimii rajapintana www-selaimen ja sovelluskehikon välillä. 4.2.3. Toteutus 4.3. Authority-moduuli - 4.2.4. Virhekäsittely 4.3.1. Yleiskuvaus Tämän kautta käyttäjät voidaan autentikoida. Moduuli koostuu seuraavista osista: näkymästä (authority.jsp), sovelluskehikon liittymästä (Servlet) ja näkymien datan muodostamiseen tarvittavista beaneistä. 4.3.2. Rajapinta Kuvasta 1 nähdään hyvin authority-moduulin rooli rajapintana. DEMOSOVELLUKSEN TEKNINEN MÄÄRITTELY 10 www.niksula.cs.hut.fi/~jjkankaa//
Mickey Shroff 11 (12) 4.3.3. Toteutus - 4.3.4. Virhekäsittely Tarkistetaan välitettävän datan oikeellisuus. DEMOSOVELLUKSEN TEKNINEN MÄÄRITTELY 11 www.niksula.cs.hut.fi/~jjkankaa//
Mickey Shroff 12 (12) 5. MUUT ERITYISET TEKNISET RATKAISUT Tyhjä - toistaiseksi 6. HYLÄTYT RATKAISUVAIHTOEHDOT Tyhjä - toistaiseksi 7. VIRHEKÄSITTELY Tyhjä - toistaiseksi DEMOSOVELLUKSEN TEKNINEN MÄÄRITTELY 12 www.niksula.cs.hut.fi/~jjkankaa//