Macchina VMWare preconfigurata.

Introduzione

Questo breve manuale definisce la procedura per scaricare ed installare una macchina virtuale preconfigurata per l’utilizzo di BEEing.

Download e scompattamento BEEing

Per prima cosa è necessario effettuare il download dei file necessari all’installazione della macchina virtuale.
All’indirizzo http://sourceforge.net/projects/beeing/files/
si deve effettuare il download dei seguenti files:


Una volta completato il download sarà necessario scompattare il contenuto dei file compressi per procedere all’installazione della macchina virtuale.

nota(estrazione file compresso):
Cliccare sul file “ubuntu10_gv3.part1″ ed estrarne il contenuto. In automatico il programma per la scompattazione (nel nostro caso winrar) procederà a ricostruire il file originale dove è salvata la virtual machine (file suddiviso in 3 parti differenti per motivi di dimensioni). Una volta ottenuto un unico file “UBUNTU10_GV3″ si dovrà procedere all’estrazione vera e propria del disco che contiene la Macchiona virtuale “
UBUNTU10GV3.vmdk“.

Installazione Virtual Machine con VMWARE

In questo caso è descritta la procedura per l’installazione della versione light di VMWARE, cioè VMWARE PLAYER.
Come prima cosa procederemo con la creazione di una nuova macchina virtuale vergine:

In questo modo il sistema andrà a creare tutti i file necessari per la gestione di una nuova macchina virtuale.
Procedendo con i vari step per la creazione della virtual machine è consigliabile associare al sistema un disco da 20GB e almeno 1GB di RAM.

A questo punto è necessario sostituire il disco vuoto della macchina virtuale appena creata con il disco precedemente scaricato, il disco di BEEing!

Avvio Macchina Virtuale

A questo punto non resta che avviare la Virtual Machine ed utilizzare le seguenti credenziali per avere accesso alla macchina:


Ubuntu user: administrator
Ubuntu pasw: adminadmin

NOTA
: Affinche la macchina appena creata sia visibile dall’esterno è necessario impostare correttamente l’indirizzo ip affinchè sia accessibile dal vostro dominio.

Riepilogo credenziali di accesso ai vari servizi installati

MySQL user: beeing
MySQL psw: beeing

Glassfish user: admin
Glassfish psw: adminadmin

BEEing user: administrator
BEEing psw: administrator

Per installare l’applicazione BEEing è necessario:
- Effettuare
Download del BEEing.war e fare il deploy in Glassfish (http://mydomain:4848);
- Il Database si popola con i dati di default.

Soluzione problema visibilità Virtual Machine in rete:

Deploy di BEEing.

Scaricate il file BEEing.war ( l’ultima versione disponibile).

Collegatevi alla console di glassfish mediante URL: http://192.168.70.201:4848/
(dove “192.168.70.201″ è l’indirizzo IP della vostra macchina virtuale. Eventualmente sostituitelo con uno piu’ adatto alla vostra configurazione di rete).
Immettete il nome utente con diritti amministrativi (administrator) e la password (adminadmin), si aprirà la console di amministrazione di Glassfish.

Procedete con il deploy.
E’ fondamentale che “Application Name” e “Context Root” siano BEEing.

glassfish_deploy

Se avete dubbi su come effettuare il deploy di un’applicazione su Glassfish, fate riferimento al post precedente “Come installare BEEing“.

La codifica in BEEing

encoding

Introduzione

BEEing utilizza la codifica UTF-8 senza BOM (Unicode Transformation Format, 8 bit), molto utile per il trasferimento di informazioni tramite sistemi di posta elettronica o per la memorizzazione di dati all’interno di un datastore. In particolare risulta essere molto adatta a questo tipo di piattaforma, essendo BEEing un framework multilingue.

Come impostare una codifica in BEEing

Per definire una determinata codifica sulla piattaforma (es. UTF-8) è necessario seguire i seguenti passi;

Impostare la codifica UTF-8 in Glassfish

Glassfish è l’application server utilizzato da BEEing, all’interno del quale è necessario configurare un pool contenente le connessioni con i database.

Per ogni connessione è necessario definire alcune proprietà aggiuntive (vedi l’apposita sezione in Installare la versione 3.x di BEEing) tramite cui specificare il nome del database, l’indirizzo IP … Tra queste può essere inserita anche la proprietà Encoding con valore il tipo di codifica che si intende utilizzare.

Encoding-glassfish

Impostare la codifica UTF-8 nel Database.

Il database destinato a contenere i nostri dati dev’essere configurato con la codifica prescelta onde evitare spiacevoli conversioni errate; questa impostazione può essere specificata attraverso il software prescelto per la gestione dei datastore. Di seguito un esempio tramite Navicat.

Encoding-navicat

Codifica per Progetto (per chi ama lavorare sul codice sorgente)

Tramite un apposito IDE di programmazione (o sull’apposito file.xml) è possibile impostare la codifica di un progetto.

Ad esempio Netbeans consente questa operazione entrando nelle proprietà del progetto di interesse.

nb

Codifica per Eclipse-Link (per chi ama lavorare sul codice sorgente)

Se siete degli sviluppatori e state realizzando un nuovo plug-in con un apposito database, allora dovreste assicurarvi che anche le dichiarazioni delle persistence unit contengano le corrette specifiche di encoding.

Eclipse-Link consente l’interazione tra BEEing ed il datastore. Perchè possa essere utilizzato all’interno dal framework è necessario configurare, per ogni progetto, il file persistence.xml. All’interno di questo file è possibile definire il tipo di codifica da utilizzare per la comunicazione con il database:

Encoding-eclipselink

AUTORE: Roberto Fratti

Quanta memoria assegnare a BEEing?

glassfish_momoryBEEing, per migliorare le performance applicative, fa largo uso di diversi sistemi di caching dei dati sia in memoria che su file.

La cache utilizza in parte la memoria ram della macchina host.
Per questo motivo è buona norma configurare Glassfish in modo che renda disponibile la memoria a BEEing nel minor tempo possibile.

Glassfish viene installato con un’impostazione base adatta ad un ambiente di sviluppo e debug.
Per ambienti di produzione occorre modificare alcune opzioni della macchina virtuale.
Per farlo dovete aprire la sezione “JVM Options” ed impostare le seguenti opzioni come di seguito:

  1. Cambiate l’opzione -client in -server.
  2. Impostate l’opzione Xms in questo modo: -Xms832m
  3. Impostate l’opzione Xmx in questo modo: -Xmx832m
  4. Assicuratevi che esista questa opzione: -XX:MaxPermSize=192m

AUTOREGian Angelo Geminiani

Impostare Glassfishv3 come daemon (servizio) in Linux

ubuntu_glassfish_beeingIntroduzione

Questo post spiega come configurare Glassfish su piattaforma Linux Ubuntu affinchè parta come daemon (servizio) al boot della macchina.
L’installer non esegue queste attività automaticamente, ma in un contesto di produzione è impensabile dover avviare manualmente l’Application Server.

Questo breve tutorial è dedicato agli utenti meno esperti.

Installazione di Glassfish

Prima di avventurarci nelle attività successive, dovete aver effettuato l’installazione di Glassfish e la configurazione di BEEing come da tutorial.

Dalla procedura di installazione dovete segnarvi il percorso in cui Glassfish è stato installato.
es: /home/administrator/glassfishv3

Creazione del file di avvio

La creazione del file di avvio è molto semplice.
Il file dovrà essere creato nella cartella /etc/init.d.
Chiameremo il file semplicemente GlassFish.

1. Avviare l’editor di testo in modalità amministrativa:

Eseguire il seguente comando da terminale:

sudo gedit /etc/init.d/GlassFish

glassfish_daemon_step1

Appena inserita la password di amministrazione (quella che avrete impostato in fase di installazione del sistema operativo) l’editor verrà aperto pronto alla modifica del file GlassFish (che naturalmente in questa fase sarà vuoto).
Copiate nel file il seguente contenuto:

GLASSFISHHOME=/home/administrator/glassfishv3/glassfish
case "$1" in
start)
 ${GLASSFISHHOME}/bin/asadmin start-domain domain1
 ;;
stop)
 ${GLASSFISHHOME}/bin/asadmin stop-domain domain1
 ;;
restart)
 ${GLASSFISHHOME}/bin/asadmin stop-domain domain1
 ${GLASSFISHHOME}/bin/asadmin start-domain domain1
 ;;
*)
 echo $"usage: $0 {start|stop|restart}"
 exit 1
esac

Salvate e Chiudete il file.

2. Rendere Avviabile il file GlassFish

Digitate a terminale il seguente comando:

sudo chmod a+x /etc/init.d/GlassFish

E’ possibile che vi venga richiesta nuovamente la password di amministratore.

3. Creare i links al file Glassfish per i diversi livelli di avvio.

Nelle fasi precedenti abbiamo creato un file, GlassFish, che consente l’avvio e l’arresto (ed il riavvio) dell’Application Server.
Poi lo abbiamo reso eseguibile, in modo che possa essere  lanciato come un qualsiasi altro programma.

Ora dobbiamo creare i link all’interno di apposite cartelle che invocheranno il nostro file GlassFish.
Per evitare di eseguire la procedura manualmente, possiamo utilizzare uno script che ho reperito sul blog di Sun e ho riadattato.
Dobbiamo innanzi tutto creare un file eseguibile contenente lo script che lanceremo successivamente.

Per creare il file eseguibile con lo script compiremo la stessa procedura descritta nei punti 1 e 2.

Avvio dell’editor di testo:

sudo gedit /home/administrator/Desktop/CreateLinks

Verrà creato un file CreateLinks sul desktop.

Copiate il seguente contenuto nel file e salvate. Potete poi chiudere l’editor.

#!/bin/bash

# Author: Ken Kranz - Sun Microsystems, Inc

TARGET=$1

NUMBER=$2

USAGE="$(basename $0) TARGET NUMBER"

if [[ $# != 2 ]]; then

    echo $USAGE

    exit 0

fi

if [[ x$TARGET = x ]]; then

    echo missing TARGET

    echo $USAGE

    exit 1

fi

if [[ x$NUMBER = x ]]; then

    echo missing NUMBER

    echo $USAGE

    exit 1

fi

if [[ ! -e /etc/init.d/$TARGET ]]; then

    echo cannot find $TARGET

    exit 1

fi

sudo chmod a+x /etc/init.d/$TARGET

sudo ln -v -s /etc/init.d/$TARGET /etc/rc0.d/K${NUMBER}$TARGET

sudo ln -v -s /etc/init.d/$TARGET /etc/rc1.d/K${NUMBER}$TARGET

sudo ln -v -s /etc/init.d/$TARGET /etc/rc2.d/S${NUMBER}$TARGET

sudo ln -v -s /etc/init.d/$TARGET /etc/rc3.d/S${NUMBER}$TARGET

sudo ln -v -s /etc/init.d/$TARGET /etc/rc4.d/S${NUMBER}$TARGET

sudo ln -v -s /etc/init.d/$TARGET /etc/rc5.d/S${NUMBER}$TARGET

sudo ln -v -s /etc/init.d/$TARGET /etc/rc6.d/K${NUMBER}$TARGET

Rendere il file CreteLinks eseguibile.

sudo chmod a+x /home/administrator/Desktop/CreateLinks

Eseguire CreateLinks.

Siamo finalmente pronti ad eseguire CreteLinks, il file che si occuperà per noi di effettuare tutte le modifiche necessarie all’avvio, arresto e riavvio di Glassfish come daemon.

Da terminale dovrete digitare, uno alla volta, i seguenti comandi:

sudo /home/administrator/Desktop/CreateLinks GlassFish 2
sudo /home/administrator/Desktop/CreateLinks GlassFish 5
sudo /home/administrator/Desktop/CreateLinks GlassFish 0
sudo /home/administrator/Desktop/CreateLinks GlassFish 1
sudo /home/administrator/Desktop/CreateLinks GlassFish 6

Riavviate la macchina e verificate che Glassfish sia partito.

AUTORE: Gian Angelo Geminiani

Glassfish v3: come verificare la connessione ad un database.

glassfishv3_ping

Glassfish dispone di un metodo molto semplice per testare la connessione ad un database, il ping.

Per verificare se tutti i parametri inseriti nella procedura di configurazione sono corretti, è sufficiente cliccare sul bottone Ping.

E’ molto semplice, selezionate la connessione desiderata tra quelle presenti nel “Connection Pools” e fate click su “Ping”.

Se tutto ha funzionato a dovere otterrete un bel “Ping Succeded“, oppure un errore di qualche tipo.

Se avete appena installato Glassfish e non avete distribuito i driver del database, allora otterrete un errore JDBC che vi informa dell’impossibilità da parte del sistema di reperire il driver richiesto.
Niente di cui preoccuparsi, ecco come ottenere e distribuire i driver su Glassfish.

Distribuire i driver del vostro database su Glassfish.

Questa procedura ha lo scopo di rendere disponibili i driver di database a livello di application server.
Procedete in questo modo:

  1. Scaricate il driver desiderato. Poniamo ad esempio che abbiate necessità di testare la connessione con MySQL, allora dovrete scaricare l’ultima versione dei driver da questo sito: http://dev.mysql.com/downloads/connector/j/ (.tar o .zip a seconda del sistema operativo su cui state facendo girare Glassfish)
  2. Aprite l’archivio appena scaricato ed estraetene il contenuto in una cartella temporanea o sul Desktop. Dovreste ottenere una cartella con un nome simile a questo: “mysql-connector-java-5.1.10″
  3. Aprite la cartella e verificate la presenza di un file .jar dal nome simile a “mysql-connector-java-5.1.10-bin.jar” (il nome può cambiare in funzione della versione del driver).
  4. Copiate il file “mysql-connector-java-5.1.10-bin.jar” nella cartella LIB di Glassfish che trovate nel percorso “glassfish/lib/”. Se siete in ambiente Windows e state utilizzando Glassfishv3 il percorso dovrebbe essere grosso modo questo: “c:\glassfishv3\glassfish\lib”.
    Se invece state utilizzando Linux e avete installato Glassfish con i parametri di default, il percorso dovrebbe essere “/home/USER/glassfishv3/glassfish”.
  5. Riavviate Glassfish.

A questo punto riprovate il Ping. Se otterrete nuovamente un errore, questa volta dovrebbe trattarsi di un errore diverso da quello precedente e riportante l’indicazione che la connessione non è possibile perchè il database non è raggiungibile o l’utente non è stato riconosciuto.

AUTOREGian Angelo Geminiani