JBoss EAP 7.0 – Management Console vs JBossCLI

Link

Tra le novità della nuova verisone di JBoss EAP 7.0, oltre al nuovo subsystem Undertow già presentanto nel seguente post, non possiamo non menzionare la nuova Management Console.

Rispetto alle versioni precedenti, la nuova Management Console ora è strutturata seguendo la logica a nodi della console CLI, risultando quindi molto più fruibile ed utilizzabile anche da chi non ha praticità con il management di JBoss tramite CLI.

Cerchiamo ora di fare qualche confronto e di vedere i pregi di questa nuova versione.

Web1Già a prima vista si può notare la suddivisione in sotto-livelli che è un rimando alla struttura DMR della CLI.

CLI1-1

Per chi non lo sapesse, la struttura DMR della CLI consente in sostanza di rappresentare la struttura di JBoss EAP come fosse un FileSystem Linux; al seguente link si trova anche la documentazione sull’utilizzo delle relative API.

Come possiamo notare dai due screenshot sopra, si nota molta similitudine tra la struttura dell’interfaccia web di Management e l’interfaccia CLI, ogni livello nella parte Web è rappresentato dal carattere “/” nella Command Line.

Dato che nel proseguio dell’articolo verrà fatto uso della CLI, rinfrenschiamoci un pò la memoria su come ci è possibile collegarci a tale strumento. Innanzitutto andiamo a verificare come abbiamo configurato l’accesso nel file host.xml nella sessione management-interfaces e interfaces, come mostrato di seguito.

CLI1-4

Come possiamo notare dall’immagine sopra, abbiamo impostato il nostro jboss.bind.address.management al valore di 192.168.10.24 in questo caso è OBBLIGATORIO specificarlo al momento della connessione alla CLI tramite il seguente comando:

./jboss-cli.sh --connect --controller=192.168.10.24

Nel caso in cui avessimo lasciato i valore di default sarà sufficiente dare solamente il comando di connect senza dover specificare alcun indirizzo per il Controller in quando verrà utilizzato in automatico l’indirizzo 127.0.0.1 ossia l’indirizzo di localhost del nostro Server.

Per chi avesse poca dimestichezza con la CLI JBoss ricordo inoltre che i due caratteri / e :hanno una loro specifica funzione, ovvero, rispettivamente, separare i nodi della console come spiegato sopra e accedere alle operazioni consentite per il livello al quale ci troviamo come ad esempio:

:read-resource
:read-attribute
:write-attribute
:undefine-attribute

Utilizzati rispettivamente per leggere i valori impostati sulla risorsa in cui siamo posizionati, avere l’output del campo dell’attributo che andremo a specificare, impostare un determinato valore per uno specifico attributo della risorsa selezionata e per rimuovere la definizione su dato attributo.

Rendiamo ora più interessante la scoperta della Web Console e della Command Line Interface di JBoss passando alla modalità Domain; ricordo che quest’ultima è stata introdotta in JBoss EAP a partire dalla versione 6.x migliorando e semplificando notevolmente la gestione di più ApplicationServer.

Web2

Come possiamo vedere dall’immagine, notiamo immediatamente che la configurazione utilizzata è relativa al DomainMode di JBossEAP in quando la prima voce nella prima colonna risulta essere Profiles e non Subsystems come abbiamo potuto notare nalla prima immagine di questo articolo riferita alla configurazione Standalone.

Una novità importante e molto apprezzata in questa nuova versione, è la possibilità di Clonare ed Eliminare i profili esistenti; in precedenza infatti era possibile fare una copia di un profilo esistente solamente editando manualmente il file domain.xml aumentando quindi la possibilità di typo.

Effettuiamo ora tamite la JBoss-CLI il clone del profilo full e vediamo poi come cambia sia la console Web di Management che il file domain.xml.

CLI1-2

Anche da CLI notiamo che stiamo “operando” in modalità DomainMode sia tramite la scritta domain come “utente linux” sia dal fatto che il primo comando impartito è stato necessariamente

/profile

Web3

CLI1-3

Nelle due immagini sopra notiamo la comparsa del profilo COPY-Full sia in WebManagement sia nel file di configurazione domain.xml, si vede inoltre che è stato possibile effettuare una copia di un profilo attualmente in uso, NON è invece permesso effettuare la cancellazione di quest’ultimo se assegnato ad uno o più ServerGroup, nel caso in cui provassimo comunque ad effettuare tale operazione verremmo avvisati sia se siamo in CLI sia dalla Console Web.

La funzione di Clone ci permette quindi di personalizzare la configurazione del nostro ambiente di DomainMode a nostro piacimento e di avere quindi profili con nomenclature ancora più “parlanti” o specifiche a standard aziendali.

Come possiamo vedere di seguito, anche la creazione e copia sia dei Server Group che delle Istanze Server, risulta semplificata e facilitata rispetto alle precedenti versioni, avendo anche in questo caso la possibilità utilizzare la funzionalità di COPY.

Web4

Web4a

In questa nuova versione della WebManagement Console è stata rivista e riprogettata anche la parte di visualizzazione della distribuzione delle nostre istanze Server JBoss in modo da risultare di facile lettura ed intuizione anche in caso di molteplici Server Host agganciati al Domain e una svariata quantità di istanze raggruppate per Server Group.

Web6a

Possiamo notare che ora l’ordinamento è una lista di tutti i ServerGroup ordinata per nome, mentre nella colonna Server vengono visualizzate le IstanzeServer ad esso associate, è di facile intuizione inoltre lo stato di queste ultime, risulta quindi una “barra” bianca in caso di istanza Running, grigia in caso di Stopped e blu nel caso di Suspended; è infatti possibile, a partire da questa versione, poter mettere in “pausa” una singola Istanza di un ServerGroup mantenendo comunque attiva la JVM ma in questo modo non vengono più servite le richieste che arrivano.

La visualizzazione delle singole Istanze è inoltre possibile anche tramite la “vista” per Host Server.

Web9a

Qui possiamo notare ulteriormente come la nuova Web GUI rispecchi l’alberatura della JBoss CLI, in questo caso vediamo i Subsystem associati e attivati in una determinata Istanza Server; premendo su “view” veniamo quindi reindirizzati sulla pagina di visualizzazione dello stato del Subsystem selezionato.

Come notiamo dalle immagini sotto, da questo punto è possibile solamente visualizzare lo stato del Subsystem selezionato ma NON crearne di nuovi nè modificarne uno già esistente.

Web10

Web11

Queste sono solo alcune delle novità introdotte in questa nuova versione, prossimamente altri articoli vi aiuteranno a capire e approfondire altre importanti funzionalità.

Vi aspettiamo in aula.

Stay tuned.