Ricerca nel sito web

WildFly 8 - Un nuovo server applicativo JBoss migliorato per Linux


Come tutti sappiamo, JBoss AS è stato rinominato WildFly. Sono state aggiunte molte nuove funzionalità e molte sono state aggiornate. Finalmente WildFly 8.0.0 Final è stato rilasciato l'11 febbraio 2014. Il responsabile Jason Greene del progetto WildFly ha annunciato la stessa cosa.

WildFly 8 è il server di applicazioni open source conforme a Java EE 7 di Red Hat. Le caratteristiche principali sono le seguenti:

Compatibilità con JavaEE7

Il cambiamento più grande in questo è che ora WildFly 8 è certificato Java EE7 ufficiale.

Server Web ad alte prestazioni

Undertow è un nuovo server web ad alte prestazioni scritto in Java. Ora questo è stato implementato in WildFly 8. È davvero progettato per un throughput e una scalabilità elevati e può gestire milioni di connessioni. Il ciclo di vita di Undertow è completamente controllato dall'applicazione di incorporamento. Questo è estremamente leggero con un core jar della dimensione di 1 MB e un server incorporato che utilizza meno di 4 MB di spazio heap. Questo è davvero fantastico.

Riduzione 3 porte

Poiché utilizza Undertow che supporta l'aggiornamento HTTP, consentirà il multiplexing di più protocolli su una singola porta HTTP. WildFly 8 ha spostato quasi tutti i suoi protocolli per essere multiplexati su due porte HTTP: una è di gestione e un'altra è la porta dell'applicazione. Questo è davvero un grande cambiamento e un vantaggio per i fornitori di servizi cloud (come OpenShift) che eseguono centinaia o migliaia di istanze su un singolo server. In totale, ha due porte predefinite per la configurazione e sono 9990 (Console di amministrazione Web) e 8080 (Console dell'applicazione).

Controllo e audit degli accessi basati sui ruoli di gestione

Questa è la cosa nuova e interessante implementata in WildFly 8. Utilizzando questo possiamo creare diversi utenti e assegnarli a ruoli diversi secondo i requisiti. Te lo mostrerò più tardi con le schermate.

Registrazione

L'API di gestione ora supporta la possibilità di elencare e visualizzare i file di registro disponibili su un server. Ora abbiamo l'attributo chiamato "add-logging-api-dependencies" disponibile per qualsiasi tipo di distribuzione in cui vogliamo saltare la registrazione del contenitore. Ciò disabiliterà l'aggiunta delle dipendenze di registrazione implicite del server. Abbiamo un'altra opzione, ovvero possiamo utilizzare jboss-deployment-structure.xml per escludere il sottosistema di registrazione. Utilizzando questo, sarà utile impedire al sottosistema di registrazione di eseguire qualsiasi distribuzione.

Possiamo anche utilizzare un altro parametro, ad esempio use-deployment-logging-config per abilitare/disabilitare l'elaborazione dei file di configurazione della registrazione all'interno di una distribuzione.

Nota: la proprietà di sistema che usavamo per disabilitare la registrazione è stata deprecata da questa versione.

Raggruppamento

Ancora una volta il grande cambiamento è un cluster. Tutte le funzionalità relative al supporto del clustering sono state modificate in WildFly 8 e includono quanto segue:

  1. La sessione web distribuita è stata ottimizzata per questo con il nuovo server web basato su Java, ad esempio Undertow.
  2. supporto mod_cluster per Undertow.
  3. Funzionalità SSO (Single Sign-On) distribuite ottimizzate e supporto per Undertow.
  4. Implementazione della cache EJB distribuita nuova/ottimizzata @Stateful.
  5. WildFly 8 ha aggiunto alcune nuove API di clustering pubbliche.
  6. Per la creazione di servizi singleton fornisce nuove API pubbliche.
Miglioramenti della CLI

Anche la configurazione della CLI è stata migliorata. Sai che tutti gli amministratori adorano lavorare sulla CLI ;). Quindi, ora possiamo creare un alias per un server particolare e quindi utilizzare quell'alias ogni volta che vogliamo connetterci a quel server utilizzando il comando connect.

Ci sono ancora molti miglioramenti e aggiornamenti apportati in WildFly 8. Puoi controllarli tutti su:

  1. http://wildfly.org/news/2014/02/11/WildFly8-Final-Released/

Installazione di WildFly 8 su Linux

Prima di procedere con l'installazione assicurati di avere Java EE 7 installato sul tuo sistema. WildFly 8 non funzionerà con le revisioni precedenti. Seguire la guida seguente per installare Java EE 7 nei sistemi Linux.

  1. Installa JDK/JRE 7u25 su Linux

Passaggio 1: download di WildFly 8

Utilizzare il seguente collegamento per scaricare l'ultimo file zip WildFly.

  1. http://download.jboss.org/wildfly/8.0.0.Final/wildfly-8.0.0.Final.zip

Puoi anche utilizzare il comando "wget" per scaricare direttamente sulla riga di comando.

[root@tecmint]# wget http://download.jboss.org/wildfly/8.0.0.Final/wildfly-8.0.0.Final.zip

Copia il file zip in qualsiasi posizione preferita (ad esempio "/data/" nel mio caso) ed estrai utilizzando il comando "unzip".

[root@tecmint]# cp wildfly-8.0.0.Final.zip /data/
[root@tecmint]# cd /data/
[root@tecmint data]# unzip wildfly-8.0.0.Final.zip

Passaggio 2: impostazione delle variabili di ambiente

Ora imposta alcune variabili di ambiente. Puoi impostarli a livello di sistema o all'interno dei file di configurazione. Qui sto impostando i file di configurazione standalone.sh e standalone.conf nella cartella "bin".

[root@tecmint data]# cd wildfly-8.0.0.Final
[root@tecmint data]# cd bin/

Aggiungi queste due righe seguenti ai file standlone.sh/standlone.conf. Specifica il percorso di installazione di WildFly e il percorso Java Home.

JBOSS_HOME=”/data/wildfly-8.0.0.Final”
JAVA_HOME=”/data/java/jre7/bin/java”

Nota: per l'intero sistema, puoi impostarlo nel file "/etc/profile".

Passaggio 3: avvio di WildFly 8

Ora avvia il server, ad esempio per la modalità standalone utilizza "standalone.sh" e per la modalità dominio utilizza "domain.sh".

[root@tecmint bin]# ./standalone.sh
[root@tecmint bin]# ./domain.sh

Ma qui sto iniziando in modalità standalone. Per impostazione predefinita verrà avviato dal file "standalone.xml", ma puoi anche iniziare con qualche altra configurazione utilizzando l'opzione "–server-config".

Come di seguito, sto avviando il server con "standalone-full-ha.xml" e questo file è presente in "$JBOSS_HOME/standalone(profile)/configuration/".

[root@tecmint bin]# ./standalone.sh --server-config standalone-full-ha.xml
Uscita del campione
Calling "/data/wildfly-8.0.0.Final/standalone/configuration/standalone.conf"
Setting JAVA property to "/data/java/jre7/bin/java"
===============================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: "/data/wildfly-8.0.0.Final"

  JAVA: "/data/java/jre7/bin/java"

  JAVA_OPTS: "-client -Dprogram.name=standalone.sh -Xms64M -Xmx512M -XX:MaxPerm
Size=256M -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman"

===============================================================================

13:55:26,403 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final
13:55:33,812 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.0.Final
13:55:35,481 INFO  [org.jboss.as] (MSC service thread 1-1) JBAS015899: WildFly 8.0.0.Final "WildFly" starting
13:55:58,646 INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http)
...........
13:56:22,778 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
13:56:22,794 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
13:56:22,794 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.0.0.Final "WildFly" started in 64534ms - Started 229 of 356 services (172 services are lazy, passive or on-demand)

Passaggio 4: accesso a WildFly 8

Ora puoi indirizzare il tuo browser a "http://localhost:8080" (se utilizzi la porta http configurata predefinita) che ti porterà alla schermata di benvenuto.

Da qui è possibile accedere alle guide alla documentazione della community WildFly e all'accesso avanzato alla console di amministrazione basata sul Web.

Passaggio 5: gestione di WildFly 8

WildFly 8 fornisce due console amministrative per la gestione dell'istanza in esecuzione:

    1. Console di amministrazione basata sul Web
    2. interfaccia della riga di comando

Prima di connetterti alla console di amministrazione o in remoto utilizzando la riga di comando, dovrai creare un nuovo utente utilizzando lo script "add-user.sh" nella cartella bin.

Successivamente, vai alla directory 'bin', imposta 'JBOSS_HOME' in add-user.sh (se la variabile non è impostata sulle basi di sistema) e crea l'utente come di seguito.

[root@tecmint bin]# ./add-user.sh

Una volta avviato lo script verrai guidato attraverso il processo per aggiungere un nuovo utente:

Uscita del campione
What type of user do you wish to add?
 a) Management User (mgmt-users.properties)
 b) Application User (application-users.properties)
(a):
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : admin
The username 'admin' is easy to guess
Are you sure you want to add user 'admin' yes/no? yes
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
 - The password should not be one of the following restricted values {root, admin, administrator}
 - The password should contain at least 8 characters, 1 alphanumeric character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
 - The password should be different from the username
Password :
Re-enter Password :
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]:
About to add user 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'admin' to file '/data/wildfly-8.0.0.Final/standalone/configuration/mgmt-users.properties'
Added user 'admin' to file /data/wildfly-8.0.0.Final/domain/configuration/mgmt-users.properties'
Added user 'admin' with groups  to file /data/wildfly-8.0.0.Final/standalone/configuration/mgmt-groups.properties'
Added user 'admin' with groups  to file /data/wildfly-8.0.0.Final/domain/configuration/mgmt-groups.properties'
Is this new user going to be used for one AS process to connect to another AS process?
e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
yes/no? yes
To represent the user add the following to the server-identities definition 
Press any key to continue . . .

Ora accedi alla console di amministrazione basata sul web all'indirizzo "http://localhost:9990/console" e inserisci il nuovo nome utente e la password creati per accedere direttamente alla console di gestione.

Prima schermata dopo il login.

Se preferisci gestire il tuo server dalla CLI, esegui lo script "jboss-cli.sh" dalla directory "bin" che offre le stesse funzionalità disponibili tramite l'interfaccia utente basata sul Web.

[root@tecmint bin]# cd bin
[root@tecmint bin]# ./jboss-cli.sh --connect
Connected to standalone controller at localhost:9999

Per ulteriori informazioni, segui la documentazione ufficiale di WildFly 8 su https://docs.jboss.org/author/display/WFLY8/Documentation.

Leggi anche: WildFly (JBoss AS) – Come accedere e gestire la CLI utilizzando la GUI