Commit 03db303c authored by Kertu Hiire's avatar Kertu Hiire

Updated documentation with prerequisites and deployment process

- minor fix on documentation link in README.md
- instructions on database configuration
- instructions on deploying java application
parent 4a48cade
......@@ -10,7 +10,7 @@ __Andmehoidja__, tehnilise nimetusega __RIHA-Storage__, on serveriteenus (e RIH
- `RIHA-Andmebaas (VANA)` - RIHA vana andmebaasi mudel (palju tabeleid)
- `RIHA-Storage` PostgreSQL andmebaasi mudel
3. Kommenteeritud SQL-skriptid
4. [Arendusjuhend](docs/Arendusjuhend) - dokument kirjeldab komponendi paigaldamisse ja arendamisse puutuvat
4. [Arendusjuhend](docs/Arendusjuhend.md) - dokument kirjeldab komponendi paigaldamisse ja arendamisse puutuvat
5. koodis olevad kommentaarid.
Andmehoidja lühike kirjeldus on ka RIHA arhitektuuriteatmikus: [Andmehoidja](https://arhitektuur.riha.ee/Andmehoidja) (repos RIHA-Index).
......
......@@ -2,6 +2,32 @@ Märkus. Ümber nimetatud repo `kirjeldusmoodul-rest-api` failist README.md - Pr
# Arendusjuhend
## Eeldused
- PostgreSQL 9.6 andmebaas
- Tomcat 8
- Ubuntu 16.04
- OpenJDK 1.8
- Maven
## Andmebaasi paigaldamine
1. Paigaldada PostgreSQL versioonil 9.6 töötav andmebaas
2. Tekitada andmebaasi vajalikud tabelid, kasutades RIHA-Storage komponendi [dbcreate.sh](https://github.com/e-gov/RIHA-Storage/blob/master/dbcreate.sh) skripti:
Andmebaasitabelite tekitamiseks tuleb anda selle repositooriumi juurkataloogist käsk:
```bash
PGPASSWORD={password} sh ./dbcreate.sh [-n] {hostname} {dbport} {dbname} {username}
```
Käsus tuleb näidata järgmine info:
- **-n** – Andmebaas tekitatakse ilma vana RIHA andmebaasiga sidumata (st –tegemist on vana RIHA lahendusest sõltumatu paigaldusega)
- **hostname** - Andmebaasiserveri IP aadress või DNS nimi
- **dbport** - Andmebaasiserveri poolt kasutatav port
- **dbname** - andmebaasitabeleid sisaldava andmebaasi nimi.
- **username** - andmebaasi administreerimise õiguseid omava andmebaasikasutaja nimi
- **password** - Andmebaasikasutaja parool
3. Andmebaasis peab leiduma skeem nimega **_riha_** ning see peab olema antud kasutaja
vaikimisi skeemiks. Vajalikul kujul andmebaas ja kasutajatunnus tuleb tekitada eraldi käsitsi
andmebaasihalduse tarkvara abil. Muud täiendavad nõudeid tekitatud andmebaasile puuduvad.
## Lahenduse kompileerimine
......@@ -50,12 +76,53 @@ jmeter.test | rest-get-object | jMeter testi nimi, mis testifaasis
Märkused:
* Parameetritega antud JDBC andmebaasiühendust kasutatakse ainult juhul, kui rakendusele pole Tomcat konfiguratsioonis
- Parameetritega antud JDBC andmebaasiühendust kasutatakse ainult juhul, kui rakendusele pole Tomcat konfiguratsioonis
kirjeldatud JNDI nime `jdbc/riharest/datasource`. Sellise JNDI nime leidumise korral kasutatakse andmebaasiühenduse
loomiseks seda.
* Andmebaasiühenduse parameetreid kasutatakse ka ühiktestide käivitamiseks. Juhul, kui andmebaas pole tarkvara kompileerimise
- Andmebaasiühenduse parameetreid kasutatakse ka ühiktestide käivitamiseks. Juhul, kui andmebaas pole tarkvara kompileerimise
ajal kättesaadav, tuleb ühikteste mitte käivitada (st kasutada parameetrit `skipTests=true`).
### Konfiguratsiooni faili abil
Kõrgema prioriteediga parameetrid võib määrata `/opt/tomcat/conf/riharest.project.properties` faili abil. Selle faili olemasolu ei ole kohustuslik ja võib sisaldada ainult väike osa konfiguratsioonist. Parameetrite prioriteet on kõrgem kui vaikeväärtustel.
## Tarkvarapaketi paigaldamine
RIHA-Storage REST teenuse komponent koosneb ühest Java veebirakenduse arhiivifailist nimega _rest.war_ . Fail tuleb
paigaldada Tomcat serveri kataloogi webapps. Peale rakenduse häälestamist tuleb häälestuse jõustumiseks
teha rakendusserverile restart.
### Andmebaasiühenduse häälestamine
Komponent eeldab, et RIHA andmebaasiühenduse info on kirjeldatud JNDI ressursina. Selleks tuleb Tomcati konfiguratsioonifaili
`content.xml` lisada read:
```xml
<Resource name="jdbc/riharest/datasource"
auth="Container"
type="javax.sql.DataSource"
username="{username}"
password="{password}"
url="{url}"
driverClassName="org.postgresql.Driver"
initialSize="20"
maxWaitMillis="15000"
maxTotal="75"
maxIdle="20"
maxAge="7200000"
testOnBorrow="true"
validationQuery="select 1"
/>
```
Neis ridades tuleb ära näidata järgmine info:
- **username** - RIHA andmebaasikasutaja nimi, mille alt on tagatud rakendusepoolne andmebaasile ligipääs
- **password** - Eelmainitud kasutaja parool
- **url** - Andmebaasiühenduse URL (näiteks `jdbc:postgresql://192.168.50.106:5432/riha`)
### Dokumentide kataloogi tekitamine
RIHA-Storage hoiab kirjeldustele kaasapandud dokumente failisüsteemis. Selleks tuleb näidata RIHA-Storage
konfiguratsioonifailis parameetri **_PATH_ROOT_** abil ära põhikataloog, mille alla dokumendid paigaldatakse.
Lisaks on vaja hoolitseda, et kasutaja, mille õigustes Tomcati rakendusserver töötab, omaks sellele kataloogile
lugemise ja kirjutamise õigusi.
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment