Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Dokumentti

Verkkomaksut - projekti - Määrittelyt

Versio / Päiväys

0.90 92 / 303.45.2012

Päivitykset

15.3.2012: Luotu dokumenttipohja
30 3.45.2012: Ensimmäisen version muokkausta (keskeneräinen)
Kommenttikierroksella!

1. Johdanto

Verkkomaksut Metropoliassa projekti on perustettu syksyllä 2011 kehittämään erilaisten maksujen keräämisen tietojärjestelmä Metropoliaan. Näitä maksuja ovat esimerkiksi:

...

Rooli

Henkilö

Laskutusjärjestelmän toimittajan asiantuntija

Anu Stenbacka, Aditro

Rajapinnat ja palveluväylä

Lauri Viitanen !!! Puuttuva resurssi !!!

Ohjelmointi

Simo Tiainen

Palvelimet

Ronnie Lupari

Käytettävyys

Tea Dickman

Webmaster

Pekka Perälampi

Projekti joutuu tilaamaan konsultointia talousautomaatioiden sekä ko. toimintoja varten tarvittavien rajapintojen rakentamista varten Metropolian taloushallinnon tietojärjestelmien toimittajalta (Aditro Oy). Lisäksi projekti voi tilata myös muilta toimijoita tarvittavaa konsultointia.

1.2

...

Kehitettävät tietojärjestelmät sekä niiden tietoliittymät muihin tietojärjestelmiin

Projektin tehtävänä on luoda määrittelyt sekä mahdolliset toteutukset seuraaviin tietojärjestelmiin:

...

Kuten jo edellä tässä määrittelydokumentissa on mainittu, järjestelmä on suunniteltu toteutettavaksi siten, että toiminnot jaetaan palveluväylän ja erillisen asiointisovelluksen kesken. Jako Jaon perusteena on seuraavat periaatteet:

...

Ohjelmistokokonaisuuden käyttöliittymät ja niihin liittyvät käyttöliittymien toiminnallisuuslogiikat on sijoitettu PHP-ohjelmistoon, joka voidaan käsittää koostuvan seuraavista kokonaisuukista:

  • Sovellusalusta kerrosSovellusalustakerros:
    • Asiointisovelluksen käyttöliittymät on suunniteltu toteutettavaksi PHP-ohjelmointikielellä. Lisäksi sovellusalustassa on tarkoitus käyttää Codeigniter PHP-sovelluskehystä, jonka toiminnallisuutta laajennetaan Metropolia-kohtaisilla laajennoksilla.
  • Sovelluslogiikka kerrosSovelluslogiikkakerros:
    • Sovellusalustan toiminnallisuuksien lisäksi tarvitaan käyttöliittymän toiminnallisuuksia varten sovelluslogiikkoja ja -luokkia.
  • Käyttöliittymä kerrosKäyttöliittymäkerros:
    • Varsinaiset käyttöliittymät tarvitsevat PHP:llä toteutettavien palvelintoimintojen tueksi myös asiakaspuolella ajettavia selaintoiminnallisuuksia. Nämä toteutetaan jQuery- ja jQueryUI-javascript-kirjastoilla, joiden käytöllä voidan turvata myös selainyhteensopivuus modernien internet-selaimien kanssa. Käyttöliittymien luomisessa käytetään myös HTML-kieltä , jonka käytössä kannattaa myös pyrkiä standardien noudattamiseenstandardien mukaisesti.

Metropoliassa ja myös OPI-projektissa palveluväylä toteutukset palveluväylätoteutukset on valittu toteutettaviksi Apache ServiceMixillä. Tämän vuoksi ohjelmistokokonaisuuden palveluväylään suunnitellut toiminnallisuudet toteutettaneen sekä Java-kielellä että Camel-toiminnallisuuksina. Maksu- ja tunnistustoiminnallisuuksien lisäksi on suunniteltu, että talousautomaatioon tarvittavat ohjelmistotoiminnallisuudet sijoitetaan palveluväylään.

...

Kuten edellä on jo eritelty, tekninen toteutus on jaettu kahteen osaa: asiointisovellukseen ja palveluväylään sijoitettuihin järjestelmäpalvelu toiminnallisuuksiin. Seuraavassa käydään läpi toimintojen tarkemmat määrittelyt.

4.1 Asiointipalvelu

Asiointipalvelu sivuston Asiointipalvelusivuston on tarkoitustoimia tarkoitus toimia loppukäyttäjille suunnattujen palveluiden koostosivustona. Sen tarkoituksena on tukea Metropolian intranet-palveluita ja internet-sivustoja tarjoamalla käyttöliittymät loppukäyttäjille suunnattuihin palveluihin.

...

 

Käyttötapauksen kuvaus

Viittaus

1.

Käyttäjä kirjautuu asiointijärjestelmään ja valitsee omien tietojen muokkaus -toiminnon.

 

2.

Käyttäjä tekee muokkaukset ja tallentaa ne.

T1

3.

Asiointisovellus lähettää muutokset palveluväylään, joka käsittelyn jälkeen tallentaa muutokset tai hylkää ne.

Määrittelyn kohta Palveluväylä toiminto: Asiakkaan muokkaus, T2 tai T3

4.

Palveluväylän palaute lähetetään asiointisovellukselle, joka näyttää palautteen käyttäjälle.

T4

...

 

Käyttötapauksen kuvaus

Viittaus

1.

Käyttäjä käynnistää kirjautumisen linkin takaa.


2.

Käyttäjä valitsee kirjautumis tavankirjautumistavan: sähköpostiosoite, metropolia-tunnus tai kirjautuminen pankkitunnuksilla.

T1 TAI T2 TAI T3

3.

Palveluväylä käsittelee käyttäjän kirjautumisen käyttäjän antamien syötteiden perusteella.

T4 TAI T5

4.

Asiointisovellus käsittelee käyttäjän kirjautumisesta saadun vasteen ja näyttää tuloksen käyttäjälle. Onnistuneen kirjautumisen jälkeen käyttäjä on kirjautunut järjestelmään käyttäjätietojen sallimalla käyttäjätasolla.

 

...

 

Poikkeukset

P1

Käyttäjää ei tunnisteta millään tunnistautumismenetelmällä: epäonnistunut kirjautuminen.

P2

Käyttäjä käyttää vahvaa tunnistautumista, mutta hänelle ei löydy käyttäjäprofiilia: käyttäjä siirretään automaattisesti rekisteröitymisprosessiin. ??? Tarvitseeko sen jälkeen tunnistautua uudelleen ???

 

Muut vaatimukset

V1

 

 

Käsittelysäännöt

K1

 

...

 

Käyttötapauksen kuvaus

Viittaus

1.

Käyttäjä aloittaa käsittelymaksun maksamisen joko kirjautuneen tai kirjautumattomana.

 

2.

Käyttäjältä kysytään tarvittavat tiedot käsittelymaksun suorittamiseksi.

T1

3.

Kun käsittelymaksu on valmis suoritettavaksi, käyttäjältä kysytään hänen haluamansa maksutapa.

T2

4.

Käyttäjä palautuu hyväksytyn tai hylätyn maksutapahtuman jälkeen asiointipalveluun ja hänelle näytetään maksaminen maksamisen lopputulos.

T3

 

Tulokset

T1

Maksukelpoinen käsittelymaksu

T2

Maksamisen ohjattu toiminto, kts. vastaava kohta määrittelyn käyttötapauksista.

T3

Palveluväylän palauttama maksutapahtuman lopputulos.

...

 

Poikkeukset

P1

Käyttäjä ei ole kirjautunut: ei mahdollista suorittaa maksua.

P2

Maksaminen epäonnistuu: tietokantaan jää kesken jäänyt tapahtuma, mutta ao. toimeksiantotapahtumaa ei voi suorittaa loppuun. !!! Miten ratkotaan tämä tilanne? !!!

 

Muut vaatimukset

V1

 

 

Käsittelysäännöt

K1

Käyttäjä haluaa laskun opintomaksusta: käyttäjä ilmoittaa tästä erillisessä prosessissa.

...

 

Avoimet Asiat

A1

Miten toimitaan poikkeus tapauksissapoikkeustapauksissa? (keskeytynyt maksutapahtuma, virheellinen palaute jne.

...

 

Avoimet Asiat

A1

Miten toimitaan poikkeus tapauksissapoikkeustapauksissa? (keskeytynyt maksutapahtuma, virheellinen palaute jne.

...

 

Käyttötapauksen kuvaus

Viittaus

1.

 

Taloushallinnon käyttäjä kirjautuu asiointijärjestelmään omilla tunnuksillaan.

T1  

2.

 

Työntekijä valitsee toimintolistalta toiminnon "Maksujen seuranta".

T2  

3.

 

Työntekijä voi selailla maksuja suoraan käyttöliittymästä. Työntekijä voi myös asettaa suodatuksen näkymälle.

T3  

 

Tulokset

T1
 

Kirjautunut käyttäjä

T2
 

Suodattamaton seurantanäkymä.

T3

Käyttäjän välinnoilla suodatettu näkymä.

 

Poikkeukset

P1

 

P2

 

P3

 

 

Muut vaatimukset

V1

  V2

 

V3

 

 

Käsittelysäännöt

K1

 

K2

K3

 

Avoimet Asiat

 

 

Avoimet Asiat

A1

 

A2

 

A3

 

A1

Mitkä tiedot voivat olla suodatustekijöitä?

Käyttötiheys

 

Muuta

 

...

 

Käyttötapauksen nimi

 

Taloushallinnon toiminto: Maksettujen tapahtumien siirto IntimePlussaan

...

 

Käyttötapauksen nimi

 

Ylläpitotoiminto: Lokien katselu

Yleiskuvaus

Asiontijärjestelmän Asiointijärjestelmän pääkäyttäjillä ja ylläpitäjillä on käytössään käyttöliittymä, jolla pystyy tarkastelemaan järjestelmän lokeja.

...

 

Käyttötapauksen kuvaus

Viittaus

1.

 

Pääkäyttäjä kirjautuu asiontijärjestelmään omilla tunnuksillaan.

T1  

2.

 

Käyttäjä valitsee toimintolistalta toiminnon "Lokien katselu"

T2  

3.

 

Käyttäjälle näytetään näkymä lokitapahtumiin. Näkymää voi suodattaa eri hakutekijöillä.

T3  

 

Tulokset

T1
 

Kirjautunut käyttäjä

T2
 

Suodattamaton lokinäkymä.

T3

Käyttäjän valinnoilla suodatettu näkymä.

 

Poikkeukset

P1

 

P2

  P3

 

 

Muut vaatimukset

V1
 

Suodatustekijä: ilmoitustyyppi

V2
 

Suodatustekijä: päivämäärä

V3
 

Suodatustekijä: käyttäjä

 

Käsittelysäännöt

K1

 

K2

 

K3

 

 

Avoimet Asiat

A1  

Mitkä muut tiedot voivat olla suodatustekijöitä?

A2

 

A3

 

Näytetäänkö lokissa kaikkien asiointijärjestelmän lokitallennukset vai vain ao. asiointisovelluksen?

Käyttötiheys

 

Muuta

 

...

 

Käyttötapauksen nimi

 

Ylläpitotoiminto: Järjestelmän ylläpitotilan hallinta

...

Esitiedot/Ehdot

Asiointisovelluksella tulee olla käyttöoikeus palveluväylän toimintoon.
Palveluväylään toimitetut käyttäjäntiedot tulee olla tietosisällöltään vähimmäistasolla.
Päivitettävän käyttäjäntiedot käyttäjän tiedot tulee löytyä tietokannasta.

 

Käyttötapauksen kuvaus

Viittaus

1.

Asiointisovellus lähettää palveluväylään palvelukuvauksen mukaisen päivitys päivittävän xml-tiedoston käyttäjästä palveluväylään.

Määrittelyn kohta 4.2.2

2.

Palveluväylä käsittelee palvelupyynnön ja hyväksyy tai hylkää pyynnön.

Hyväksytty: kohta 3 / Hylätty: kohta 5.

3.

Palveluväylä päivittää hyväksytyn pyynnön perusteella käyttäjän tiedot.

T1

4.

Tietojen päivityksestä lähetetään palaute asiointisovellukselle (xml-tiedosto) ja käyttäjän tiedot näytetään asiointisovellusta käyttävälle käyttäjälle.

T2

5.

Palveluväylä palauttaa asiointisovellukselle tiedon päivityksen hylkäyksestä ja välittää selväkielisen syyn päivityksen hylkäykseen.

T3

...

4.2.2 Toimintojen Webservice-rajapinnan kuvaukset
  • eli palveluväylä toimintojen sekä talousautomaation paketointi muille sovelluksille sopivaksi !!! Määrittely kesken !!!
4.2.3 Maksu- ja tunnistustoiminnallisuuksien Vetuma-rajapintojen kuvaukset

...

4.2.4 Talousautomaation rajapinnan kuvaukset
  • siirtotiedostokuvaukset: huom! määrämittaisia ASCII-tiedostoja
  • muista laittaa suunnitelmiin tiedot, että mikä toiminnallisuus luo tiedon ja millaisella syklillä!
4.2.5 Tietomalli ja tietokanta

Jotta palveluväylä pystyy tarjoamaan asiointisovelluksille tarvittavat palvelut, ulkoisten toiminnallisten palveluiden lisäksi tarvitaan käsiteltävien tietojen tallentamiseksi tietokanta.

Talousautomaatio siirtotiedoston muodostus tekee ASCII-tekstitiedoston (ISO 8859-1 merkistö), jossa siirretään myyntitapahtumat Intime Plus järjestelmään määrämittaisella tiedostolla.

Tiedosto on määritelty seuraavissa tiedostokuvauksissa (Liitteenä. Ko. tiedostot sisältävät Aditron kanssa käydyissä määrittelypalavereissa tehdyt täydennykset ja korjaukset.):

Myyntitilaus-otsikko - palaverikorjaukset.pdf

Myyntitilauserän kuvaus - palaverikorjaukset.pdf

Myyntitilausrivin kuvaus - palaverikorjaukset.pdf

Tiedosto muodostuu siirtoriveistä, jotka ovat tilauskohtaisia. Rakenne menee seuraavasti:

Tilauksen ensimmäisenä tietueena on aina tilausotsikko. Seuraavina tulevat tilaukseen
kuuluvat toimituserät, joiden ensimmäisenä tietueena on toimituserätietue ja välittömästi
sen perässä ko. toimituserään kuuluvat tilausrivitietueet. Kaikkien tietueiden pituus on
oltava sama.

Käyttöönoton alkuvaiheessa siirtotiedosto muodostetaan manuaalisesti. Kun tekniikka on todettu toimivaksi, siirtotiedosto muodostetaan automaattisesti päivittäin klo 3.00 (aamuyöllä) edellisen päivän siirtokelpoisesta materiaalista.

Siirtotiedostoon tulee vain siirtokelpoinen ja sisällöltään tarkastukset läpäisevä materiaali.

4.2.5 Tietomalli ja tietokanta

Jotta palveluväylä pystyy tarjoamaan asiointisovelluksille tarvittavat palvelut, ulkoisten toiminnallisten palveluiden lisäksi tarvitaan käsiteltävien tietojen tallentamiseksi tietokanta.

Tietokanta on rakennettu siten, että on yritetty ottaa huomioon asiointitapahtumien tarpeet, käyttäjätarpeet sekä myös maksutapahtumien ja talousautomaation tarpeet. Lisäksi on yritetty ottaa huomioon joitakin tulevia tarpeita, kuten Avoimen Tietokanta on rakennettu siten, että on yritetty ottaa huomioon asiointitapahtumien tarpeet, käyttäjätarpeet sekä myös maksutapahtumien ja talousautomaation tarpeet. Lisäksi on yritetty ottaa huomioon joitakin tulevia tarpeita, kuten Avoimen ammattikorkeakoulun opintojakso osallistumisien myynti.

Tietokannan kehittäminen aloitettiin seuraavalla käsitekartalla. Käsitekartalla mietittiin tietoja ja niiden linkittymistä toisiinsa.

...

Tietokanta - Käsitekartta

...

Image Removed

linkittymistä toisiinsa.

...

Tietokanta - Käsitekartta

...

Image Added

Käsitekartan luomisen jälkeen voitiin muodostaa seuraavat tietokanta taulut:

...

4.2.5.1 User-taulu: Käyttäjätiedot

...

Käyttäjien tiedot tallennetaan tähän tauluun.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

ID

Käyttäjätunniste

int

long

Uniikki, pakollinen, autoincrement

 

Käyttäjän juokseva tunniste.

FK

FK_Person_PersonID

Person-taulun ID

int

long

Uniikki, pakollinen

Person-taulu, PersonID-kenttä

1:1 viittaus Person-tauluun. Henkilöstä muodostuu yksi identiteetti kahden taulun tietojen perusteella.

FK

FK_UserProfiles_ProfileName

UserProfiles-tauluun tallennettu profiilinimi

varchar

20

Pakollinen

UserProfiles-taulu, ProfileName-kenttä

 

 

MetropoliaID

Metropolia käyttäjätunnus

varchar

Tomilta tieto

 

 

Mikäli käyttäjällä on olemassa Metropolia tunnus, tunnus tallennetaan tähän kenttään. Kun käyttäjä tunnistetaan vahvasti, tämän tiedon vastine haetaan tunnistautumisen perusteella Ammeesta.

 

EmailAddress

Sähköpostiosoite

varchar

100

 

 

Käyttäjän ilmoittama sähköpostiosoite. Voidaan käyttää myös kirjautumistunnuksena

 

MetropoliaIDIsInUse

Metropolia-tunnus käytössä?

boolean

 

Oletus: false Lisäksi, jos Person - IsInUse kenttä on false, niin tämäkin on false.

 

Onko käyttäjän Metropolia tunnus kirjautumiskäytössä? Käytännössä CAS validoi käyttöoikeuden voimassaolon.

 

EmailIDIsInUse

Sähköpostitunnus käytössä?

boolean

 

Oletus: false Lisäksi, jos Person - IsInUse kenttä on false, niin tämäkin on false.

 

Onko käyttäjän sähköpostiosoite käytössä kirjautumiseen?

 

LastLogin

Viimeinen kirjautuminen

datetime

 

 

 

Milloin käyttäjä on kirjautunut viimeksi?

 

LastLoginIP

Viimeisen kirjautumisen IP-osoite

varchar

15

 

 

Mistä osoitteesta käyttäjä on viimeksi kirjautunut?

 

LastUpdate

Viimeisin päivitys

datetime

 

Pakollinen

 

Milloin tietuetta on viimeksi päivitetty?

 

UpdateBy

Viimeisin päivittäjä

varchar

Tomilta tieto

Pakollinen

User-taulu - ID-kenttä

Kuka käyttäjä on viimeksi päivittänyt tietuetta?

...

4.2.5.2 Person-taulu: Henkilötiedot

...

Käyttäjään liittyvän henkilön tiedot tallennetaan omaan tauluunsa. Tiedot on tallennettu 1:1 viittauksella, jolloin yhtä käyttäjätunnusta vastaa yksi henkilö.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

PersonID

Henkilötunniste

int

long

Uniikki, pakollinen, autoincrement

 

Henkilön juokseva tunniste.

 

CustomerID

Asiakasnumero

int

short

Uniikki

 

Henkilölle liitetty asiakasnumero. Sama kuin IntimePlussaan siirrettävä asiakasnumero

 

ID

Henkilötunnus

varchar

11

Uniikki, vain suomalaiset, vahvatunnistus

Henkilötunnuksen määritelmä

Tieto tallennetaan tietokantaan salattuna kehitystiimissä määritellyllä salausmenetelmällä.

 

StudentID

Opiskelijanumero

int / varchar

?

 

Winha

Opiskelijanumero ilmeisesti Winhasta. Tietotyyppi pitää tarkistaa!

 

Surname

Sukunimi

varchar

Tomilta tieto

Pakollinen

 

Henkilön virallinen sukunimi. Tieto haetaan mieluiten virallisista tietolähteistä.

 

Firstnames

Etunimet

varchar

Tomilta tieto

Pakollinen

 

Henkilön viralliset etunimet. Tieto haetaan mieluiten virallisista tietolähteistä.

 

IsStrongIdentified

Vahva tunnistus suoritettu

boolean

 

Oletus: false

 

Onko käyttäjä tunnistettu vahvalla tunnistus menetelmällä?

 

Winha_TK_koodi

Winha-järjestelmän TK-koodi

varchar

Pituus Winhasta!

 

Winha

Winhassa käytössä oleva koulutusohjelman koodi, jolla opiskelija on kohdistettu koulutusohjelmalle. Tieto haetaan Ammeesta.

 

IsInUse

On käytössä

boolean

 

Oletus: false

 

Onko henkilö käytössä?

 

LastUpdate

Viimeisin päivitys

datetime

 

Pakollinen

 

Milloin tietuetta on viimeksi päivitetty?

 

UpdateBy

Viimeisin päivittäjä

varchar

Tomilta tieto

Pakollinen

User-taulu - ID-kenttä

Kuka käyttäjä on viimeksi päivittänyt tietuetta?

Avoimet kysymykset: tarvitaanko kutsumanimi-kenttä?

Miten käsitellään Winha_TK_koodin koodisto?

...

4.2.5.3 PersonAddress-taulu: Henkilön osoitetiedot

...

Henkilöön liittyvien osoitteiden tiedot tallennetaan omaan tauluunsa. Henkilölle voi olla liitettynä useampi kuin yksi osoite. Osoitteet eroitellaan toisistaan rooleina, esim. kotiosoite, työosoite, opiskelupaikan osoite jne.

Henkilön kotiosoite-tiedot pyritään täydentämään vahvan tunnistautumisen yhteydessä saatavan tiedon mukaiseksi.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

FK / PK

FK_Person_PersonID

Henkilön tunniste

int

long

 

 

Henkilön tunniste Person-taulusta

PK

Address_Role

Osoitteen rooli

varchar

25

 

Määritelty rooliluokitus

Yllämainittu osoitteen rooliluokitus.

 

PostalAddress

Postiosoite

varchar

100

 

 

Postiosoite

 

PostCode

Postinumero

varchar

10

 

 

Postinumero

 

Municipality

Postitoimipaikka

varchar

50

 

 

Postitoimipaikka

 

Country

Maa

varchar

50

 

 

Maa

 

CompanyID

Y-tunnus

varchar

15

 

YTJ-tietojärjestelmän y-tunnus

Rooliin liitettävä mahdollisen yrityksen y-tunnus.

 

CompanyName

Yrityksen nimi

varchar

50

 

 

Rooliin liitettävän mahdollisen yrityksen virallinen nimi.

 

IsBillingAddress

Onko laskutusosoite?

boolean

 

Oletus: false

 

Onko tämä ao. osoite henkilön oletuslaskutusosoite?

 

LastUpdate

Viimeisin päivitys

datetime

 

Pakollinen

 

Milloin tietuetta on viimeksi päivitetty?

 

UpdateBy

Viimeisin päivittäjä

varchar

Tomilta tieto

Pakollinen

User-taulu - ID-kenttä

Kuka käyttäjä on viimeksi päivittänyt tietuetta?

Avoimet kysymykset: Hajoitetaanko AddressRole - kentän roolilista omaksi taulukseen vai vedätäänkö tieto kovakoodattuna?
Mitkä ovat tuetut roolit?Käsitekartan luomisen jälkeen voitiin muodostaa seuraavat tietokanta taulut:

4.2.5.

...

4 Product-taulu:

...

Tuote tiedot

Tämä taulu sisältää verkkomaksu-järjestelmän kautta myytävät tuotteet. Tuote tietojen taakse on myös liitetty tietoja talousautomaatiota varten. Tämän vuoksi osa taulun tiedoista kytkeytyy IntimePlus-järjestelmästä replikoituhin tietoihinKäyttäjien tiedot tallennetaan tähän tauluun.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

ID ProductID

Käyttäjätunniste Tuotetunnus

int

long

short

  Uniikki, pakollinen, autoincrement

 

Käyttäjän juokseva tunniste.

FK

FK_Person_PersonID

Person-taulun ID

int

long

Uniikki, pakollinen

Person-taulu, PersonID-kenttä

1:1 viittaus Person-tauluun. Henkilöstä muodostuu yksi identiteetti kahden taulun tietojen perusteella.

 

MetropoliaID

Metropolia käyttäjätunnus

varchar

Tomilta tieto

 

 

Mikäli käyttäjällä on olemassa Metropolia tunnus, tunnus tallennetaan tähän kenttään. Kun käyttäjä tunnistetaan vahvasti, tämän tiedon vastine haetaan tunnistautumisen perusteella Ammeesta.

 

EmailAddress

Sähköpostiosoite

varchar

100

 

 

Käyttäjän ilmoittama sähköpostiosoite. Voidaan käyttää myös kirjautumistunnuksena

 

MetropoliaIDIsInUse

Metropolia-tunnus käytössä?

boolean

 

Oletus: false Lisäksi, jos Person - IsInUse kenttä on false, niin tämäkin on false.

 

Onko käyttäjän Metropolia tunnus kirjautumiskäytössä? Käytännössä CAS validoi käyttöoikeuden voimassaolon.

 

EmailIDIsInUse

Sähköpostitunnus käytössä?

boolean

 

Oletus: false Lisäksi, jos Person - IsInUse kenttä on false, niin tämäkin on false.

 

Onko käyttäjän sähköpostiosoite käytössä kirjautumiseen?

 

LastLogin

Viimeinen kirjautuminen

datetime

 

 

 

Milloin käyttäjä on kirjautunut viimeksi?

Tuotteen kuvaava tunnus

 

ProductName

Tuotteen nimi

varchar

 

 

 

Tuotteen käyttöliittymissä näytettävä nimi.

FK

FK_IntimeProduct_IntimeProductID

Intime tuotetunnus

int

long

 

IntimeProduct-taulu - IntimeProductID-kenttä

IntimePlus tuotetunnus taulusta IntimeProduct.

FK

FK_IntimeProject_IntimeProjectID

Intime projektitunnus

int

long

 

IntimeProject-taulu - IntimeProjectID-kenttä

IntimePlus projektitunnus taulusta IntimeProject.

FK

FK_IntimeEducationProgram_IntimeEducationProgramID

Intime Koulutusohjelmatunnus

int

long

 

IntimeEducationProgram-taulu - IntimeEducationProgramID-kenttä

IntimePlus koulutusohjelmatunnus taulusta IntimeEducationProgram

FK?

EServiceProductType

Asiointi tuotetyyppi

varchar

20

Pakollinen

 

Millainen asiointipalvelu tuote on kyseessä? Tällä luokitellaan tuote esim. käsittelymaksuksi.

FK?

EServiceChannel

Asiointi palvelukanava

varchar

20

Pakollinen

 

Missä asiointipalvelu kanavassa tuotetta voi käyttää? Eli tällä voidaan erotella palveluväylän tuote johonkin tietyyn asiointisovellukseen.

 

IsInUse

On käytössä

boolean

 

Oletus: false

 

Onko tuote käytössä

 

LastLoginIP

Viimeisen kirjautumisen IP-osoite

varchar

15

 

 

Mistä osoitteesta käyttäjä on viimeksi kirjautunut?

 

LastUpdate

Viimeisin päivitys

datetime

 

Pakollinen

 

Milloin tietuetta on viimeksi päivitetty?

 

UpdateBy

Viimeisin päivittäjä

varchar

Tomilta tieto

Pakollinen

User-taulu - ID-kenttä

Kuka käyttäjä on viimeksi päivittänyt tietuetta?

Avoimet kysymykset: pitäiskö tuo tuote taulukenttä nimi tehdä hieman geneerisemmäksi?
pitäiskö asiointipalvelutyypit / kanavat hajoittaa omaksi taulukseen?

4.2.5.

...

5 StudyImplementation-taulu: Opintojaksototeutus tiedot

Huom! Tätä taulua ei toteuteta tuotantoon projektin ensimmäisessä vaiheessa. Taulun tietosisältö on tällä hetkellä jatkokehityksen alla.

Taulu sisältää avoimen ammattikorkeakoulun asiointipalvelussa myytävien opintojaksototeutusten tiedot.Käyttäjään liittyvän henkilön tiedot tallennetaan omaan tauluunsa. Tiedot on tallennettu 1:1 viittauksella, jolloin yhtä käyttäjätunnusta vastaa yksi henkilö.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

ImplementationID

Opintojaksototeutuksen tunnus

varchar

Tieto Pepistä?

Pakollinen

 

Opintojakson toteutuksen tunnus. Otetaan siitä järjestelmästä, joka on toteutuksien lähdejärjestelmä.

FK

FK_Product_ProductID

Asiointituote tunnus

int

long

Pakollinen

Product-taulu - ProductID-kenttä

 

FK

FK_IntimeEducationProgram_EducationProgramID

Intime Koulutusohjelmatunnus

PersonID

Henkilötunniste

int

long

Pakollinen

IntimeEducationProgram-taulu - IntimeEducationProgramID-kenttä

 

 

StudyUnitName

Opintojakson nimi

varchar


Pakollinen

 

Tiedot edellä mainitusta lähdejärjestelmästä

Uniikki, pakollinen, autoincrement

 

Henkilön juokseva tunniste.

 

CustomerID StudyUnitDescription

Asiakasnumero Opintojakson kuvaus

int varchar


short Pakollinen

Uniikki

  Henkilölle

liitetty asiakasnumero. Sama kuin IntimePlussaan siirrettävä asiakasnumero Tiedot edellä mainitusta lähdejärjestelmästä.

 

ID StudyUnitWWWInfoPage Henkilötunnus

Linkki ulkoisiin tietoihin

varchar

11

Uniikki, vain suomalaiset, vahvatunnistus


Pakollinen

 

Tiedot edellä mainitusta lähdejärjestelmästä. Henkilötunnuksen määritelmä

 

StudentID ImplementationStartTime

Opiskelijanumero

int / varchar

Toteutuksen aloitus päivämäärä

date


Pakollinen ?

 

Winha

Opiskelijanumero ilmeisesti Winhasta. Tietotyyppi pitää tarkistaa! Tiedot edellä mainitusta lähdejärjestelmästä.

 

Surname ImplementationEndTime Sukunimi

Toteutuksen päättymis päivämäärä

varchar date

Tomilta tieto


Pakollinen

  Henkilön

virallinen sukunimi. Tieto haetaan mieluiten virallisista tietolähteistä. Tiedot edellä mainitusta lähdejärjestelmästä.

 

Firstnames MinimumSeats

Etunimet Paikkoja vähintään

varchar int

short Tomilta tieto

Pakollinen  

  Henkilön

viralliset etunimet. Tieto haetaan mieluiten virallisista tietolähteistä Tiedot edellä mainitusta lähdejärjestelmästä.

 

IsStrongIdentified

Vahva tunnistus suoritettu

boolean

 

Oletus: false

 

Onko käyttäjä tunnistettu vahvalla tunnistus menetelmällä?

MaximumSeats

Paikkoja enintään

int

short

 

 

Tiedot edellä mainitusta lähdejärjestelmästä.

 

FreeSeats

Paikkoja vapaana

int

short

 

 

Laskennallinen tieto, joka päivittyy tehtyjen myyntien perusteella.

 

Winha_TK_koodi

Winha-järjestelmän TK-koodi

varchar

Pituus Winhasta!

 

Winha

Winhassa käytössä oleva koulutusohjelman koodi, jolla opiskelija on kohdistettu koulutusohjelmalle. Tieto haetaan Ammeesta.

 

IsInUse

On käytössä

boolean

 

Oletus: false

 

Onko henkilö käytössä? toteutus käytössä? Voimassa vain kun InternetPublish on voimassa, eli tietoa voidaan käyttää jonkun toteutuksen ilmoittautumisten väliaikaiseen keskeyttämiseen.

 

InternetPublishStart

Internet julkaisu alkaa

datetime

 

 

 

Tiedot edellä mainitusta lähdejärjestelmästä.

 

InternetPublishEnd

Internet julkaisu päättyy

datetime

 

 

 

Tiedot edellä mainitusta lähdejärjestelmästä.

 

 

LastUpdate

Viimeisin päivitys

datetime

 

Pakollinen

 

Milloin tietuetta on viimeksi päivitetty?

 

UpdateBy

Viimeisin päivittäjä

varchar

Tomilta tieto

Pakollinen

User-taulu - ID-kenttä

Kuka käyttäjä on viimeksi päivittänyt tietuetta?

Avoimet kysymykset: tarvitaanko kutsumanimi-kenttä?

Miten käsitellään Winha_TK_koodin koodisto?

Tarvitaanko joku toinen mekanismi toteutuksilla olevien vapaiden paikkojen hallintaan?
Mistä nämä tiedot tuotetaan? Verkkomaksu/Asiointi järjestelmään ei olla lisäämässä käyttöliittymiä näiden tietojen syöttämistä varten!

Tarkastettavat tiedot:

Intime avaintietojen tietotyypit.

4.2.5.

...

6 Assignment-taulu:

...

Toimeksianto-taulu

Maksun sisältävän asiointitapahtumien tiedot tallennetaan toimeksiantoina. Toimeksianto tiedot pitävät sisällään tarvittavat tiedot yhden asiointitapahtuman käsittelyyn. Toimeksianto voi sisältää useamman toimeksiantorivin, jotka tallennetaan omaan tauluunsa.

Henkilöön liittyvien osoitteiden tiedot tallennetaan omaan tauluunsa. Henkilölle voi olla liitettynä useampi kuin yksi osoite. Osoitteet eroitellaan toisistaan rooleina, esim. kotiosoite, työosoite, opiskelupaikan osoite jne.

Henkilön kotiosoite-tiedot pyritään täydentämään vahvan tunnistautumisen yhteydessä saatavan tiedon mukaiseksi.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

FK / PK

FK_Person_PersonID

AssignmentID

Toimeksiantotunnus Henkilön tunniste

int

long

Pakollinen, Uniikki, Autoincrement

 

  Henkilön tunniste Person-taulusta

PK

Address_Role

Osoitteen rooli

varchar

25

 

Määritelty rooliluokitus

Yllämainittu osoitteen rooliluokitus.

 

PostalAddress

Postiosoite

varchar

100

 

 

Postiosoite

 

PostCode

Postinumero

varchar

10

 

 

Postinumero

 

Municipality

Postitoimipaikka

varchar

50

 

 

Postitoimipaikka

 

Country

Maa

varchar

50

 

 

Maa

 

CompanyID

Y-tunnus

varchar

15

 

YTJ-tietojärjestelmän y-tunnus

Rooliin liitettävä mahdollisen yrityksen y-tunnus.

 

CompanyName

Yrityksen nimi

varchar

50

 

 

Rooliin liitettävän mahdollisen yrityksen virallinen nimi.

 

IsBillingAddress

Onko laskutusosoite?

boolean

 

Oletus: false

 

Onko tämä ao. osoite henkilön oletuslaskutusosoite?

 

LastUpdate

Viimeisin päivitys

datetime

 

Pakollinen

 

Milloin tietuetta on viimeksi päivitetty?

 

UpdateBy

Viimeisin päivittäjä

varchar

Tomilta tieto

Pakollinen

User-taulu - ID-kenttä

Kuka käyttäjä on viimeksi päivittänyt tietuetta?

Avoimet kysymykset: Hajoitetaanko AddressRole - kentän roolilista omaksi taulukseen vai vedätäänkö tieto kovakoodattuna?
Mitkä ovat tuetut roolit?

...

4.2.5.4 Product-taulu: Tuote tiedot

...

Tämä taulu sisältää verkkomaksu-järjestelmän kautta myytävät tuotteet. Tuote tietojen taakse on myös liitetty tietoja talousautomaatiota varten. Tämän vuoksi osa taulun tiedoista kytkeytyy IntimePlus-järjestelmästä replikoituhin tietoihin.

OrderID

Tilausnumero

int

long

Pakollinen

 

 

 

CreatedFromBasket

Luotu poimintakorista

int

long

 

 

 

 

AssignmentDate

Perustettu

date

 

Pakollinen

 

 

 

ValidTill

Voimassaoloajan päättyminen

datetime

 

 

 

 

FK

FK_Person_CustomerID

Henkilö

int

long

Pakollinen

Person-taulu - CustomerID-kenttä

 

 

EServiceChannel

Asiontikanava

varchar

25

Pakollinen

 

 

 

Hashtag

Yksilöllinen tunniste

varchar

32

Pakollinen

 

 

 

State

Käsittelyn tila

varchar

25

Pakollinen

 

 

 

HandlingMethod

Käsittelytapa

int

short

Pakollinen

 

!!! Missä määritellään käsittelytapojen koodit? !!!

 

ReferenceID

Pankkiviite

varchar

50

Pakollinen

 

SEPA-standardin mukaan varataan tilaa, tosin aluksi tuetaan suomalaista.

 

TermOfPayment

Maksuehto

int

short

Pakollinen

 

 

 

TotalPayable

Loppusumma

double

10,2

Pakollinen

 

 

 

TransactionDate

Tapahtumapäivä

datetime

 

 

 

 

 

TransactionReturnStatus

Tapahtuman paluuvaste

varchar

100

 

 

!!! Tarkistetaan Vetuma-spekseistä. !!!

 

TransactionArchiveID

Tapahtuman arkistointitunnus

varchar

50

 

 

!!! Tarkistetaan Vetuma-spekseistä. !!!

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

ProductID

Tuotetunnus

int

short

 

 

Tuotteen kuvaava tunnus

 

ProductName

Tuotteen nimi

varchar

 

 

 

Tuotteen käyttöliittymissä näytettävä nimi.

FK

FK_IntimeProduct_IntimeProductID

Intime tuotetunnus

int

long

 

IntimeProduct-taulu - IntimeProductID-kenttä

IntimePlus tuotetunnus taulusta IntimeProduct.

FK

FK_IntimeProject_IntimeProjectID

Intime projektitunnus

int

long

 

IntimeProject-taulu - IntimeProjectID-kenttä

IntimePlus projektitunnus taulusta IntimeProject.

FK

FK_IntimeEducationProgram_IntimeEducationProgramID

Intime Koulutusohjelmatunnus

int

long

 

IntimeEducationProgram-taulu - IntimeEducationProgramID-kenttä

IntimePlus koulutusohjelmatunnus taulusta IntimeEducationProgram

FK?

EServiceProductType

Asiointi tuotetyyppi

varchar

20

Pakollinen

 

Millainen asiointipalvelu tuote on kyseessä? Tällä luokitellaan tuote esim. käsittelymaksuksi.

FK?

EServiceChannel

Asiointi palvelukanava

varchar

20

Pakollinen

 

Missä asiointipalvelu kanavassa tuotetta voi käyttää? Eli tällä voidaan erotella palveluväylän tuote johonkin tietyyn asiointisovellukseen.

 

IsInUse

On käytössä

boolean

 

Oletus: false

 

Onko tuote toimeksianto käytössä? Voidaan käyttää toimeksiannon pakkosulkuun.

 

LastUpdate

Viimeisin päivitys

datetime

 

Pakollinen

 

Milloin tietuetta on viimeksi päivitetty?

 

UpdateBy

Viimeisin päivittäjä

varchar

Tomilta tieto

Pakollinen

User-taulu - ID-kenttä

Kuka käyttäjä on viimeksi päivittänyt tietuetta?

...

viimeksi päivittänyt tietuetta?

 

IntimeTransferStatus

Intime siirron tila

varchar

25

Pakollinen

 

!!! Siirron tilojen koodit? !!! Kesken, Valmis, Odottaa siirtoa, Siirretty, Ei siirretä

Tarkastettavaa:

  • vetuma-speksista tietuekuvauksia
  • siirron tilakoodit, että vastaa tarvittavia siirtotiloja
4.2.5.

...

7 AssignmentRow-taulu:

...

Toimeksiantorivi-taulu

Toimeksiannot sisältävät useamman rivin, jotta yhdellä toimeksiannolla voidaan käsitellä useampaa kuin vain yhtä tuotetta kerrallaan (esim. avoimen opintojakso toteutuksia). Tietojen tulee olla aina tosiaikaista tilannetta vastaavia siihen saakka kunnes toimeksianto siirtyy maksuvaiheeseen, jolloin rivien tilanne jäädytetään, eli rivejä ei voi enää lisätä, poistaa tai muuttaa

Huom! Tätä taulua ei toteuteta tuotantoon projektin ensimmäisessä vaiheessa. Taulun tietosisältö on tällä hetkellä jatkokehityksen alla.

Taulu sisältää avoimen ammattikorkeakoulun asiointipalvelussa myytävien opintojaksototeutusten tiedot.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

ImplementationID

Opintojaksototeutuksen tunnus

varchar

Tieto Pepistä?

Pakollinen

 

Opintojakson toteutuksen tunnus. Otetaan siitä järjestelmästä, joka on toteutuksien lähdejärjestelmä.

Huomautukset

PK

AssignmentRowID

Toimeksiantorivin

FK

FK_Product_ProductID

Asiointituote tunnus

int

long

Pakollinen, Uniikki, Autoincrement

  Product-taulu - ProductID-kenttä

 

FK

FK_IntimeEducationProgramAssignment_EducationProgramID AssignmentID

Toimeksiantotunnus Intime Koulutusohjelmatunnus

int

long

Pakollinen

IntimeEducationProgram Assignment-taulu - IntimeEducationProgramIDAssingmentID-kenttä

 

 

StudyUnitName

Opintojakson nimi

varchar

Pakollinen

 

Tiedot edellä mainitusta lähdejärjestelmästä.

 

StudyUnitDescription

Opintojakson kuvaus

varchar

Pakollinen

 

Tiedot edellä mainitusta lähdejärjestelmästä.

 

StudyUnitWWWInfoPage

Linkki ulkoisiin tietoihin

varchar

Pakollinen

 

Tiedot edellä mainitusta lähdejärjestelmästä.

 

ImplementationStartTime

Toteutuksen aloitus päivämäärä

date

Pakollinen

 

Tiedot edellä mainitusta lähdejärjestelmästä.

 

ImplementationEndTime

Toteutuksen päättymis päivämäärä

date

Pakollinen

 

Tiedot edellä mainitusta lähdejärjestelmästä.

 

MinimumSeats

Paikkoja vähintään

int

short

 

 

Tiedot edellä mainitusta lähdejärjestelmästä.

 

MaximumSeats

Paikkoja enintään

int

short

 

 

Tiedot edellä mainitusta lähdejärjestelmästä.

 

FreeSeats

Paikkoja vapaana

int

short

 

 

Laskennallinen tieto, joka päivittyy tehtyjen myyntien perusteella.

 

IsInUse

On käytössä

boolean

 

Oletus: false

 

Onko toteutus käytössä? Voimassa vain kun InternetPublish on voimassa, eli tietoa voidaan käyttää jonkun toteutuksen ilmoittautumisten väliaikaiseen keskeyttämiseen.

 

InternetPublishStart

Internet julkaisu alkaa

datetime

 

 

 

Tiedot edellä mainitusta lähdejärjestelmästä.

 

InternetPublishEnd

Internet julkaisu päättyy

datetime

 

 

 

Tiedot edellä mainitusta lähdejärjestelmästä.

 

LastUpdate

Viimeisin päivitys

datetime

 

Pakollinen

 

Milloin tietuetta on viimeksi päivitetty?

 

UpdateBy

Viimeisin päivittäjä

varchar

Tomilta tieto

Pakollinen

User-taulu - ID-kenttä

Kuka käyttäjä on viimeksi päivittänyt tietuetta?

Avoimet kysymykset: Tarvitaanko joku toinen mekanismi toteutuksilla olevien vapaiden paikkojen hallintaan?
Mistä nämä tiedot tuotetaan? Verkkomaksu/Asiointi järjestelmään ei olla lisäämässä käyttöliittymiä näiden tietojen syöttämistä varten!

Tarkastettavat tiedot:

Intime avaintietojen tietotyypit.

...

4.2.5.6 Assignment-taulu: Toimeksianto-taulu

...

FK

FK_Product_ProductID

Tuotetunnus

int

long

Pakollinen

Product-taulu - ProductID-kenttä

 

FK

FK_StudyImplementation_StudyImplementationID

Opintojaksotunnus

varchar

Tieto Pepistä?

 

StudyImplementation-taulu - StudyImplementation-kenttä

 

FK

FK_IntimeEducationProgram_IntimeEducationProgramID

Intime Koulutusohjelma

int

long


IntimeEducationProgram-taulu - IntimeEducationProgramID-kenttä

 

 

Amount

Määrä

double

6,2

Pakollinen

 

Myyty määrä.

 

RowPrice

Rivihinta

double

6,2 (intime määritys)

Pakollinen

 

Myyntihetken rivihinta.

 

RowTotal

Rivi yhteensä

double

10,2

Pakollinen

 

RowTotal = Amount * RowPrice, Myyntihetken arvoilla laskettuna!

 

IntimeProjectID

Intime projektinumero

int

short

Pakollinen

 

Pitäisikö tämä olla FK_IntimeProject_IntimeProjectID

 

ProductName

Tuotenimi

varchar

200

Pakollinen

 

Myydyn tuotteen nimi. Voidaan yhdistellä eri tiedoista, sillä tuotteen nimi voi muuttua, mutta myydyn tuotteen nimi tulee tallentaa tietokantaan. Eli esim.: haetaan nimitieto ensin tuotetaulusta ja lisäksi jos on määritelty opintojaksototeutustieto, niin täydennetään tietoa myös opintojakson toteutuksen nimellä.

Avoimet kysymykset:

  • Intime projektitunnuksen käyttö

...

4.2.5.8 Log-taulu: Loki-taulu

...

Järjestelmä tallentaa suorituista tapahtumista tietoa lokiin. Lokiin tallennettua tietoa näytetään pää- ja ylläpitokäyttäjille Lokin katselu käyttöliittymällä.

Huom! Tämä taulu on olemassa niin asiointijärjestelmässä kuin palveluväylässä. Molemmat järjestelmät käyttävät kuitenkin omaa lokiaan. Palveluväylä tarjoaa asiointisovellukselle oman lokinsa käyttöön tietojen näyttämistä vartenMaksun sisältävän asiointitapahtumien tiedot tallennetaan toimeksiantoina. Toimeksianto tiedot pitävät sisällään tarvittavat tiedot yhden asiointitapahtuman käsittelyyn. Toimeksianto voi sisältää useamman toimeksiantorivin, jotka tallennetaan omaan tauluunsa.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

LogID AssignmentID

Tapahtumatunnus Toimeksiantotunnus

int

long

Pakollinen, Uniikki, Autoincrement

 

 

PK  

Time OrderID
Tilausnumero

Tapahtuma-aika

datetime int

long  

Pakollinen,

 

 

 

CreatedFromBasket

Luotu poimintakorista

Aikaleima joka generoidaan automaattisesti kun tietue lisätään.

FK

FK_User_ID

Käyttäjätunnus

integer int

long

 

 

 

 

AssignmentDate

Perustettu

date

 

Pakollinen

 

 

 

ValidTill

Voimassaoloajan päättyminen

datetime

 

 

 

 

FK

FK_Person_CustomerID

Henkilö

int

long

Pakollinen

Person-taulu - CustomerID-kenttä

 

User-taulu - ID-kenttä

Jos on tiedossa käyttäjä, jolla virhe tapahtuu, niin kirjataan tieto. Huom! Myös kirjautumatomalla käyttäjällä voi tapahtua virheitä.

 

Module

Ohjelmamoduli

varchar

100

Pakollinen

 

Virheen havainnut ohjelmamoduli tallettaa 

 

ErrorLevel

Virhetaso

 

EServiceChannel

Asiontikanava

varchar

25

Pakollinen

  

Tasot: Debug, Info, Warning, Security, Fatal.

 

ErrorDescription Hashtag

Virhekuvaus Yksilöllinen tunniste

varchar

1000 32

Pakollinen

 

 

 

State

Käsittelyn tila

varchar

25

Pakollinen

 

 

 

HandlingMethod

Käsittelytapa

int

short

Pakollinen

 

!!! Missä määritellään käsittelytapojen koodit? !!!

 

ReferenceID

Pankkiviite

varchar

50

Pakollinen

 

SEPA-standardin mukaan varataan tilaa, tosin aluksi tuetaan suomalaista.

...

4.2.5.9 UserProfiles-taulu: Käyttäjäprofiilitaulu

...

Asiointipalveluiden käyttäjälle tulee asettaa asiontijärjestelmän käyttäjäprofiili, joka määritellään tähän tauluun.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

ProfileName

Käyttäjäprofiili

string

20

Uniikki, pakollinen

 

 

 

IsNormalUser

On normaalikäyttäjä

boolean

 

 

 

 

 

IsAdmissionOfficeUser

On hakutoimistokäyttäjä

boolean

 

 

 

TermOfPayment

Maksuehto

int

short

Pakollinen

 

 

 

IsStudentServicesUser TotalPayable

On opintotoimistokäyttäjä Loppusumma

boolean double

10,2  

Pakollinen  

 

 

 

IsFinancialUser TransactionDate

On taloushallintokäyttäjä Tapahtumapäivä

boolean datetime

 

 

 

 

 

IsAdminUser TransactionReturnStatus

On pääkäyttäjä Tapahtuman paluuvaste

boolean varchar

100  

 

 

!!! Tarkistetaan Vetuma-spekseistä. !!!  

 

IsSysAdminUser TransactionArchiveID

On ylläpitokäyttäjä Tapahtuman arkistointitunnus

boolean varchar

50  

 

 

!!! Tarkistetaan Vetuma-spekseistä. !!!  

 

IsInUse

On käytössä

boolean

 

Oletus: false

 

Onko toimeksianto profiili käytössä? Voidaan käyttää toimeksiannon pakkosulkuun.

 

LastUpdate

Viimeisin päivitys

datetime

 

Pakollinen

 

Milloin tietuetta on viimeksi päivitetty?

 

UpdateBy

Viimeisin päivittäjä

varchar

Tomilta tieto

Pakollinen

User-taulu - ID-kenttä

Kuka käyttäjä on viimeksi päivittänyt tietuetta?

 

IntimeTransferStatus

Intime siirron tila

varchar

25

Pakollinen

 

!!! Siirron tilojen koodit? !!! Kesken, Valmis, Odottaa siirtoa, Siirretty, Ei siirretä

Tarkastettavaa:

...

...

4.2.5.

...

Basket-taulu:

...

Poimintakori-taulu

Poimintakoriin kerätään käyttäjän tekemät poiminnat ennen maksutapahtumaa. Kun käyttäjä on valmis siirtymään varsnaiseen ostostapahtumaan, siirretään tiedot toimeksiantoon käsiteltäväksi. Poimintakori voi sisältää usemman kuin yhden rivin.

Joissakin asiontitapauksissa ei ole pakko käyttää poimintakoria, kuten käsittelymaksun suorittamisessaToimeksiannot sisältävät useamman rivin, jotta yhdellä toimeksiannolla voidaan käsitellä useampaa kuin vain yhtä tuotetta kerrallaan (esim. avoimen opintojakso toteutuksia). Tietojen tulee olla aina tosiaikaista tilannetta vastaavia siihen saakka kunnes toimeksianto siirtyy maksuvaiheeseen, jolloin rivien tilanne jäädytetään, eli rivejä ei voi enää lisätä, poistaa tai muuttaa.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

BasketID AssignmentRowID

Korintunnus Toimeksiantorivin tunnus

int

long

Pakollinen, Uniikki, Autoincrement

 

 

FK

FK_Assignment_AssignmentID

Toimeksiantotunnus

int

long

Pakollinen

Assignment-taulu - AssingmentID-kenttä

 

FK

FK_Product_ProductID

Tuotetunnus

int

long

Pakollinen

Product-taulu - ProductID-kenttä

 

SessionID

Istunnontunnus

varchar

100

Pakollinen

 

Käyttäjän käynnistämän www-palvelin istunnon yksilöllinen tunniste.

FK

FK_StudyImplementation_StudyImplementationID

Opintojaksotunnus

varchar

Tieto Pepistä?

 

StudyImplementation-taulu - StudyImplementation-kenttä

 

FK

FK_IntimeEducationProgramPerson_IntimeEducationProgramID PersonID

Henkilön ID Intime Koulutusohjelma

int

 

  long

IntimeEducationProgram Person-taulu - IntimeEducationProgramIDPersonID-kenttä

 

 

Expires Amount
Määrä

Korin vanhenemis hetki

datetime double

6,2  

Pakollinen

  Myyty

määrä Ajan hetki, jonka jälkeen koria ei voi enää käyttää.

 

RowPrice

Rivihinta

double

6,2 (intime määritys)

Pakollinen

 

Myyntihetken rivihinta.

 

RowTotal

Rivi yhteensä

double

10,2

Pakollinen

 

RowTotal = Amount * RowPrice, Myyntihetken arvoilla laskettuna!

 

IntimeProjectID

Intime projektinumero

int

short

Pakollinen

 

Pitäisikö tämä olla FK_IntimeProject_IntimeProjectID

 

ProductName

Tuotenimi

varchar

200

Pakollinen

 

Myydyn tuotteen nimi. Voidaan yhdistellä eri tiedoista, sillä tuotteen nimi voi muuttua, mutta myydyn tuotteen nimi tulee tallentaa tietokantaan. Eli esim.: haetaan nimitieto ensin tuotetaulusta ja lisäksi jos on määritelty opintojaksototeutustieto, niin täydennetään tietoa myös opintojakson toteutuksen nimellä.

Avoimet kysymykset:

  • Intime projektitunnuksen käyttö

...

4.2.5.8 Basket-taulu: Poimintakori-taulu

...

Poimintakoriin kerätään käyttäjän tekemät poiminnat ennen maksutapahtumaa. Kun käyttäjä on valmis siirtymään varsnaiseen ostostapahtumaan, siirretään tiedot toimeksiantoon käsiteltäväksi. Poimintakori voi sisältää usemman kuin yhden rivin.

LastUpdate

Viimeisin päivitys

datetime

 

Pakollinen

 

Ajan hetki, jolloin tietuetta on viimeksi päivitetty.

...

4.2.5. BasketRow-taulu: Poimintakoririvi-taulu

...

Poimintakorin rivit tallennetaan tähän tauluun.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

RowID

Rivi tunniste

int

long

Pakollinen

 

 

FK

FK_Basket_BasketID

Korin tunniste

int

long

Pakollinen

Basket-taulu - BasketID-kenttä

 

FK

FK_Product_ProductID

Poimitun tuotteen tunniste

int

long

Pakollinen

Product-taulu - ProductID-kenttä

 

FK

FK_StudyImplementation_StudyImplementationID

Poimitun opintojaksototeutuksen tunniste

int

long

 

StudyImplementation-taulu - StudyImplementationID-kenttä

 

 

Amount

Poimittu määrä

double

6,2

Pakollinen

 

 

...

4.2.5.10 IntimeProduct-taulu: IntimePlus-järjestelmästä replikoidut tuotteet

...

IntimePlus järjestelmästä replikoitua tietoaJoissakin asiontitapauksissa ei ole pakko käyttää poimintakoria, kuten käsittelymaksun suorittamisessa.

Ajan hetki, jolloin tietuetta on viimeksi päivitetty.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

IntimeProductID BasketID

Intimen tuotenumero Korintunnus

Tarkistetaan int

Tarkistetaan long

Pakollinen, Uniikki, Autoincrement

 

Pakollinen

IntimePlus - järjestelmä, tuotenumero

Tieto replikoidaan Intimestä!  

 

ProductName SessionID

Intime tuotenimi Istunnontunnus

varchar

Tarkistetaan 100

Pakollinen

 

Käyttäjän käynnistämän www-palvelin istunnon yksilöllinen tunniste.

FK

FK_Person_PersonID

Henkilön ID

int

 

 

Person-taulu - PersonID-kenttä

 

 

Expires

Korin vanhenemis hetki

datetime

 

Pakollinen

 

Ajan hetki, jonka jälkeen koria ei voi enää käyttää.

 

LastUpdate

Viimeisin päivitys

datetime

 

Pakollinen

 

IntimePlus - järjestelmä, tuotenimi

Tieto replikoidaan Intimestä!

 

SalePrice

Intime myyntihinta

double

6,2

Pakollinen

IntimePlus - järjestelmä, tuotehinta

Tieto replikoidaan Intimestä!

 

SaleUnit

Intime myyntiyksikkö

varchar

10

Pakollinen

IntimePlus - järjestelmä, tuotteen myyntiyksikkö

Tieto replikoidaan Intimestä!

 

IsInUse

On käytössä

boolean

 

Oletus: false

 

Onko tuote käytössä?

Avoimet kysymykset:

  • intimeplussan tietotyypit ja tietuepituudet
4.2.5.

...

11 IntimeProject-taulu:

...

IntimePlus-

...

järjestelmästä replikoidut projektit

IntimePlus järjestelmästä replikoitua tietoaPoimintakorin rivit tallennetaan tähän tauluun.

 

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

RowID

Rivi tunniste

int

long

Pakollinen

 

 

FK

FK_Basket_BasketID

Korin tunniste

int

long

Pakollinen

Basket-taulu - BasketID-kenttä

 

FK

FK_Product_ProductID

Poimitun tuotteen tunniste

int

long

Pakollinen

Product-taulu - ProductID-kenttä

 

FK

FK_StudyImplementation_StudyImplementationID

Poimitun opintojaksototeutuksen tunniste

int

long

 

StudyImplementation-taulu - StudyImplementationID-kenttä

 

 

Amount

Poimittu määrä

double

6,2

Pakollinen

 


IntimeProjectID

Intime projektinumero

Tarkistetaan

Tarkistetaan

Uniikki, Pakollinen

IntimePlus - järjestelmä,

Tieto replikoidaan Intimestä!

 

ProjectName

Intime projektinimi

varchar

100

Pakollinen

IntimePlus - järjestelmä,

Tieto replikoidaan Intimestä!

 

IsInUse

On käytössä

boolean

 

Oletus: false

 

Onko projekti käytössä?

Avoimet kysymykset:

  • intimeplussan tietotyypit ja tietuepituudet

...

4.2.5.12 IntimeEducationProgram-taulu: IntimePlus-järjestelmästä replikoidut koulutusohjelmat

...

IntimePlus järjestelmästä replikoitua tietoa.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

IntimeEducationProgramID

Intime koulutusohjelma

Tarkistetaan

Tarkistetaan

Pakollinen

IntimePlus - järjestelmä,

Tieto replikoidaan Intimestä!

 

EducationProgramName

Intime koulutusohjelman nimi

varchar

100

Pakollinen

IntimePlus - järjestelmä,

Tieto replikoidaan Intimestä!

 

IsInUse

On käytössä

boolean

 

Oletus: false

 

Onko koulutusohjelma käytössä?

Avoimet kysymykset:

  • intimeplussan tietotyypit ja tietuepituudet
4.2.5.

...

13 Vetuma-asetukset

Huom! Vaikka tämä taulu on kuvattu tietokantatauluna, niin tieto tallennetaan todennäköisesti xml-tiedostona.

Järjestelmissä ei ole käyttöliittymää näiden tietojen muokkaukseen!

IntimePlus järjestelmästä replikoitua tietoa.

...


Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

Root

VetumaProfiles

VetumaProfiilit

 

 

 

 

 

Taso +

Profile

Profiili taso

taso

 

 

 

Profiilit

+

ProfileName

Profiili nimi

string

 

PK

IntimeProductID

Intimen tuotenumero

Tarkistetaan

Tarkistetaan

Uniikki, Pakollinen

IntimePlus - järjestelmä, tuotenumero

Tieto replikoidaan Intimestä!

 

ProductName

Intime tuotenimi

varchar

Tarkistetaan

Pakollinen

IntimePlus - järjestelmä, tuotenimi

Tieto replikoidaan Intimestä!

 

SalePrice

Intime myyntihinta

double

6,2

Pakollinen

IntimePlus - järjestelmä, tuotehinta

Tieto replikoidaan Intimestä!

 

SaleUnit

Intime myyntiyksikkö

varchar

10

Pakollinen

IntimePlus - järjestelmä, tuotteen myyntiyksikkö

Tieto replikoidaan Intimestä!

 

IsInUse

On käytössä

boolean

 

Oletus: false

 

Onko tuote käytössä?

Avoimet kysymykset:

...

 

 

+

RCVID

Salaisuuden tunnus

string

5 - 15

 

 

Vetuma: Kutsun suojauksessa käytetyn jaetun salaisuuden tunnus

+

APPID

Asiointisovelluksen tunnus

string

5 - 15

 

 

Vetuma: VETUMA-palvelua kutsuvan asiontisovelluksen tunnus

+

APPNAME

Sovelluksen nimi

string

40

 

 

Vetuma: Kutsuvan sovelluksen nimi käyttöliittymää varten

Taso ++

Apconf

Apconf-taso

taso

 

 

 

Asiakaskonfiguraatiot

++

ConfId

Apconf-tunnus

string

 

 

 

Asiakaskonfiguraatiolle määritelty tunnus palveluväylää varten.

++

+AP

Konfiguraatiotunnus

string

5 - 15

 

 

Vetuma: Kutsun palvelemisessa käytettävän VETUMA-asiakaskonfiguraation tunnus.

4.2.5.

...

14 Asiointikanavat

Huom! Vaikka tämä taulu on kuvattu tietokantatauluna, niin tieto tallennetaan todennäköisesti xml-tiedostona.

Järjestelmissä ei ole käyttöliittymää näiden tietojen muokkaukseen!

IntimePlus järjestelmästä replikoitua tietoa.

...


Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

Root PK

IntimeProjectID

Intime projektinumero

Tarkistetaan

Tarkistetaan

Uniikki, Pakollinen

IntimePlus - järjestelmä,

Tieto replikoidaan Intimestä!

 

ProjectName

Intime projektinimi

varchar

100

Pakollinen

IntimePlus - järjestelmä,

Tieto replikoidaan Intimestä!

 

IsInUse

On käytössä

boolean

 

Oletus: false

 

Onko projekti käytössä?

Avoimet kysymykset:

  • intimeplussan tietotyypit ja tietuepituudet

...

4.2.5.12 IntimeEducationProgram-taulu: IntimePlus-järjestelmästä replikoidut koulutusohjelmat

...

IntimePlus järjestelmästä replikoitua tietoa.

PK/FK

Kenttänimi

Kuvaus

Tyyppi

Pituus

Rajoitukset

Viittaukset

Huomautukset

PK

IntimeEducationProgramID

Intime koulutusohjelma

Tarkistetaan

Tarkistetaan

Pakollinen

IntimePlus - järjestelmä,

Tieto replikoidaan Intimestä!

 

EducationProgramName

Intime koulutusohjelman nimi

varchar

100

Pakollinen

IntimePlus - järjestelmä,

Tieto replikoidaan Intimestä!

 

IsInUse

On käytössä

boolean

 

Oletus: false

 

Onko koulutusohjelma käytössä?

Avoimet kysymykset:

  • intimeplussan tietotyypit ja tietuepituudet

...

Puuttuvat taulut:

...

EServiceChannel

Asiointikanavat

 

 

 

 

 

Taso +

Channel

Kanava taso

taso

 

 

 

 

+

ChannelName

Kanavan nimi

string

 

Uniikki, Pakollinen

 

 

+

ChannelAppId

Kanavan liikennöintitunnus

string

32

 

 

Metropolia määritysten mukainen sovellustunnus.

Taso ++

ChannelRights

Kanavan oikeudet

taso

 

 

 

 

++

SOAApp

Palveluväylä sovellus

string

 

Pakollinen

 

 

++

Right

Käyttöoikeus

string


Pakollinen

 

Määritelty käyttöoikeus palveluväyläsovellukseen.

...

4.2.5.15 Järjestelmäparametrit

...

Asiointipalvelun järjestelmäparametrit tallennetaan CodeIgniterin määritystiedostoihin. Muunneltavat parametrit määritellän kehitysvaiheessa.

Palveluväylän järjestelmäparametrit tallennetaan beans-parametreina. Muunneltavat parametrit määritellään kehitysvaiheessa.

...

Tietokanta - taulut

...

Tietokannan eri taulujen väliset relaatiot on kuvattu seuraavassa kaaviossa:

...

Tietokanta - taulut

...

Puuttuvat kentät:

Määriteltävää:

  • opiskelijan lajittelutekijät hakukäyttöliittymissä: koulutusohjelma (kysytään kun opiskelija suorittaa maksua) / kustannuspaikka / projekti
Muuta:
  • StudyImplementation.FK_IntimeEducationProgram_IntimeEducationProgramID ei pitäisi viitanta Product-tauluun.
  • Miksi StudyImplementation.StudyUnitDescription ei asu Product-taulussa? Senhän ei pitäisi muuttua toteutusten välillä?
  • Assignment.CreatedFromBasket?
4.2.6 Tekniset vaatimukset

...

Järjestelmän palveluväyläosion palveluväylä toteutukseksi on valittu Apache ServiceMix. Tuotteesta valitaan käyttöönotettavaksi käyttöönottohetkellä kehitystyössä vakaaksi todettu versio. Versio voi olla myös jonkin muun toimittajan jakeluun perustuva ServiceMix versio. ServiceMixistä voidaan kehitystyössä käyttää tarpeelliseksi katsottuja tekniikoita.

Palveluväylä rajapinnat toteutetaan xml-rajapinnoilla, joita voi käyttää myös restful-tekniikoilla (Apache CXF). Joissakin käyttöliittymä kysymyksissä kannattanee tutkia myös JSON-rajapintojen käyttöä.

Palveluväylän takana olevat tietokannat toteutetaan MySQL-tietokantoina.

Teknisiä määrittelyjä voidaan tarkentaa, mikäli kehitystyössä kohdataan tarkentamista vaativia kohtia.

...

4.2.7 OPI-Maksut projektin vaatimuksien huomioon ottaminen

...

OPI-maksut projektin vaatimukset on pyritty ottamaan huomioon, kun järjestelmän teknistä rakennetta on suunniteltu. Toiminnot ja rajapinnat on pyritty yleistämään ja yksinkertaistamaan, kuitenkin luopumatta järjestelmälle ennen määrittelyä asetetuista tavoitteista.

Suurimpana ongelmana yleisen toteutuksen kehittämisessä tulee olemaan eri korkeakoulujen talouden ohjaus menetelmät ja prosessit, talousjärjestelmä sekä talousautomaation toteutus. Todennäköisesti näiden kohdalla toteutuksia on lähes yhtä monta kuin korkeakouluja. Tämän vuoksi talousautomaation toteutus tullee vaatimaan työtä myös jatkossa.

5. Toteutussuunnitelma

Järjestelmän toteutus tehdään normaalien kehitysmenetelmien avulla. Kehityssykliin kuuluu siis määrittely, toteutus, testaus ja käyttöönotto.

...

Lisäksi, koska asiointisovellus on selainkäyttöinen sovellus, tulee asiointisovelluksen toiminnallisuus varmistaa yleisimmillä käytössä olevilla selainohjelmistoilla Windows 7 ja Mac-alustoilla. (Entä Linux?)

6.4

...

Käyttöönottovaiheen testaukset

Käyttöönottovaiheessa tehtävien ongelmien korjaamiseksi tehtävä korjaukset voidaan viedä tuotantoon nopeammalla testaussyklillä, mutta vähimmäistason testauksesta ei saa tinkiä. Yhtään testaamatonta komponenttia ei saa viedä käyttöönottovaiheessa olevaan järjestelmään.

...

  • varmistukset: järjestelmän tuottamista tiedoista pitää ottaa säännöllisesti varmistukset. Tietokannoista pitää tämän vuoksi ottaa päivitykset mieluiten päivittäin (koko tietokanta).
  • palvelutaso: järjestelmän asiointisovelluksen käytön pitää olla lähes katkeamatonta. Järjestelmä saa olla pois käytöstä suunniteltuina käyttökatkosaikoina, jolloin käyttäjälle ilmoitetaan palvelun etusivulla käyttökatkosta (nk. huoltotila).
  • skaalautuvuus: kun järjestelmään lisätään avoimen ammattikorkeakoulun toiminnot, tulee käytössä olemaan selviä korkeamman käytön jaksoja. Näihin tulee varautua.
  • muutoksen hallinta: järjestelmään ei lisätä uusia ominaisuuksia ilman suunnitelmallista toimintaa. Järjestelmän omistajalla Metropoliassa on velvollisuus ja vastuu koordinoida järjestelmässä tapahtuvia muutoksia.

...

Syöttöpohjat

...

Tyhjäpohja: Prosessikuvaus

...