582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus
Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen sovelluksessa Lomakekäsittelijä Web-sovelluksen toteutuksesta tällä kurssilla
Sovellus, jonka Mikä on web-sovellus? Käyttöliittymä toimii selaimessa Sivut tuotetaan palvelimessa Sivut ovat saavutettavissa verkon kautta
Selaimen rooli web-sovelluksessa Osaa näyttää HTML-kielistä aineistoa mahdollisen tyylimäärittelyn (css) ohjaamana Tallettaa ja välittää evästeitä (cookies) Ottaa vastaan käyttäjän syöttämiä lomaketietoja ja välittää ne palvelimelle pyynnön yhteydessä (Osaa suorittaa JavaScript-koodia) (Suorittaa appletteja tai muita ladattavia komponentteja, jos käyttäjä sallii - ympäristöriippuvaa)
Palvelimen rooli web-sovelluksessa Palvelin voi olla monitasoinen Sovelluspalvelin Tuottaa sivut Ottaa vastaan käyttäjän lähettämät pyynnöt Tietokantapalvelin Hoitaa tietokantaa
Aineistopyynnöt Palvelimen tehtävänä on tuottaa vastauksia selaimelta tuleviin aineistopyyntöihin Vastaus aineistopyyntöön voi olla Staattinen sivu Ohjelman dynaamisesti tuottama sivu Valtaosa tämän harjoitustyön sivuista on näitä Aineistopyyntö esitetään URL (universal resource locator) muodossa URL identifioi tiedoston tai ohjelman
Aineistopyynnöt (2) Tyypillisesti pyyntö aktivoidaan näpäyttämällä linkkiä tai lähettämällä lomake, johon URL on liitetty HTML-sivuun voi myös olla upotettuna aineistopyyntöjä, jotka aktivoituvat automaattisesti ilman käyttäjän toimenpiteitä Esimerkiksi kuvaviitteet
Aineistopyynnöt (3) Aineistopyynnön mukana voidaan toimittaa evästeitä Palvelimelle vain siltä itseltään saatu eväste Aineistopyynnön yhteydessä voidaan välittää myös parametreja lomakkeen kenttiin täytetyt tiedot URL:iin sisältyvät parametrit: Get-pyynnössä parametrit osana URL:a Post-pyynnössä erillisenä tiedostona
Tiedon välittäminen Voi sisältää parametreja selain aineistopyyntö Voi kuljettaa kylkiäisenä evästeen palvelin HTML-sivu Voi sisältää automaattisesti käynnistyviä tai käyttäjän aktivoitaviksi tarkoitettuja aineistopyyntöjä Kulkevat verkossa Voivat olla salakirjoitettuja
Tiedon välittäminen (2) HTML-sivu 1 Lomake 1 (form) pyyntö (parametrit+ eväste) palvelin Lomakekäsittelijä 1 HTML-sivu 2 Lomake 2 (form) Lomakkeenkäsittelijät eivät tiedä toisistaan Lomakekäsittelijä 2
Tiedon välittäminen (3) Tiedon välittäminen lomakekäsittelijältä toiselle tapahtuu selaimen kautta Välitettävä tieto voi minimissään olla vaikkapa istuntotunnus (evästeenä, lomakkeen piilokenttänä, linkin parametrina) Istuntotunnuksen perusteella voidaan järjestää pääsy palvelimen säilyttämiin istuntokohtaisiin tietoihin
Lomakekäsittelijä Edellä olleessa kuvassa lomakekäsittelijä on piirretty yhtenä oliona Käytännössä se voi jakautua useaksi eri olioksi: Pyynnön vastaanottaja Tutkii parametrit ja selvittää, mitä pitää tehdä Palvelun tarjoaja Varsinainen toiminnallisuus, tietokantakäsittely Palautteen muodostaja Rakentaa palautteena tuotettavan html-sivun
Toteutuksesta Tällä kurssilla ohjeistusta tarjolla Oracle-tietokannalle ja Java servlet -tekniikalle Miksi Oracle? Oracle on ainoa hallinnoitu tietokannanhallintajärjestelmä laitoksella, ts. varmistukset toimivat Helppokäyttöisin, ei tarvitse erikseen käynnistellä Muita vaihtoehtoja: PostgreSQL, MySQL Miksi java? Kurssille voi tulla kurssin Ohjelmoinnin perusteet jälkeen, jolloin Java on ainoa opittu kieli Miksi servletit ilman mitään kirjastoja? On hyvä tietää, miten homma oikeasti toimii, jotta ymmärtäisi, mitä erilaisten kirjastojen taustalla tapahtuu