In questa prima parte esaminiamo i passi base che conducono ad una rapida comprensione della
Web Logic Platform 8.1 per l‟amministrazione, configurazione ed uso. Sebbene qui si parla della
versione 8.1, il 99% delle operazioni qui mostrate rimangono valide anche per versioni successive.
La parte I si interesserà in dettaglio essenzialmente di Web Logic Server e dei tools di deployment.
Sotto Windows o Red Hat Linux, per un miglioramento delle performance per
applicazioni “mission-critical” va fortemente considerata la possibilità di usare
la JVM Jrockit fonita nel kit o scaricabile dalla BEA.
Web browser Per l‟amministrazione da consolle di Web Logic Server vanno bene browser
come Internet Explorer 5.x o superiori e Netscape 4.7.x o Mozilla 1.4 in su
1
Installazione di Web Logic Server
L‟installazione permette di installare WLS (Web Logic Server), WLI (Web Logic Integration),
WLP (Web Logic Portal), Web Logic Workshop.
D‟altra parte prima di installare provate a giocherellare a cliccare per vedere quali sono le
dipendenze delle macro aree. Si può installare Web Logic Workshop senza Web Logic Server, ad
esempio? o solo Web Logic Server senza Workshop? Si può installare Web Logic Integration da
solo? Si può installare Web Logic Platform da solo?
Ora per esercizio installiamo invece solo Web Logic Server ed anche Workshop.
Se in produzione si è dietro un firewall vanno indicati Host e Port dell‟http Proxy server. Ciò in un
ambiente di sviluppo non serve.
Step 6 - Autoinstallation
A questo punto inizia l‟installazione. Si consiglia di segnare la casellina dell‟autoinstallazione.
Altrimenti si deve conoscere ogni tool sin dall‟inizio e lanciarlo manualmente. Non è il caso
all‟inizio.
2
Step 8 - Domain Configuration Wizard
Web Logic Server esiste all‟interno di un contesto di dominio. Un dominio è un insieme correlato di
risorse per Web Logic.
Questo step tende, quindi, a definire il tipo ed il nome del dominio. Vengono suggeriti diversi
template tipologie di dominio:
WLS Examples. Questo template crea un nuovo dominio nel quale Web Logic Server è
preconfigurato per lanciare le applicazioni di esempio. Non si usa.
WLS Petstore. Questo template crea un nuovo dominio nel quale Web Logic Server è
preconfigurato per lanciare l‟applicazione Petstore. Non si usa.
WLS Domain. Questo template crea un nuovo dominio a cui si dovrà associare una nuova
applicazione. E‟ questo template che si usa quando si sviluppano nuove applicazioni.
Web Logic Workshop. Questo template crea un nuovo dominio a cui si dovrà associare una
nuova applicazione che utilizza web services ad esempio.
In generale nella installazione già si era prescelto di installare la voce “Server Examples” quindi si
disporranno anche degli esempi e di Pet store.
Infine occorre dare un nome al dominio che sia univoco (es: mydomain)
Admin Server with Managed Server(s): crea un Admin Server con uno o più Managed
Server
Admin Server with Clustered Managed Server(s): crea un Admin Server con uno o più
clustred Managed Server
Managed Server (with owning Admin Server configuration): usato a volte per estendere un
un Web Logic domain con un Managed Server
Step 11 - Configure
Una volta scelto Single Server occrre dare le seguenti informazioni:
Server Name: un nome univoco e non può essere uguale al nome del dominio altrimenti si
possono ottenere strani errori.
3
Server Listen Address: l‟IP address o il nome DNS della macchina (anche localhost). Se la
macchina ha un solo IP non va settato tale valore perché viene automaticamente scelto il
primary IP. Va fatto solo se la macchina ha più di un IP.
Server Listen Port : le richieste http vengono ricevute sulla porta di default 7001,
eventualmente da cambiare se già usata altrove.
Server SSL Listen Port : le richieste https vengono ricevute sulla porta di default 7002,
eventualmente da cambiare se già usata altrove. Se non dovesse servire l‟https in sviluppo è
consigliabile allora di evitate di abilitare l‟ascolto anche sulla porta 7002, ottenendo migliori
prestazioni.
Inoltre sotto Windows è possibile anche avere un Start Menu Entry, che generalmente gli
amministratori preferiscono evitare per avere un maggior controllo del prodotto.
Procediamo.
CLASSPATH è una lista di directory e locazioni di java class usate dalle JVM.
Inoltre se avete usato la JVM Jrockit è necessario modificare il puntamento di PATH ad essa. Vi
consiglio di farla dopo l‟installazione di Web Logic, perché il giusto puntamento vi verrà suggerito
dallo stesso script startWebLogic.cmd.
4
Alberatura del prodotto Web Logic
Directory Description
applications Directory che contiene l‟applicazione sottoposta a deploying (.ear, .war, .jar, .htm) Solo se è settato
l‟autodeploy Web Logic Server esegue un controllo per verificare se esistono nuove applicazioni
da sottoporre a deploying
userConfig Una directory in cui memorizzare informazioni per la sicurezza del dominio
logs Contiene i log file del dominio
myserver Una directory create per ogni Web Logic Server.
5
Start di Web Logic Server
Sotto Windows: Start -> Tutti i programmi -> BEA WebLogic Platform 8.1 -> User Projects
--> myDomain --> Start myserver (Solo se avete creato il Windows Start Menu durante la
configurazione: per chi sviluppa forse conviene)
Sotto Windows/UNIX: Andare nella root del dominio ed eseguire a mano
startWebLogic.cmd e viene richiesta la password di amministrazione
Sotto Windows/UNIX: lanciare webLogic.Server.class da linea di comando
Il metodo da dover per forza sapere è il lancio di startWebLogic.cmd che è valido per tutte le
seguenti situazioni:
Va bene per ogni sistema operativo
La conoscenza di come funzione tale script dà all‟amministratore un controllo maggiore del
prodotto
Lo script è copiabile e modificabile per ogni dominio
STARTWEBLOGIC.CMD
LE VARIABILI
In genere gli Argument sono: $JAVA_VM $MEM_ARGS $JAVA_OPTIONS. Solo dopo gli
Argument si possono trovare istruzioni del tipo –Dparametro=valore che possono essere
“WebLogic specific” (-Dweblogic.<attributo>=<valore>) oppure “Java specific” (-
Djava.<attributo>=<valore>).
-Xms e –Xmx
Fissano la dimensione minima e massima dell‟heap di memoria. Un valore basso a 100 è possibile
ma la JVM sarà lenta. Un valore migliore è 200, consigliabile anche 512 o più a seconda della
memoria disponibile sul sistema. Se volete lavorare con Java seriamente, dovreste avere almeno
512 Mbyte, meglio 1 Gbyte.
6
-Dweblogic.management.discover
Se si lavora con una situazione Single Server (Admin Server e Web Server sono la stessa cosa),
allora porre a false tale JAVA_OPTIONS, permette ad un Admin Server di evitare di scoprire se
esistono dei Managed Server. In questo caso si evita un overhead inutile. Tale opzione va aggiunta
manualmente.
-Dweblogic.ProductionModeEnabled
Se si ipotizza di lavorare in un ambiente di sviluppo vale false e viene anche configurato
l‟autodeploy.
Administration Console
Da browser fare
http://hostname:port/console
esempio: http://localhost:7001/console.
Inserire username e password dell‟amministratore e apparirà una finestra divisa in due parti verticali
per l‟amministrazione del dominio mydomain.
Per una questione di sicurezza per evitare di dare al boot username e password la prima volta dopo
la configurazione e prima di startare Web Logic Server compilate un file di testo boot.properties
con due righe:
username=username
password=password
Al primo boot il file viene soprascritto con una versione criptata e non verrà più richiesta username
e password.
All‟ingresso nella consolle, nella parte ad albero a sinistra scegliere la voce “Servers” e scegliere il
nome del server su cui bisogna eseguire lo shutdown. Il Click destro del mouse sul nome del server
fa aprire un menù da cui scegliere la voce “Start/Stop this server …”. E‟ consigliabile l‟uso di tale
metodo.
java weblogic.Admin [-url URL] [-username username] [-password password] COMAND arguments
7
dove COMAND deve valere SHUTDOWN (occorre per sicurezza passare anche –url –username –
password).
SHUTDOWN richiede come arguments: [seconds] [“message”]
Esempio:
In STANDBY un WebLogic Server ha scartato tutti i servizi ma accetta solo comandi da consolle. Solitamente
WebLogic è in RUNNING mode.
java weblogic.Admin [-url URL] [-username username] [-password password] FORCESHUTDOWN [targetserver]
java weblogic.Admin [-url URL] [-username username] [-password password] GETSTATE [targetserver]
java weblogic.Admin [-url URL] [-username username] [-password password] PING [round-trip] [message-length]
java weblogic.Admin [-url URL] [-username username] [-password password] SERVERLOG [[starttime] [endtime]]
java weblogic.Admin HELP [COMMAND]
java weblogic.Admin [-url URL] [-username username] [-password password] LICENSES
java weblogic.Admin [-url URL] [-username username] [-password password] VERSION
Allo start del server si deve vedere una riga del tipo:
Sebbene ciò funziona correttamente è da tener presente anche che il comando è diventato
deprecated. Su questo punto non si comprende perché dato che al momento è l‟unico modo per
essere sicuri che si sta usando la JVM JRockit.
Per vedere l‟andamento della JVM JRockit è possibile lanciare la sua consolle col comando:
java –jar ManagementConsole.jar
8
Con esso si ottiene una piccola finestra dove occorre dare il server name, la porta (default 7090), il
connection name (localhost). In questo modo si può monitorare la Memoria, il processore, il sistema
etc. per ogni porta in gioco.
Deployment Tools
Una tipica applicazione web ha .html, .class, .jar, .war in gioco. La Administration Console fornisce
le stesse utilità, a meno di qualche piccola differenza, per il deployment (webLogic.Deployer) E‟
necessario però che il file system dove sono EAR, WAR, JAR, RAR sia accessibile da WebLogic.
Una Web Application si basa come sempre su un‟alberatura standard per tutti i Java Web Server
(vedi Tomcat ad esempio):
Directory Descrizione
<root>/ La document root dove risiedono .html e le jsp che vengono accedute da browser
<root>/WEB-INF Qui risiedono web.xml e weblogic.xml deployment descriptors. E‟ necessario che WEB-
INF sia scritto in tale modo (uppercase). Weblogic.xml correla tutte le risorse necessarie
all‟applicazione per il suo funzionamento (es: http session parameters, https cookie
parameters, JSP parameters, resource reference, security role, container attributes, etc).
<root>/WEB-INF/classes Qui risiedono i file .class
<root>/WEB-INF/lib Directory dove saranno posti i .jar
Se stiamo effettuando un deploy basta mettere il WAR sotto la directory applications e avviare Web
Logic.
<html>
<head>
<title>Welcome to my HelloWorldApp</title>
</head>
<body>
<p>Welcome to my HelloWorldApp
<p><a href=”./MyServlet”>Click here</a>to call my servlet.
</body>
9
</html>
package objectmind.servlets;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
In tal modo sotto classes vi viene creato il package richiesto objectmind.servlet che contiene
MyServlet.class
startWLBuilder.cmd
Dall‟editor effettuare File Open e cercare la directory HelloWorldApp e fare Open. Al dialog box
d‟errore, richiedere di creare per voi i deployment descriptor.
10
Selezionare nella parte sinistra Servlets e verificare che MyServlet sia presente. Poi nella parte
destra assicurarsi che nel campo URL Mapps sia presente /MyServlet/* saltrimente usare il tasto
dolete e poi inserire /MyServlet/* e fare Add.
Un primo metodo è creare il war a mano come al solito. L‟altro è con la consolle.
Scegliere “Web Application Modules”, poi “Deploy a new Web Application Module”, poi cliccare
su applications e segnare (check) HelloWorldApp.
TESTARE L’APPLICAZIONE
http://<machine_name>:7001/HelloWorldApp/index.html
http://localhost:7001/HelloWorldApp/index.html
Spostarsi ora nella parte destra selezionando la voce “Testing” e cliccare su index.html.
Esercitazioni
Finisce qui la parte I. Si consiglia di esercitarsi su tale parte osservando sempre di più la
Administration Console.
Create una JSP e verificate dove Web Logic Server compila la JSP e la trasforma in una servlet.
Ringraziamenti
Ringraziamo coloro che intenderanno fornire ulteriori indicazioni e suggerimenti.
11