Advanced Kittenry - Tietokantasovellusohjeet

Java ja Tomcatin käyttöönotto

Javalla tehdyt tietokantasovellukset asennetaan laitoksen users-palvelimella Tomcat-ohjelmiston alle. Ohjelmisto osaa pyörittää allaan useita Javalla tehtyjä sovelluksia, jotka ovat käytännössä toisistaan erillään pyöriviä ohjelmistopaketteja.

Tomcatin käyttöönotto

Tomcatin saa otettua käyttöön omille tunnuksilleen kirjautumalla users-palvelimelle ja ajamalla siellä komento wanna-tomcat

Komento luo hakemiston tomcat ja asentaa sinne tarvittavat tiedostot tietokantasovellusten ajamiseen. Se luo myös hakemiston tomcat/webapps, jonne voidaan sijoittaa ajettavia Java-sovelluksia kunkin omaan hakemistoonsa.

Lisäksi asennusskripti luo webapps-hakemistoon valmiiksi testiprojektin nimeltä tsoha.


Asennus ei enää luokaan tsoha-esimerkkiprojektia. Sillä välin kun saamme tehtyä uuden esimerkkiprojektin, voit kopioida vanhan ohjaajan kotihakemistosta näin:

cp -r /home/consuegr/tomcat/webapps/tsoha ~/tomcat/webapps

Jotta mitään tietokantasovellusta voidaan ajaa, pitää tomcat ensin käynnistää. Tähän voi käyttää komentoa start-tomcat. Komento käynnistää Tomcat-palvelimen ja kertoo samalla mistä osoitteesta työsi tulee löytymään.

Osoite on mallia http://t-käyttäjätunnuksesi.users.cs.helsinki.fi/ Missä aivan ensimmäisenä osana on yliopiston käyttäätunnuksesi, jota edeltää merkkijono “t-”. Laittamalla osoitteen perään jonkin webapps hakemistossa olevan sovelluksen nimen, pääsee käyttämään tätä sovellusta. Esimerkiksi tsoha-sovellusta voi käyttää laittamalla osoitteen perään tsoha/esim.html.

Tomcatin voi myös sammuttaa komennolla stop-tomcat. Kurssin ajan lienee hyvä pitää Tomcat:ia päällä melko jatkuvasti, että ohjaajasi pystyy testaamaan työtäsi.

Mikäli työsi ei näy internetissä on siihen useimmiten syynä se, ettei Tomcat ole päällä.

Sovelluksien pystyttäminen ja koodaus

Kun olet saanut testisovelluksen toimimaan, sinulla on kaksi vaihtoehtoa sovelluskehitykseen.

Voit lähteä rakentamaan sovellusta suoraan users-palvelimelle. Tällöin tsoha-sovelluksen rakenteesta voi ottaa mallia. Ratkaisu on siitä hyvä, että kaikki pyörii silloin samalla koneella, mutta joudut muokkaamaan tiedostoja etänä ja kääntämään työtäsi käsin ant-ohjelmalla. Työn kääntäminen tsoha-projektissa tapahtuu menemällä komentorivillä hakemistoon src ja ajamalla ohjelma ant. Ant kääntää työn puolestasi ja asentaa luokat oikeisiin paikkoihin. Tätä varten tarvitset samassa hakemistossa olevan build.xml-tiedoston, jonka voi kopioida tsoha-projektin src-hakemistosta.

Toinen ja useimmiten kätevämpi vaihoehto on käyttää NetBeansiä ja asentaa tomcat omalle koneelleen. Tässä vaihtoehdossa on se hyvä puoli, että alkuosan koodin kirjoittamisen voi tehdä kokonaan omalla tietokoneellaan, mutta tietokannan käyttöä varten tarvitsee aina muodostaa etäyhteys, ellet asenna tietokantapalvelinta koneellesi itse. NetBeansin käytössä on myös se hyvä puoli, että sen tarjoama tuki nettipuolen Javalle on erinomainen ja auttaa monien koodausongelmien kanssa.

Sovelluksien kansiorakenteesta

Sekä NetBeansin kanssa tehdyt, että usersille pystytettävät sovellukset noudattavat melko samanlaista kansiorakennetta.

Suurin ero on siinä, että NetBeans jäsentää kaiken kahteen kansioon: src ja web. Ensimmäiseen on sijoitettu kaikki kääntämätön java-koodi, jälkimmäisen sisältö taas näkyy internettiin ja sisältää kaikki JSP-, HTML- ja muut internet-sivujen kannalta olennaiset tiedostot.

Usersin Tomcatille pystytetyssä projektissa projektin juurikansio on tämä nettiin näkyvä kansio, ja src on sen alla.

Kummassakin tapauksessa netin puolelle näkyvässä hakemistossa on alihakemisto WEB-INF. Tämän kansion sisällä olevat tiedostot eivät koskaan näy ulospäin. Siispä sinne on turvallista sijoittaa kaikkea sellaista, minkä ei halua olevan käytettävissä sellaisenaan.

Eräs tälläinen tiedosto on ẁeb.xml, joka konfiguroi sovelluksen asetuksia. Tiedostossa voidaan esimerkiksi määritellä alustusparametreja ja nimetä servlettejä uudelleen. Tiedostossa on määriteltävä polku servlettien hakuun. Esimerkkinä testisovellusten web.xml. Jokaiselle servletille voi määritellä erikseen url:n rakenteen. Tässä web.xml:ssä kaikkien url:iin tulee lisäosa /servlet/ (tiedoston servlet-mapping osa)

Toinen olennainen hakemisto, jonka ainakin NetBeans tekee on nimeltään META-INF. Sen sisältönä on näissä prjekteissa lähinnä context.xml, johon on mahdollista konfiguroida sovelluksen käyttämä tietokanta.

Muualla testatun sovelluksen asentaminen

Mikäli käytät NetBeansiä lokaaliin koodailuun, joudut aika-ajoin kuitenkin pystyttämään työsi users-palvelimelle testattavaksi. Tämä on onneksi melko yksinkertainen toimenpide ja siihen on oma ohjeensa.

Testitiedoston tekeminen

Luo sovelluksesi internettiin näkyvään kansioon (eli juurikansioon tai NetBeansillä tehdyn projektin tapauksessa ẁeb-kansioon) tiedosto index.jsp. Sen sisällöksi riittää seuraavantapainen koodi:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html>
<head><title>Terve maailma</title></head>
<body>
  <h1>Terve maailma</h1>
</body>
</html>

Tiedoston voi luoda esimerkiksi komentorivillä käyttämällä nano-tekstieditoria. Voit myös siirtää palvelimelle muualla tekemäsi tiedoston käyttämällä nautilusta tai winSCP:tä.

Sivun pitäisi nyt näyttää tervehdys osoitteessa:
http://t-kayttajatunnuksesi.users.cs.helsinki.fi/sovelluksen_nimi/index.jsp

Esittelysivu

Saatuasi jotain näkymään siirry esittelysivuohjeeseen ja tee ohjeiden mukainen työn esittelysivu. Tällä viikolla tulee lähinnä linkit työsi repositorioon, dokumentaatoon sekä lyhyt aihekuvaus tai linkki valmiiseen aiheeseen.

Pystytä tämäkin sivu usersille.

Dokumentointi

Liitä Tomcatin asennuksen ja esittelysivun pystytyksen jälkeen dokumentaatiosi Käynnistys- / käyttöohje -kappaleeseen sovelluksesi esittelysivun nettiosoite usersilla (tai muulla palvelimella, mikäli haluat käyttää sellaista). Kappaleeseen ei tässä vaiheessa (viikolla 2) tarvitse kirjoittaa muuta sisältöä.

Linkkejä

Seuraavaksi:

Ota seuravaaksi käyttöön tietokantasi tuki: