Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja

Samankaltaiset tiedostot
Lohtu-projekti. Suunnitteludokumentti

Lohtu-projekti. Testaussuunnitelma

Lohdutus - tietokantadokumentti

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

Lohtu-projekti. Testiraportti. Versiohistoria: syklin toteutuksen testit. 1. ajo Virve

Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja

Denormalisointia turvallisesti. Ougf syysseminaari Pörssitalo Helsinki Timo Raitalaakso

ALMU-järjestelmä Suunnitteludokumentti

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely

Tietokantakurssit / TKTL

Lohtu-projekti. Määrittelydokumentti

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Sisällön automaattinen moniluokittelu

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

CSE-A1200 Tietokannat

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

Tietokantasovellus: drinkkiarkisto

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Valppaan asennus- ja käyttöohje

P e d a c o d e ohjelmointikoulutus verkossa

Tietotekniikan laitos Käki-projekti TIETOKANTASUUNNITELMA. 1. Johdanto

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu ASENNUSOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

LINUX-HARJOITUS, MYSQL

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

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Tietokannat II -kurssin harjoitustyö

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

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

HELIA 1 (14) Outi Virkki Tiedonhallinta

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

1 YLEISTÄ (KS) SQL-TRAINER - KUVAUS NYKYISESTÄ JÄRJESTELMÄSTÄ (HL,KS) JATKOKEHITYKSEN VAATIMUKSET (HL,KS)...7

Treenitietokannan suunnitteludokumentti

Kuntokirjuri. Ohjelmistokuvaus. Miika Alonen. Jarkko Laine. Jesse Honkanen. Veli Matti Huovinen. Jani Jäntti. Versio

Java EE -sovelluksen resurssien suojaus Case: Toyme Lab Oy

CLOUDBACKUP TSM varmistusohjelmiston asennus

Java ja tietokannan käsittely (JDBC)

UCOT-Sovellusprojekti. Asennusohje

SQL - STRUCTURED QUERY LANGUAGE

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

Suunnitteludokumentti

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki

Visma Document Center 8.01 Asennus ja päivitys (Visma Nova) Ohje

Yksittäisasennus eli perusasennus

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

RDBMS - Yhteyskäytännöt

Tietokantasovelluksen määrittelydokumentti

Tikon Ostolaskujenkäsittely versio SP1

Visma Business AddOn Installer. Käsikirja

Suunnitteludokumentti

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Lohtu-projekti. Projektisuunnitelma. Versiohistoria: Luonnos Virve Korjailtu. Mukana riskienhallinta ja Mari, Kimmo, Virve

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 SQL:n perusteet. Harri Laine 1. SQL tietokantakieli. SQL tietokantakieli

TKK: Shibboleth toteutuksia ja projekteja. Markus Melin

3. Taulujen määrittely ja muuttaminen

Ylläpitodokumentti Labra

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

Opintopiiritehtävä 3: Verkkohuutokauppa

Toteutusdokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli

RADAR - RANDOM DATA GENERATOR

HELIA 1 (11) Outi Virkki Tiedonhallinta

Web -myyntilaskutus Käyttöönotto v Toukokuu (16) Versio Web -myyntilaskutus. Copyright Aditro. All rights reserved.

Suunnitteludokumentti

EJB-komponenttien tietokantakytkentä

Lohtu-projekti. Loppuraportti. Versiohistoria: versio Virve versio Kimmo

Käyttöohje. AssariXP. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia

eassari tekninen kuvaus Harri Laine Taustaa

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

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

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Harjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

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

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE:

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

Web -myyntilaskutus Käyttöönotto v Toukokuu (17) Versio Web -myyntilaskutus Tikon Oy. All rights reserved.

Firebird JAMK Labranet Wiki

Tietokantaohjelmoinnin tekniikkoja Java-kielellä

Visual Case 2. Miika Kasnio (C9767)

Network Video Recorder. Pika-asennusohje

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

T&M Autori Versio Series 60 -puhelimiin

PostgreSQL:n ja JDBC-ajurin asennus- ja käyttöohje

Transkriptio:

Lohtu-projekti Ylläpitäjän dokumentti Versiohistoria: 1.0 12.5.2003 Ensimmäinen versio Andreas Asuja Helsinki 12. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja, Mari Muuronen, Seppo Pastila, Virve Taivaljärvi HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Laudatur-projektityö, kevät 2003

Sisältö 1 Yleistä...1 2 Asennusohje...1 2.1 Tietokanta...1 2.2 Sovelluksen asentaminen...1 2.2.1 Tietokantayhteys...1 2.2.2 Käyttäjän tunnistus...2 2.2.3 Sovelluksen asennus...2 3 Asetukset...2 Liite 1. Tietokannan luontiin tarvittavat SQL lauseet....4

1 Yleistä Tämä dokumentti kuvaa OTUS projektinseurantajärjestelmän asennuksen sekä järjestelmän asetuksien tekemisen. Järjestelmä vaatii toimiakseen J2EE 1.3 määrityksen mukaisen sovelluspalvelimen sekä Postgres tietokannan sekä JDBC tietokanta-ajurin. 2 Asennusohje Tässä ohjeessa kuvataan OTUS järjestelmän asennus. Sovelluspalvelimena käytetään tässä esimerkkinä Tomcat 4.1:tä. 2.1 Tietokanta Tietokanta luodaan liitteen 1 tietokannan luontilauseilla. 2.2 Sovelluksen asentaminen 2.2.1 Tietokantayhteys Sovelluspalvelimeen täytyy asettaa tietokantayhteys. Sovelluspalvelin siis tarjoaa JNDI:n kautta tietokantayhteyden OTUS sovellukselle. Tomcatissä asetuksen tehdään server.xml tiedostoon ([asennushakemisto]/conf/server.xml). Asetukset ovat kuten alla: <Context > <Resource name="jdbc/lohtudb" auth="container" scope="shareable" type="javax.sql.datasource"/> <ResourceParams name="jdbc/lohtudb"> <name>factory</name><value>org.apache.commons.dbcp.basicdatasourcefactory</value> <name>driverclassname</name><value>org.postgresql.driver</value> <name>url</name> <value>jdbc:postgresql://dbhost.myhost.org:10103/databasename</value> <name>maxactive</name><value>10</value> <name>maxidle</name><value>2</value> <name>maxwait</name><value>1000</value> <name>username</name><value>bogus</value> <name>password</name><value>sk7bgzl9lg</value> </ResourceParams> </Context> 1

2.2.2 Käyttäjän tunnistus Sovelluspalvelimen täytyy suorittaa käyttäjän tunnistus tietokantaan luotujen tunnuksien ja salasanojen mukaan. Tomcatissä asetuksen tehdään server.xml tiedostoon ([asennushakemisto]/conf/server.xml). Asetukset ovat kuten alla: <Context > <Realm classname="org.apache.catalina.realm.jdbcrealm" debug="99" drivername="org.postgresql.driver" connectionurl="jdbc:postgresql://dbhost.myhost.org:10103/databasename " connectionname="bogus" connectionpassword="sk7bgzl9lg" usertable="users" usernamecol="username" usercredcol="password" userroletable="users" rolenamecol="role" /> </Context> 2.2.3 Sovelluksen asennus Tietokanta-ajuri täytyy kopioida sovelluspalvelimen ajurihakemistoihin niin, että se on saatavilla sekä käyttäjäntunnistusta että sovelluksen tarvitsemaan tietokantayhteyttä varten. Tomcatissä ajuri pitää kopioida kahteen hakemistoon: [asennushakemisto]/common/lib sekä [asennushakemisto]/server/lib. Itse sovellus toimitetaan war tiedostona (lohtu.war). Tiedosto laitetaan sovelluspalvelimen sovellushakemistoon. Tomcatissä tämä on [asennushakemisto]/webapps. Jos sovelluspalvelin on määritelty automaattisesti ottamaan käyttöön uudet sovellukset, pitäisi sen automaattisesti avata lohtu.war ja luoda hakemisto [asennushakemisto]/webapps/lohtu. Näin on Tomcatissä oletusasetuksena. 3 Asetukset Kaikki itse sovelluksen asetukset tehdään sen web.xml asetustiedostoon. Tomcat ympäristössä se löytyy tiedostopolusta [asennushakemisto]/webapps/lohtu/web-inf/web.xml. Se sisältää neljä asetusta, jota saattaa joutua muuttamaan. 1. Lokitiedoston nimi. Tiedosto, johon järjestelmä kirjoittaa lokinsa. 2. Lokitustaso. Voi sisältää arvot SEVERE, WARNING, INFO, CONFIG, FINE, FINER tai FINEST. Suositeltava lokitustaso tuotantokäytössä on INFO. SEVERE asetus tekee vähiten ja FINEST eniten lokitusta. 3. Tietokannan JNDI nimi. Tämän tulee olla sama kuin kappaleessa 2.2.1 asetettu server.xml tiedoston Resource -elementin name -attribuutin arvo (esimerkissä jdbc/lohtudb). 4. Sovelluksessa käytettävä päivämäärien esitysmuoto. Muoto on asetettavissa, kuten Java luokan java.text.simpledateformatter Javadoc -dokumentissa kuvataan (http://java.sun.com/j2se/1.4.1/docs/api/java/text/simpledateformat.html). 2

Kaikki em. asetukset asetetaan sovelluksen alkuasetus servletissä (Lohtu Application Initializer). Alla on esimerkki asetuksista. <web-app> <servlet> <servlet-name>lohtu Application Initializer</servlet-name> <servlet-class>fi.helsinki.cs.lohtu.util.lohtuinit</servlet-class> <init-param> <param-name>logfilename</param-name> <param-value>logs/lohtulog</param-value> </init-param> <init-param> <param-name>loglevel</param-name> <param-value>info</param-value> </init-param> <init-param> <param-name>jndireftodatabase</param-name> <param-value>jdbc/lohtudb</param-value> </init-param> <init-param> <param-name>dateformat</param-name> <param-value>d.m.yyyy</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <web-app> 3

Liite 1. Tietokannan luontiin tarvittavat SQL lauseet. CREATE TABLE SoftwareTypes ( swid Serial NOT NULL, softwaretype varchar(50) NOT NULL, primary key (swid), unique (softwaretype)); CREATE TABLE ProcessModels ( pmid Serial NOT NULL, processmodel varchar(50) NOT NULL, primary key (pmid), unique (processmodel)); CREATE TABLE Datatypes ( dtid Serial NOT NULL, datatype varchar(50) NOT NULL, primary key (dtid), unique (datatype)); CREATE TABLE MandatoryQuantities ( mqid Serial NOT NULL, pmid integer NOT NULL, dtid integer NOT NULL, name varchar(50) NOT NULL, primary key (mqid), unique (name), foreign key (pmid) references ProcessModels, foreign key (dtid) references DataTypes); CREATE TABLE Projects ( projectid Serial NOT NULL, pmid integer, swid integer, cycles integer default 1, state boolean default true, projectname varchar(50), primary key (projectid), foreign key (pmid) references ProcessModels, foreign key (swid) references SoftwareTypes); CREATE TABLE ProjectQuantities ( pqid Serial NOT NULL, projectid integer NOT NULL, dtid integer NOT NULL, name varchar(50) NOT NULL, primary key (pqid), foreign key (projectid) references Projects, foreign key (dtid) references DataTypes); CREATE TABLE QuantityStages ( stageid Serial NOT NULL, stage varchar(15) NOT NULL, primary key (stageid), unique (stage)); CREATE TABLE Roles ( role varchar(10) NOT NULL, primary key (role)); CREATE TABLE Users ( userid Serial NOT NULL, projectid integer NOT NULL, username varchar(150) NOT NULL, password varchar(10) NOT NULL, role varchar(10) NOT NULL, 4

firstname varchar(20) NOT NULL, lastname varchar(20) NOT NULL, primary key (userid), unique (username), foreign key (projectid) references Projects, foreign key (role) references Roles); CREATE TABLE Components ( componentid Serial NOT NULL, projectid integer NOT NULL, componentname varchar(50) NOT NULL, primary key (componentid), foreign key (projectid) references Projects); CREATE TABLE Phases ( phaseid Serial NOT NULL, cycleid integer NOT NULL, projectid integer NOT NULL, plannedstart date, plannedend date, freezedstart date, freezedend date, actualstart date, actualend date, phasename varchar(50) NOT NULL, primary key (phaseid), foreign key (projectid) references Projects); CREATE TABLE Tasks ( taskid Serial NOT NULL, phaseid integer NOT NULL, componentid integer, milestone boolean NOT NULL, deadline date, freezeddeadline date, actualdeadline date, taskname varchar(50) NOT NULL, primary key (taskid), foreign key (phaseid) references Phases, foreign key (componentid) references Components); CREATE TABLE UserTasks ( taskid integer NOT NULL, userid integer NOT NULL, foreign key (taskid) references Tasks, foreign key (userid) references Users); CREATE TABLE TaskQuantities ( quantityid integer NOT NULL, stageid integer NOT NULL, taskid integer NOT NULL, dtid integer NOT NULL, mqid integer, pqid integer, value varchar(100), name varchar(50) NOT NULL, primary key (quantityid, stageid, taskid), foreign key (stageid) references QuantityStages, foreign key (taskid) references Tasks, foreign key (dtid) references DataTypes, foreign key (mqid) references MandatoryQuantities, foreign key (pqid) references ProjectQuantities); CREATE TABLE Measures ( taskid integer NOT NULL, quantityid integer NOT NULL, userid integer NOT NULL, value varchar(100) NOT NULL, 5

foreign key (userid) references Users); 6