Come installare Apache Felix Web Console in Liferay 7

Come Installare Apache Felix Web Console Liferay 7
Come Installare Apache Felix Web Console Liferay 7

Ho iniziato a lavorare e apprezzare OSGi parecchi anni or sono, insomma, prima che Liferay 7 decidesse finalmente l’adozione di questa specifica. Con OSGi e le varie implementazioni (Apache Felix, Eclipse Equinox, Apache Karaf) sono stato abituato (o meglio viziato) a utilizzare determinati strumenti di gestione che pensavo di trovare anche in Liferay, non è stato proprio così, quindi, seguitemi qualche minuto per scoprire lo strumento e come installarlo.

L’implementazione di OSGi Framework & Service platform (e altre tecnologie OSGi) che Liferay 7 adotta è quella di Apache Felix. Il progetto Apache Felix è composto da un considerevole numero di sotto progetti ognuno dei quali ricopre funzionalità specifiche. Il modulo (o sotto progetto) di Apache Felix che su Liferay 7 è stato adottato per la gestione dei bundle OSGi è Gogo. Apache Felix Gogo implementa la specifica OSGi RFC 147, che descrive una shell standard per gli ambienti OSGi-based (vedere RFC 147 per ulteriori informazioni).

In Figura 1 è mostrata la Gogo Shell alla quale possiamo connetterci via telenet sulla porta 11311 su localhost, da questa console possiamo gestire facilmente i bundle di Liferay e quelli custom (da noi sviluppati), il tutto attraverso comandi OSGi.

Figura 1 - Come Configurare Apache Felix Web Console in Liferay 7

Figura 1 – Connessione alla Apache Felix Gogo Console installata con Liferay 7

I bundle OSGi hanno un proprio ciclo di vita e tramite i comandi OSGi possiamo intervenire su questo ciclo di vita il cui diagramma è illustrato in Figura 2. Dal momento del deploy del bundle all’interno del container OSGi, il runtime OSGi tenta di risolvere le dipendenze del bundle. Se tutte le dipendenze richieste sono risolte, allora il bundle è posto nello stato RESOLVED altrimenti rimane nello stato INSTALLED. Ogni bundle riceverà un ID durante il processo d’installazione. Quando il bundle parte, il suo stato di partenza è STARTING, che diviene ACTIVE nel momento in cui lo startup è stato concluso con successo.

Figura 2 - Life cycle dei bundle in OSGi

Figura 2 – Life cycle dei bundle in OSGi

Installazione Apache Felix Web Console

Un minino d’introduzione era doverosa e per questo vi ringrazio per l’attesa. L’Apache Felix Gogo Shell è lo strumento con il quale posso gestire interamente il container OSGi. Sappiamo benissimo che non tutti sono avvezzi o comunque sono restii a utilizzare la console. Bene, il progetto Apache Felix ha un sotto progetto che si chiama Web Console, uno strumento semplice per controllare e gestire il container OSGi utilizzando il proprio browser web preferito.

Liferay 7 purtroppo non include questo strumento ma l’installazione risulta essere davvero semplice:

  1. Eseguo la connessione alla console Apache Felix Gogo via telnet
  2. Eseguo l’installazione della Web Console tramite il bundle org.apache.felix.webconsole-4.3.4.jar

A seguire sono indicati i comandi che dovreste eseguire dalla vostra console (sia Windows sia Unix/Linux/BSD) per installare la versione 4.3.4 dell’Apache Felix Web Console e verificare l’esito dell’installazione. Nel mio caso il bundle è stato installato correttamente ed assegnato l’ID 944 e anche attivato (comando start) senza nessun errore.

Possiamo benissimo lasciare le configurazioni predefinite, quelle riportate nella tabella a seguire.  La Web Console ha una sola dipendenza richiesta: l’implementazione dell’OSGi HTTP Service Specification (org.osgi.service.http) in esecuzione all’interno del container.

Proprietà Valore predefinito Descrizione
manager.root /system/console Il root path della OSGi Management Console.
username admin La username dell’utente abilitato per l’accesso alla OSGi Management Console. Per disabilitare l’autenticazione lasciare il valore vuoto. Il metodo di autenticazione predefinito è HTTP BASIC che può essere cambiato.
password admin La password dell’utente abilitato alla OSGi Management Console.

L’end point della Web Console nel contesto Liferay 7 è http://localhost:8080/o/system/console. Il partial path /o deriva dal fatto che Liferay ha configurato l’end point HTTP OSGi sul context /0/ definito sul web.xml in

  • $LIFERAY_HOME/tomcat-9.0.6/webapps/ROOT/WEB-INF/web.xml

Detto ciò possiamo puntare il nostro browser preferito verso la URL http://localhost:8080/o/system/console e dopo l’autenticazione dovremmo vedere la lista del bundle installati, così come mostrato in Figura 3. In Figura 4 mi son spostato sulla parte di configuration management e da qui ho modificato il parametro di configurazione che imposta la directory della document library di Liferay, mentre in Figura 5 è mostrato il dettaglio del bundle Liferay Portal Cache Single (com.liferay.portal.cache.single).

 

Figura 3 - Apache Felix Web Console - Lista dei Bundle

Figura 3 – Apache Felix Web Console – Lista dei Bundle

 

Figura 4 - Apache Felix Web Console - Modifica configurazione bundle

Figura 4 – Apache Felix Web Console – Modifica configurazione bundle

 

Figura 5 - Apache Felix Web Console - Dettaglio del bundle

Figura 5 – Apache Felix Web Console – Dettaglio del bundle

Questo tool che ho utilizzato in passato è davvero comodo e riportalo su Liferay 7 è stato quasi naturale. Uno strumento del genere è sicuramente più semplice da utilizzare per coloro che faranno amministrazione della piattaforma Liferay. L’accesso alla Web Console può essere reso ancora più sicuro utilizzando pattern d’infrastruttura comuni.

0 Condivisioni

Antonio Musarra

I began my journey into the world of computing from an Olivetti M24 PC (http://it.wikipedia.org/wiki/Olivetti_M24) bought by my father for his work. Day after day, quickly taking control until … Now doing business consulting for projects in the enterprise application development using web-oriented technologies such as J2EE, Web Services, ESB, TIBCO, PHP.

Potrebbero interessarti anche...