1.a Instalare - până la v16.05 inclusiv
SocrateCloud se poate instala pe mai multe tipuri de servere de aplicaţii. Serverele testate până acum sunt: GlassFish (Open Source şi Oracle), JBoss şi WebLogic. Serverul implicit şi recomandat este GlassFish, versiunea 3.1+
Acest manual de instalare prezintă paşii pentru a instala SocrateCloud pe serverul GlassFish Open Source 3.1.2.
Atentionare !!!
Am identificat o problema de compatibilitate Java/GlassFish pe versiunea GlassFish Open Source 3.1.2.2 (este posibil sa existe si pe alte versiuni GlassFish) cu JavaSE JDK 1.7.0_55 si 1.7.0_60. Pentru rezolvare se recomada utilizarea JavaSE JDK > 1.7.0_65.
Instalarea SocrateCloud (I)
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 GlassFish. Se efectuează după instalare / configurare Glassfish!
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 GlassFish) şi se găsesc in folderul <SocrateCloud>/dist
Descărcarea şi instalarea serverului GlassFish
GlassFish Open Source Server se poate descarcă de la http://glassfish.java.net/ secţiunea Downloads. Tot aici se regăseşte şi documentaţia de instalare.
Atentionare !!!
Am identificat o problema de compatibilitate Java/GlassFish pe versiunea GlassFish Open Source 3.1.2.2 (este posibil sa existe si pe alte versiuni GlassFish) cu JavaSE JDK 1.7.0_55 si 1.7.0_60. Pentru rezolvare se recomada utilizarea JavaSE JDK > 1.7.0_65.
Configurarea GlassFish pentru SocrateCloud
După instalarea GlassFish sunt necesarea câteva configurări în vederea rulării SocrateCloud. Aceste configurări se fac din pagina de administrare GlassFish, care e disponibilă la url-ul http://localhost:4848 (în cazul în care browserul se porneşte de pe serverul/staţia unde este şi GlassFish instalat).
După autentificare se fac următoarele configurări:
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:
-XX:MaxPermSize: minim 512m (-XX:MaxPermSize=512m)
-XX:PermSize: de regulă jumătate din MaxPermSize (-XX:PermSize=256m)
-Xmx: minim 2048 mega (-Xmx2048m)
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
Se restartează serverul GlassFish
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 la minim 50.
Pentru definirea pool-ului de conexiuni la baza de date este necesară descarcarea 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 Glassfish, în folderul glassfish\domains\<nume_domeniu>\lib dupa care se da restart la server.
Se definește pool-ul de conexiuni la baza de date. Pentru asta se intră pe JDBC Connection Pools şi se apasă butonul New...
Se completează Pool Name cu numele serverului Oracle, Resource Type și Database Driver Vendor apoi se apasă Next...
Se editează proprietățile ca în imaginea de mai jos
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>
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.
După actualizarea proprietăților sau a setărilor, se salvează și se poate da din nou Ping la baza de date
Se merge în Tabul "Advanced" și se configurează validarea conexiunilor ca în imaginea de mai jos
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...
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 modulele: WebUI, Server, Reporting, SDEI, SOHH, SOGApps, SHRM, CloudAPI, Monitor)
Instalarea SocrateCloud (II)
Deploy-ul componentelor pe serverul GlassFish
Se poate realiza în mai multe moduri:
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 GlassFish asadmin. Acesta se găseşte în folderul <glassfish3>/glassfish/bin (<glassfish3> fiind folderul de bază al instalării GlassFish). Un exemplu este mai jos.
Folosind interfaţa web de administrare GlassFish (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.
Acest url se poate afla dacă se deschide linkul Launch al aplicaţiei soweb:
Configurări postinstalare
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: