Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.



Samankaltaiset tiedostot
Kieliversiointityökalu Java-ohjelmistoon. Ohje

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Ohjelmoinnin perusteet Y Python

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

Oppimateriaalin lisääminen

Fakta versio Forecast versio

RYHTI 4.0 Huoltokirja käyttöohje

Granlund Manager - Huoltokirjan käyttöohje

HELIA 1 (11) Outi Virkki Tiedonhallinta

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

opiskelun suunnittelujärjestelmä, kurki ja ilmo käyttävät kaikki samaa tietokantaa, ja uusi järjestelmä tulee osaksi tätä.

Oppimateriaalin lisääminen

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

BL40A1810 Mikroprosessorit, harjoitus 1

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

Kurssin hallinta -työväline

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

Älä vielä sulje vanhoja

1 YLEISTÄ TIETOA HELMESTÄ ETUSIVU YHTEENVETO LUKUJÄRJESTYS / KOTITEHTÄVÄT / MERKINNÄT VIESTIT KOKEET...

Ohjelmoinnin perusteet Y Python

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Maventa Connector Käyttöohje

Ohjeet asiakirjan lisäämiseen arkistoon

Kurssipalaute Webropolissa syksy Terhi Skaniakos Strateginen kehittäminen

Basware Supplier Portal

UUDEN NETTIJÄSENREKISTERIN OHJEET. Kirjaudu sisään antamalla käyttäjätunnus ja salasana

5. HelloWorld-ohjelma 5.1

Verkkojulkaiseminen Minna Väisänen. HTML5-tehtävä

Multimaker7 ohjelmalla tuotettujen ohjelmien julkaisusta

Maali Esiehdot Toimijat Testitapauksen suoritus ja hyväksytyt lopputilat. Käyttäjä. Käyttäjä. Käyttäjä


Verkkosivut perinteisesti. Tanja Välisalo

PDF-tiedostojen teon pikaohje

1 www-sivujen teko opetuksessa

Kielivalinta Kojelauta - Luo lasku Asetukset - Käyttäjät - Kirjaudu ulos

Sinkka Projekti Sivu 1 (6) Projektin tiedostokuvaus dokumentti

FiSMA intranet käyttöohjeet, versio Mika Johansson

Kati Tiihonen / Opinto- ja opetuspalvelut Johdatus akateemisiin opintoihin WebOodi ja Lukarit-palvelu opiskelijoille

HELIA 1 (14) Outi Virkki Tiedonhallinta

Ylläpitodokumentti. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Provet Pet ohjelmisto ja tulostus PDF-tiedostoon.

SQL Buddy JAMK Labranet Wiki

OPI-Maksut - Käyttötapaukset

Tietojen haku tuotannonohjausjärjestelmästä ja lähettäminen Minun Maatilani -ohjelmistolle MMAmmuLinkillä

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

Excel-taulukkoon X- ja Y-sarakkeisiin tallennettujen koordinaattien muuntaminen paikkatietokohteiksi

Lohtu-projekti. Testaussuunnitelma

Windows Liven elokuvatyo kalun ka ytto ohje

NAVIGAATTORIN ASENNUS JA MUOKKAUS

Ylläpitodokumentti. Kohahdus. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

SILMAT-INTRANET -OHJE

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

Sisältö. 22. Taulukot. Yleistä. Yleistä

Pipfrog AS Tilausten hallinta

StudentaPlus opiskelijan web-liittymä Pikaopas

1 / 7. Viimeaikaisia muutoksia ohjelmistoon, ei kuitenkaan pienempiä toiminnallisia korjauksia.

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.

Settings-sivun kautta on mahdollista muokata Kirjastokarttapalveluun liittyviä kirjastokohtaisia asetuksia.

Tietokantakurssit / TKTL

Aditro Tikon versio SP1

Aditro Tikon versio SP1

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

Tiedostojen toimittaminen FINASiin 1(7)

Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Provet Net Kutsut ohje

Ohjelmoinnin perusteet Y Python

PHPMyAdmin. MySQL-tietokannan hallintatyökalu. Antti Järvinen Ville Pietarinen

Suvi Junes/Pauliina Munter Tampereen yliopisto / tietohallinto 2014

1. Skannaus ja tekstintunnistus (OCR) verkkoskannerilta

opiskelijan ohje - kirjautuminen

Wilma.

Office 365 palvelujen käyttöohje Sisällys

Harjoitus 6 (viikko 42)

AVOIMEN YLIOPISTON MOODLE-OPAS OPISKELIJALLE

Alkuun HTML5 peliohjelmoinnissa

Ohjelmoinnin jatkokurssi, kurssikoe

5. HelloWorld-ohjelma 5.1

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

Treenitietokannan toteutusdokumentti

HAME-maakuntakaavatyökalun ohjeet SYKE/VSL

Tietokone.ja.verkko. Web$sisällönhallinta. Tietokone. Tietokone:.Historia.pikakelauksena.

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

Moodle-oppimisympäristö

VMU-C EM. Asennus ja käyttö

Paavo Räisänen. WampServer palvelimen asennus ja käyttö Eclipsen kanssa, sekä ensimmäinen FTP yhteys.

Kopio Niinin uusi kopiotilausjärjestelmä

Suoritusten kirjaaminen WinOodissa: Opintoneuvojan ohje

Sisäänkirjautuminen Tallennus/raportit (YAP) Tallennusohjelma

Lyseopaneeli 2.0. Käyttäjän opas

ASIO-OHJE HENKILÖSTÖLLE.

PALLOVERKKO SÄHKÖINEN OTTELUPÖYTÄKIRJA

CSV - XML ohjelman käyttöohje

Ohjelmoinnin perusteet Y Python

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

Sähköpostitilin käyttöönotto. Versio 2.0

Transkriptio:

Arkkitehtuurikuvaus Käytössä olevat java-luokat: Kansio: /WEB_INF/classes/ - käännetyt luokat Kansio: /WEB_INF/src/ - lähdekoodi custom_pojos: Kurssi.java Java-luokka, jonka sisältö vastaa tietokannassa olevien kurssien sisältöä. Kurssi on opintojakson yksi ilmentymä (esim. Tietorakenteet kevät 2010). Kursseilla on opetustapahtumia(opetus.java), jotka on tallennettu ArrayList -listaan. Luokassa metodit, jolla kurssin tiedot saadaan XML tai JSON muotoon. Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita. Opetus.java Java-luokka, jonka sisältö vastaa tietokannan opetus-taulua. Ne ovat kurssiin liittyvä opetustapahtumia kuten luentoja tai laskuharjoitusryhmiä. Yksi opetus voi olla viikottainen. Esimerkiksi yksi laskuharjoitusryhmä on yksi opetus. KurssiTallenne.java Luokka, jota TietokantaCache.java käyttää apunaan periodien kurssien tallentamiseen. Luokka sisältää tiedot siihen tallennetusta pediodista, tallennusajasta sekä periodin kurssit. TietokantaCache.java Luokka tallentaa tietokannasta tehdyt haut. Jos samaa periodia kysytään uudestaan viiden minuutin sisällä, ei tehdä uutta tietokantahakua, vaan palautetaan edellisellä haulla saadut tulokset. Konfiguraatio.java Hoitaa tietokannan alustuksen lukemalla tarvittavat tiedot käyttäjän määrittelemistä konfiguraatiotiedostoista. servletit: JsonTuloste.java Servlet, joka tulostaa halutun periodin kursseista JSON-tiedoston. JSON:ssa mukana kaikki periodin kurssit ja niiden opetustapahtumat. Pediodivalinta.jsp käyttää tulostetta kurssipuun luomiseen. KurssienVastaanotto.java Servlet, joka valmistelee pdf:n tulostusta. Se ottaa vastaan tiedon periodista, valituista kursseista sekä tulostuksessa käytettävän XSL-tiedoston. Servlet muodostaa valituista

kursseista XML-tiedoston ja lähettää sen XSL-tiedoston kanssa FopServletille. Lopuksi muunnoksen lähteenä oleva XML-tiedosto tuhotaan. org: FopServlet.java Servlet, joka käyttää Apache Fop -ohjelmistoa pdf:n tulostamiseen XML- ja XSLtiedostojen pohjalta. Käytössä olevat Jsp:t ja html-sivut: Periodivalinta.jsp Ohjelman pääsivu, jossa on periodin valitsin, kurssipuu sekä PDF-tulostuksen valinta. Index-alku.html ja index.html lisätään periodivalinta.jsp:hen ja ovat siten osa sitä. Luokkien toisilleen tarjoamat palvelut 1. Periodivalinta.jsp - tietokanta.java Periodivalinta hakee tämän ja edellisen vuoden periodit kannasta Tietokanta.javan haeperiodit-metodilla. 2. Periodivalinta.jsp - KurssienVastaanotto.java Lähettää Post-metodilla KurssienVastaanotto.java:lle valitun XSL-tyypin, valitut kurssit ja valitun periodin 3. Periodivalinta.jsp(rakennaPuu.js) - JsonTulostus.java JsonTulostus.java:lle lähetetään Ajax-pyyntö muodostaa JSON-tuloste, jonka avulla Periodivalinta.jsp:n kurssipuu muodostetaan.

4. JsonTuloste.java - Tietokanta.java JsonTuloste käyttää Tietokanta.java:n haekurssit-metodia. 5. JsonTuloste.java - Kurssi.java JsonTuloste käyttää Kurssi.java:n getjson-metodia, jonka avulla tulostetaan JSONtuloste. 6. Kurssi.java - Opetus.java Kurssi käyttää Opetus.java:n getjson- ja getxml-metodeita muodostessa kurssista JSON- ja XML-tulosteita. 7. KurssienVastaanotto.java - Tietokanta.java Tietokanta.java:n haekurssit-metodin avulla haetaan valitun periodin valitut kurssit. 8. KurssienVastaanotto.java - Kurssi.java Kurssi.javan getxml-metodin avulla muodostetaan valituista kursseista XML-tiedosto. 9. KurssienVastaanotto.java - FopServlet.java KurssienVastaanotto antaa FopServlet.java:lle valituista kursseista muodostetun XMLtiedoston sekä valitun XSL-muunnoksen, joiden avulla FopServlet tulostaa PDFtiedoston. 10. Tietokanta.java - TietokantaCache.java Tietokanta.java kysyy TietokantaCache.java:lta, onko sinne tallennettu haluttua periodia tai kursseja hiljattain. TietokantaCache.java palauttaa periodin/kurssit, jos se on tallennettu viiden minuutin sisällä uudesta pyynnöstä. Jos Tietokanta.java tekee uuden tietokantakyselyn, sen tulos tallennetaan TietokantaCache.java:an. Järjestelmän käyttämät kirjastotiedostot Kansio: /WEB_INF/lib/ ojdbc14.jar Oraclen tietokanta-ajuri fop-0.95-1.jar Apache Fop. Suoritaa muunnokset PDF:ksi. Fop käyttää seuraavia kirjastoja, jotka ovat myös lib-kansiossa: avalon-framework-api-4.3.1.jar avalon-framework-impl-4.3.1.jar commons-io-1.3.1.jar commons-logging-1.1.1.jar xmlgraphics-commons-1.3.1.jar Muut järjestelmän käyttämät tiedostot JavaSript-tiedostot: Kansio: /script/

jquery.treeview.js Etusivulla käytetyn puun pohja. kalenteri.js Etusivulla olevan graafisen kalenterin koodi. puuasetukset.js Kurssipuun asetukset. puuntoiminta.js Sisältää scriptit, joilla puuntoimintaa säädellään. Tiedostossa on esimerkiksi valittujen kurssien lähettäminen palvelimelle, jonka perusteella PDF tulostetaan. rakennapuu.js Puun rakentamiseen liittyvät scriptit. Kansio: /script/lib/ jquery.weekcalendar.js kalenteri.js:n käyttämä kalenteripohja. jquery.cookie.js Puun tilan tallentamisen mahdollistava kirjasto. Jatkokehitystä varten. jquery-1.4.2.min.js Käytetty jquery kirjasto. Kääntäminen Ohjelman kääntämiseen käytettiin ant-työkalua. Ohjelma käännetään suorittamalla "ant"-käsky /WEB-INF/src/-kansiossa. XML-tiedostot: Kansio: /xml/ vastaavudet.dtd Erikoistumislinjojen ja opintojen tasoon liittyvien termien konffaustiedoston määrittely. vastaavuudet.xml Konffaustiedosto ylläolevasta. paallekkaisanalyysi.xsl Päällekkäisyysanalyysin xsl-muunnos. aputaulu.xml Taulu, jota lukujarjestys.xsl käyttää apunaan lukujärjestyksen luonnissa. lukujarjestys.xsl XSL-muunnos, jonka avulla luodaan PDF-lukujärjestys.

listaus2.xsd Schema-pohja kurssilistaukselle. Tämän määrittelyn pohjalta luoduista tiedostoista mankeloidaan PDF:t. Konfiguraatiotiedostot: Kansio:/WEB_INF/ web.xml Sisältää servlettien tiedot. Tiedostossa myös määritellään dbconf.txt tiedoston ja XSLmuunnosten sijainnit. Kansio:/WEB_INF/src/ build.xml Ant:in konfigurointitiedosto. Kansio: / dbconf.txt Tiedostosta luetaan tietokannan tiedot. Tiedoston rakenne: 1. rivi: käyttäjä 2. rivi: salasana 3. rivi: ajuri 4. rivi: tietokantapalvelin Loput rivit ovat kommenttia CSS-tiedostot: Kansio: /css/ main.css Muutama muokkaus alla oleviin valmiisiin css-tiedostoihin. jquery.treeview.css Puun vakio css määritykset. jquery.weekcalendar.css Kalenterin vakio css määritykset. Kansio: /css/blueprint/ Kansiossa on Blueprint frameworkiin liittyvät tiedostot. Kansio: /docs/ oluthu_taulut.txt Näkymä opetushallinnon tietokantaan

json_sample.json Esimerkki formaatista, jolla tiedot siirretään kurssipuulle. json_sample2.json riippuvuuksia.txt Kansio: /images/ Kansiossa on Periodivalinta.jsp:n (kurssipuun) käyttämät kuvat. Tietokanta Tietokanta projektin alussa:

Projektin aikana tietokantaan tehdyt muutokset: Kurssi-tauluun lisättiin periodi2-kenttä, joka kertoo periodin, jossa kurssi päättyy. Periodi-kenttä kertoo periodin, jossa kurssi alkaa. Lisäksi tietokantaan lisättiin periodi-taulu. desc periodi; Name Null Type ------------------------------------------------------------------------- VUOSI NOT NULL NUMBER(4) PNUMERO NOT NULL NUMBER(1) ALKUPVM DATE

LOPPUPVM DATE select * from periodi; "VUOSI" "PNUMERO" "ALKUPVM" "LOPPUPVM" 2009 1 07.09.2009 25.10.2009 2009 2 02.11.2009 20.12.2009 2010 3 18.01.2010 07.03.2010 2010 4 15.03.2010 23.05.2010 2010 5 17.05.2010 04.07.2010 2010 6 19.07.2010 05.09.2010 2010 1 06.09.2010 24.10.2010 2010 2 01.11.2010 19.12.2010 2011 3 17.01.2010 06.03.2011 2011 4 14.03.2011 22.05.2011 Virheilmoituksia: 'Virhe: 'dbconf_polku' osiota ei löytynyt web.xml:sta. ' -Tapahtuu aloitussivun latauksessa kun dbconfi_polku osio puuttuu ohjelman web.xml:sta 'Virhe: tietokanta konfiguraatiotiedostoa 'dbconf.txt' ei löytynyt.' -Tapahtuu aloitussivun latauksessa kun dbconf.txt tiedostoa ei löydy. 'Yhteyttä tietokantaan ei saatu' -Tapahtuu aloitussivun latauksessa kun periodeita ei saada haettua tietokannasta. Eli käytännössä haeperiodit palauttaa null tai ArrayListin jonka koko on 0. 'Virhe: 'xsl_polku' osiota ei löytynyt web.xml:sta.' -Tapahtuu kun yrittää tulostaa PDF:ää, mutta web.xml:sta puuttuu 'xsl-polku' osia, joka kertoo mistä kaikki xml kama löytyy. 'Virhe: Ei löydetty xsl-tiedostoa: /home/kayttaja/jotain/tomcat/webapps/brandnew/xml/ paallekkaisanalyysi.xsl ' -Tapahtuu kun yrittää tulostaa PDF:ää, mutta xsl tiedostoa ei löydä.