1.b Instalare - începând cu v16.06, update important v19.09
SocrateCloud, începând cu v16.06, se poate instala pe serverul de aplicație Payara Server împreună cu JavaSE Development Kit 8.
Acest manual de instalare prezintă paşii de instalare SocrateCloud pe serverul de aplicație Payara Server.
Descărcarea şi instalarea serverului Payara
Payara Server (full) se poate descărca de la http://www.payara.fish secţiunea Downloads. Asigurați-vă că descărcați versiunea ”full” (ex: ”Payara Server 162 Full”). Tot aici se regăseşte şi documentaţia de instalare.
În prealabil trebuie instalat JavaSE Development Kit 8.
Pentru definirea pool-ului de conexiuni la baza de date este necesară descărcarea driver-ului de Oracle - ojdbc6.jar (http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html) pentru Oracle Database 11.2.0.3. sau Oracle Database 11.2.0.4. Acesta trebuie copiat în Payara Server, în folderul glassfish\domains\domain1\lib (plecând de la premiza că se păstrează ”domain1” - domeniul implicit din setările standard ale serverului), înainte de a porni serverul!
Instalarea SocrateCloud (I - Build)
Incepand de la versiunea 19.09, pasul de Build nu mai este necesar. Kitul de versiune (majora sau minora) se descarca complet deja cu componentele si modulele web configurate din zona de livrabile. Componenentele software se gasesc in folderul /dist in kitul de versiune.
Pana la versiunea 19.08 inclusiv: Instalarea SocrateCloud se realizează în doi paşi:
Build-ul aplicaţiei: la acest pas se pregătesc spre deploy modulele componente ale SocrateCloud (server, reporting, WebUI, etc.)
Deploy-ul ("instalarea") componentelor de la pasul unu pe serverul Payara. Se efectuează după instalare / configurare Payara Server!
Build-ul sistemului
se descarcă de pe WebStore BITSoftware şi se dezarhivează kit-ul SocrateCloud
se descarcă eventualele componente adiţionale şi se copiază in folderul <SocrateCloud>/components
se porneşte RUN_Install.{bat|sh} (.bat sau .sh în funcţie de sistemul de operare - Windows sau Linux)
dacă încă nu aveţi o bază de date SocrateOpen/SocrateCloud, la sfârştul build-ului aveţi posibilitatea să importaţi o bază de date răspunzând cu Yes la întrebarea respectivă
Dacă aveţi deja o bază de date răspundeţi cu No!
la sfârşitul build-ului trebuie să apară mesjul <<<<<<<< Installer Done (... min .. sec) >>>>>>>>
După acest pas toate componentele SocrateCloud sunt pregătite pentru deploy ("instalare" pe Payara) şi se găsesc in folderul <SocrateCloud>/dist
Configurarea Payara Server pentru SocrateCloud
După instalarea Payara Server sunt necesare câteva configurări în vederea rulării SocrateCloud. Aceste configurări se fac din pagina de administrare, care e disponibilă la url-ul: http(s)://localhost:4848 (în cazul în care browserul se porneşte de pe serverul/staţia unde este şi Payara Server instalat).
După autentificare se fac următoarele configurări:
1. Se măresc valorile parametrilor de memorie. Pentru asta se intră pe opţiunea Configuration -> server-config -> JVM Settings şi în pagina care se deschide se alege JVM Options:
se modifică în funcţie de resursele RAM disponibile pe server şi necesităţi următoarele opţiuni:
se adaugă (Add JVM Option) parametrul: -XX:MaxMetaspaceSize cu minim 512m (-XX:MaxMetaspaceSize=512m)
se adaugă (Add JVM Option) parametrul: -XX:MetaspaceSize cu de regulă jumătate din -XX:MaxMetaspaceSize (-XX:MetaspaceSize=256m)
se modifică parametrul: -Xmx cu minim 2048 mega (-Xmx2048m)
se adaugă (Add JVM Option) parametrul: -XX:+UseG1GC
se adaugă (Add JVM Option) parametrul: -XX:+UseStringDeduplication
se șterge parametrul: -XX:NewRatio
se adaugă (Add JVM Option) parametrul: -Dfile.encoding=UTF-8
opţional se poate adăuga un parametru nou pentru a specifica locaţia folderului pentru fişierele temporare. Acest parametru se numeşte -Djava.io.tmpdir. De exemplu -Djava.io.tmpdir=/mnt/tmp
2. Incepand de la versiunea 20.06, se definesc URL-urile public și privat către serverul de Payara. Acestea sunt necesare comunicării între modulele web ale aplicației.
Pentru asta se intră pe opţiunea Configuration -> server-config -> System Properties şi în pagina care se deschide se definesc următoarele proprietăți:
webmodules.public.host.base.url: url-ul la care raspunde serverul de Payara când este apelat din browser
webmodules.private.host.base.url: url-ul la care raspunde serverul de Payara când este apelat din reteaua in care se află serverul. Se poate folosi si IP-ul local al serverului.
3. Se restartează serverul Payara
4. Se măreşte numărul de fire (thread-uri) http, intrând pe Configuration -> server-config -> Thread Pools -> http-thread-pool şi mărind valoarea parametrului Max Thread Pool Size la minim 50.
5. Se definește pool-ul de conexiuni la baza de date. Pentru asta se intră pe JDBC Connection Pools şi se apasă butonul New...
6. Se completează Pool Name cu numele serverului Oracle, Resource Type și Database Driver Vendor apoi se apasă Next...
7. Se editează proprietățile ca în imaginea de mai jos:
8. Se pune bifa Non Transactional Connections ca in imagninea de mai jos, apoi se completează, în josul paginii, cu următoarele proprietăți:
serverName: numele sau IP-ul serverului Oracle
portNumber: portul bazei de date
databaseName: numele bazei de date
user: numele utilizatorului Oracle cu care aplicaţia se conectează la baza de date
password: parola utilizatorului Oracle
url: format din datele de mai sus, de forma: jdbc:oracle:thin:@<serverName>:<portNumber>:<databaseName>
ImplicitCachingEnabled: true
MaxStatements: 100
9. Se apasă butonul Finish. Rezultatul trebuie să fie: "Ping Succeeded" ca în imaginea de mai jos. Dacă în schimb primim un mesaj de eroare, atunci fie driverul de Oracle nu este copiat în locația glassfish\domains\<nume_domeniu>\lib, fie setările nu sunt corecte. Setările se pot actualiza selectând pool-ul nou creat, ca în imaginea de mai jos.
10. După actualizarea proprietăților sau a setărilor, se salvează și se poate da din nou Ping la baza de date.
11. Se merge în Tabul "Advanced" și se configurează validarea conexiunilor ca în imaginea de mai jos:
Validate At Most Once: 60
12. După ce pool-ul de conexiuni este configurat cu succes, se definește resursa JDBC. Se intră pe JDBC Resources şi se apasă butonul New...
13. Resursa trebuie sa fie definită obligatoriu cu numele SocrateCloudMainDatasource. Se completează cu pool-ul nou creat și se apasă OK.
Pentru fiecare modul web se poate defini un pool propriu de conexiuni la baza de date în formarul SocrateCloudMainDatasource_<NumeModul>,
ex.: SocrateCloudMainDatasource_WebUI
Nume module: WebUI, Server, Reporting, SDEI, SOHH, SOGApps, SHRM, CloudAPI, Monitor
Instalarea SocrateCloud (II - Deploy)
Deploy-ul componentelor pe serverul Payara
Se poate realiza în mai multe moduri:
-numai pana la versiunea 19.08 inclusiv - Automat la build (pasul de mai sus). În acest caz, înainte de pornirea build-ului, se editează fişierele <SocrateCloud>/conf/glassfish_deploy.properties şi <SocrateCloud>/conf/glassfish_password şi se completează datele referitoare la folderul unde este instalat GlassFish, modulele care se instalează şi parola de admin. Pentru mai multe detalii citiţi comentariile din aceste fişiere.
Folosind utilitarul Payara asadmin. Acesta se găseşte în folderul <payara>/glassfish/bin (<payara> fiind folderul de bază al instalării Payara Server). Un exemplu este mai jos.
Folosind interfaţa web de administrare Payara (http://localhost:4848)
Se intră pe Applications şi se apasă butonul Deploy...
Se apasă butonul Choose File şi se selectează un modul din folderul SocrateCloud/dist
Se apasă butonul OK
Se repetă operaţiunea pentru fiecare modul din folderul <SocrateCloud>/dist (reporting.ear, server.ear, soweb.war, etc.)
După ce s-a făcut deploy la modulul soweb se poate verifica funcţionarea aplicaţiei deschizând url-ul: http[s]://<nume server>[:port http[s]]/soweb.
Configurări postinstalare
Incepand de la versiunea 20.06, înregistrarea modulelor web pentru comunicare între ele se face automat.
Este nevoie însă de definirea a două proprietăți în serverul de Payara (a se vedea paragraful anterior Configurarea Payara server pentru SocrateCloud).
Pana la versiunea 20.05 inclusiv: După deploy-ul componentelor sunt necesare câteva setări în aplicaţie astfel încât toate modulele web să poate să comunice între ele.
Toate aceste setări se fac din aplicaţia SocrateCloud intrând cu utilizatorul System (parola implicită System) şi rolul System - System Administrator. După login se deschide fereastra Module Web aflată în meniul SysAdmin -> System Management şi se definesc setările modulelor web instalate.
Parametrii sunt:
Tip modul web: tipul modulului pentru care se face configurarea
Host: numele hostului pe care este acest modul instalat. A nu se utiliza localhost! Trebuie scris numele serverului astfel încât să fie apelabil prin reţea (LAN/WAN).
Port: portul HTTP/HTTPS al serverului pe care este instalat modului
SSL: dacă modulul foloseşte sau nu SSL
După ce s-au configurat module trebuie resetat cache-ul serverului. Acesta se face cu opţiunea Unelte -> Resetare cache client+server din meniul care se deschide apasând butonul din colţul dreapta sus al ferestrei SocrateCloud: