WildFly 8 - Novi poboljšani JBoss Application Server za Linux


Kao što svi znamo da je JBoss AS preimenovan u WildFly. Puno je novih značajki dodano i puno je nadograđeno. Konačno WildFly 8.0.0 Final je objavljen 11. veljače 2014. WildFly Project Voditelj Jason Greene najavio je isto.

WildFly 8 je Red Hat Java EE 7 kompatibilan poslužitelj aplikacija otvorenog koda. Glavne značajke su sljedeće:

Java EE 7 kompatibilnost

Najveća promjena u tome je da je sada WildFly 8 službeno certificiran za Java EE7.

Web poslužitelj visokih performansi

Undertow je novi web poslužitelj visokih performansi napisan u Javi. Ovo je sada implementirano u WildFly 8. Ovo je stvarno dizajnirano za visoku propusnost i skalabilnost i može podnijeti milijune veza. Životni ciklus Undertowa potpuno je kontroliran aplikacijom za ugradnju. Ovo je izuzetno lagano s core jar-om veličine 1 MB i ugrađenim poslužiteljem koji koristi manje od 4 MB prostora hrpe. Ovo je stvarno super.

Smanjenje 3 priključka

Budući da koristi Undertow koji podržava nadogradnju HTTP-a, što će omogućiti multipleksiranje više protokola preko jednog HTTP porta. WildFly 8 premjestio je gotovo sve svoje protokole na multipleksiranje preko dva HTTP porta: jedan je upravljački, a drugi aplikacijski port. Ovo je zaista velika promjena i korist za pružatelje usluga oblaka (kao što je OpenShift) koji pokreću stotine do tisuće instanci na jednom poslužitelju. Ukupno ima dva zadana priključka za konfiguraciju, a to su 9990 (web administracijska konzola) i 8080 (aplikacijska konzola).

Kontrola pristupa i revizija temeljena na ulozi upravljanja

Ovo je nova i zanimljiva stvar implementirana u WildFly 8. Koristeći ovo možemo stvoriti različite korisnike i možemo im dodijeliti različite uloge prema zahtjevima. Pokazat ću vam kasnije sa snimkama zaslona.

Sječa drva

API za upravljanje sada podržava mogućnost popisa i pregleda dostupnih datoteka dnevnika na poslužitelju. Sada imamo atribut pod nazivom "add-logging-api-dependencies" dostupan za bilo koju vrstu implementacije u kojoj želimo preskočiti zapisivanje spremnika. Ovo će onemogućiti dodavanje implicitnih ovisnosti zapisivanja poslužitelja. Imamo još jednu opciju, tj. možemo upotrijebiti jboss-deployment-structure.xml da isključimo podsustav za bilježenje. Koristeći ovo, pomoći će u zaustavljanju podsustava bilježenja da prođe kroz bilo kakvu implementaciju.

Također možemo upotrijebiti drugi parametar, tj. use-deployment-logging-config za omogućavanje/onemogućavanje obrade konfiguracijskih datoteka zapisivanja unutar postavljanja.

Napomena: Svojstvo sustava koje smo koristili za onemogućavanje po bilježenju je zastarjelo iz ove verzije.

Grupiranje

Opet velika promjena je jedno grupiranje. Sve značajke povezane s podrškom za klasteriranje promijenjene su u WildFly 8, a to uključuje sljedeće:

  1. Distribuirana web sesija optimizirana je za to s novim web poslužiteljem temeljenim na Javi, tj. Undertow.
  2. mod_cluster podrška za Undertow.
  3. Optimizirane mogućnosti distribuiranog SSO-a (jedinstvena prijava) i podrška za Undertow.
  4. Nova/optimizirana implementacija distribuiranog @Stateful EJB predmemoriranja.
  5. WildFly 8 dodao je novi API za javno klasteriranje.
  6. Za stvaranje pojedinačnih usluga pruža nove javne API-je.
CLI poboljšanja

CLI konfiguracija je također poboljšana. Znate da svi administratori vole raditi na CLI-ju ;). Dakle, sada možemo stvoriti pseudonim za određeni poslužitelj i onda možemo koristiti taj pseudonim kad god se želimo spojiti na taj poslužitelj pomoću naredbe za povezivanje.

Postoji još mnogo poboljšanja i ažuriranja napravljenih u WildFly 8. Sve to možete provjeriti na:

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

Instalacija WildFly 8 u Linuxu

Prije nego što nastavite s instalacijom, provjerite imate li Java EE 7 instaliranu na vašem sustavu. WildFly 8 neće raditi s prethodnim revizijama. Slijedite donji vodič za instalaciju Java EE 7 u sustavima Linux.

  1. Instalirajte JDK/JRE 7u25 u Linuxu

Korak 1: Preuzimanje WildFly 8

Koristite sljedeću poveznicu za preuzimanje najnovije WildFly zip datoteke.

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

Također možete koristiti naredbu ‘wget’ za izravno preuzimanje u naredbenom retku.

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

Kopirajte zip datoteku na bilo koju željenu lokaciju (npr. '/data/' u mom slučaju) i raspakirajte pomoću naredbe '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

Korak 2: Postavljanje varijabli okruženja

Sada postavite neke varijable okoline. Možete ih postaviti na sustavu ili unutar konfiguracijskih datoteka. Ovdje postavljam unutar konfiguracijskih datoteka standalone.sh i standalone.conf u mapi ‘bin’.

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

Dodajte ova dva sljedeća retka datotekama standlone.sh/standlone.conf. Molimo navedite svoju lokaciju instalacije WildFly i lokaciju Java Home.

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

Napomena: Za cijeli sustav, možete ga postaviti pod datotekom '/etc/profile'.

Korak 3: Pokretanje WildFly 8

Sada pokrenite poslužitelj, tj. za samostalni način rada koristite 'standalone.sh', a za način rada domene koristite 'domain.sh'.

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

Ali, evo počinjem u samostalnom načinu rada. Prema zadanim postavkama pokrenut će se datotekom 'standalone.xml', ali također možete započeti s nekom drugom konfiguracijom pomoću opcije '–server-config'.

Kao ispod, pokrećem poslužitelj s 'standalone-full-ha.xml' i ova datoteka je prisutna u "$JBOSS_HOME/standalone(profile)/configuration/ ".

[root@tecmint bin]# ./standalone.sh --server-config standalone-full-ha.xml
Uzorak izlaza
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)

Korak 4: Pristup WildFly 8

Sada možete usmjeriti svoj preglednik na 'http://localhost:8080' (ako koristite zadani konfigurirani http port) što vas dovodi do početnog zaslona.

Odavde možete pristupiti vodičima za dokumentaciju zajednice WildFly i poboljšanom pristupu administratorskoj konzoli temeljenoj na webu.

Korak 5: Upravljanje WildFly 8

WildFly 8 nudi dvije administrativne konzole za upravljanje pokrenutom instancom:

    1. Administrativna konzola temeljena na webu
    2. sučelje naredbenog retka

Prije spajanja na administratorsku konzolu ili daljinskog povezivanja pomoću naredbenog retka, morat ćete stvoriti novog korisnika pomoću skripte ‘add-user.sh’ u mapi bin.

Zatim idite u direktorij 'bin', postavite 'JBOSS_HOME' u add-user.sh (ako varijabla nije postavljena na bazi sustava) i kreirajte korisnika kao ispod.

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

Nakon pokretanja skripte bit ćete vođeni kroz postupak dodavanja novog korisnika:

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

Sada pristupite Administrativnoj konzoli baziranoj na webu na ‘http://localhost:9990/console’ i unesite novo stvoreno korisničko ime i lozinku za izravan pristup Upravljačkoj konzoli.

Prvi zaslon nakon prijave.

Ako radije upravljate svojim poslužiteljem iz CLI, pokrenite skriptu 'jboss-cli.sh' iz direktorija 'bin' koji nudi iste mogućnosti dostupne putem korisničkog sučelja temeljenog na webu.

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

Za više informacija, slijedite službenu dokumentaciju WildFly 8 na https://docs.jboss.org/author/display/WFLY8/Documentation.

Pročitajte također: WildFly (JBoss AS) – Kako pristupiti i upravljati CLI-jem pomoću GUI-ja