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:
  1. Build-ul aplicaţiei: la acest pas se pregătesc spre deploy modulele componente ale SocrateCloud (server, reporting, WebUI, etc.)
  2. 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:
  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:
    • -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

  2. Se restartează serverul GlassFish

  3. 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.


  4. 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.

  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...

    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:
  1. 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.

  2. 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.


  3. Folosind interfaţa web de administrare GlassFish (http://localhost:4848)

    1. Se intră pe Applications şi se apasă butonul Deploy...


    2. Se apasă butonul Choose File şi se selectează un modul din folderul SocrateCloud/dist
    3. Se apasă butonul OK 
    4. 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:



Comments