Sei sulla pagina 1di 11

Installazione e configurazione della Web Logic Platform

Parte 1 - Web Logic Server


R. Turco

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.

Requisiti per l’installazione

Requisiti Sistema/Software Valori minimi e raccomandati


Piattaforme La certificazione delle piattaforme è mostrata da BEA alla URL
http://e-docs.bea.com/wls/certifications/certifications/index.html

Sono supportate le maggiori piattaforme:


 Windows 2000/XP
 SUN Solaris 8 (2.8 o 5.8/ superiori)
 HP
Alla URL di sopra esistono sempre aggiornate raccomandazioni per la JVM,
patches, valori di configurazione del kernel UNIX, performance, etc
Memoria di sistema Raccomandato un minimo di 128 MB per UNIX e Windows. L‟esperienza
però dimostra che tale valore è valido se sul sistema non esistono molte
piattaforme o middleware (TUXEDO, Oracle 9i, etc). Inoltre più memoria di
sistema si dispone più la JVM risponde rapidamente, poiché java lavora solo
sul heap. Il valore consigliato in questi casi è, invece, da 512 Mbyte in poi per
un ambiente di sviluppo standalone
Processore Per Windows occorre avere almeno un Pentium con un clock maggiore dei
400 Mhz per avere delle decenti performance.
La strategia migliore è di avere comunque Web Logic Server sul processore
più veloce.
Spazio disco Sotto Windows occorrono per il funzionamento di Web Logic almeno 250
Mbyte per il prodotto e 150 Mbyte ulteriormente disponibili. Tuttavia dipende
anche da quanto si intende poi sviluppare.

Sotto UNIX occorre almeno un analogo valore.

Lo spazio ulteriore serve in fase di spacchettamento automatico del prodotto.


Java 2 Platform Si dovrebbe disporre dell‟ultima versione di JDK stabile disponibile.
Generalmente viene installata la JVM della SUN (Hotspot).

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.

Se installate su Windows o Red Hat Linux usate la JRockit!!

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.

Step 1 - BEA NET INSTALLER/ BEA INSTALLER


Occorre disporre di Net Installer. Lo si può scaricare da:
http://commerce.bea.com/downloads/weblogic_platform.jsp

Oppure del BEA Installer su CD.

Step 2 - BEA HOME DIRECTORY


Si esegue il programma selezionato e si sceglie la BEA Home Directory. Il valore di default BEA
dovrebbe andar bene, a meno che non esista già o esiste uno standard aziendale da seguire. In tal
caso cambiatelo. Su Windows ad esempio è C:\BEA

Step 3 - INSTALLATION TYPE


Si potrebbe eseguire quella Typical o Complete, ma il nostro obiettivo è imparare e comprendere e
non c‟è niente di meglio che fare una installazione Custom.

Step 4 - CHOOSE COMPONENTS


Occorre scegliere le componenti da installare. Selezionando una macro area, nell‟albero a sinistra, si
ottiene una breve descrizione a destra.

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.

Step 5 - DOWNLOAD OPTION


Occorre indicare una directory d‟appoggio (Storage Directory) dove viene messo il prodotto per
spacchettarlo. Inoltre va indicato se rimuovere il pacchetto dopo l‟installazione o meno. Per
esperienza so che è meglio lasciare il pacchetto di installazione perché potrebbe essere necessario
installare poi dopo altre componenti o ri-installare eventualmente.

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.

Step 7 - Web Logic Server Product Directory


Va indicate la directory, sotto la BEA Home directory, dove fisicamente viene installato Web Logic
Su Windows ad esempio è C:\BEA\WebLogic81

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)

Step 9 - Choose Server Type

Tale scelta è importante e va fatta consapevolmente tra le seguenti opzioni:


 Single Server (Standalone Server): crea un Web Logic Server che lavora anche da Admin
Server ed ospita le applicazioni (consigliata per lo sviluppo).

 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

Inizialmente scegliamo Single Server.

Step 10 - Domain Container Directory


Occorre specificare la top directory sotto cui mettere il domain container (contenitore dei domini).
Il default è user_projects (ad esempio gisp_project) sotto la BEA_HOME (C:\bea\user_projects).

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.

Step 11 - Username e Password


Vanno inserite le username e password di amministrazione.

Step 12 - Windows Service e Start Menu Entry


Sotto Windows si può settare Web Logic Server in modo che al bootstrap WebLogic Server parte
come servizio della macchina. Basta rispondere „Yes‟ al Wizard.

Inoltre sotto Windows è possibile anche avere un Start Menu Entry, che generalmente gli
amministratori preferiscono evitare per avere un maggior controllo del prodotto.

Step 13 - Configuration Summary


Il Configuration Summary ti ripropone l‟insieme delle scelte fatte precedentemente per chiedere se
procedure oppure no.

Procediamo.

Step 14 - Configuration Wizard Complete


A questo punto la configurazione è terminate e si deve decidere se uscire o meno. Se avessimo
configurati solo gli esempi e PetStore, qua potremmo decidere di rilanciare il Configuration Wizard
per fare tutti gli step precedenti a partire dallo step 9.

Verifiche per lo sviluppo ed il funzionamento di Web Logic Server

Occorre verificare le variabili d‟ambiente, sia CLASSPATH che PATH.

CLASSPATH è una lista di directory e locazioni di java class usate dalle JVM.

Come minimo CLASSPATH deve contenere la WL_HOME/server/lib/weblogic.jar e


%JAVA_HOME%/jre/lib/rt.jar.

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.

Inoltre in PATH vi conviene puntare anche a %BEA_HOME%/jrockit81sp1_141_03/console per


poter sfruttare la console per il controllo della JVM JRockit.

4
Alberatura del prodotto Web Logic

BEA HOME DIRECTORY

Directory o File Description


Jdkxxx È la directory contenente il jdk, che fornisce la JVM ed I tools per compilare e
debuggare
logs Una directory che contiene history file delle installazioni e de-installazioni
user_projects Il domain container
utils Contiene utilitò tra cui utils.jar che supporta l‟UpdateLicense utility
weblogic81 La directory che contiene la Web Logic Platform
license.bea File delle licenze in formato XML
registry.xml E‟ un file in formato XML che contiene un record. E‟ raccomandato di non editarlo!!
UpdateLicense Un file batch (Windows) o uno shell script (Unix) che aggiorna il file license.bea

DOMAIN CONTAINER DIRECTORY

Precedentemente abbiamo usato user_projects come “domain container directory”.

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.

Nella directory sono contenuti anche:


 I SetEnv script. Questo script generalmente lancia poi un altro .cmd per settare l‟ambiente
necessario
 Script startxxx.cmd per startare Web Logic nel dominio
 Il file config.xml per il dominio (anche questo è sconsigliato editare!!)
 Il file fileRealm.properties che memorizza username e access control list per il dominio
 Il file SerializedSystemIni.dat che è un salt(hash), che è usato per criptare la password
dell‟user del dominio. Il salt è una stringa che randomicamente viene concatenata alla
password.

WEB LOGIC HOME DIRECTORY

Directory o File Description


common Una directory che condivide file e risorse con tutta la Web Logic Platform, anche i .jar usati
per il Configuration Wizard
samples Una directory che contiene esempi. Dovrebbe contenere examples e Petstore.
server Contiene software di Web Logic, compreso driver terze parti JDBC
uninstall Contiene software per disinstallare componenti di Web Logic Platform
workshop Contiene Web Logic Workshop e documentazione

5
Start di Web Logic Server

Esistono almeno tre metodi:

 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

Il file è nel dominio creato. Generalmente tale file si copia in start<domain>.cmd.

LE VARIABILI

WLS_USER : quello di amministrazione


WLS_PW : quello di amministrazione
JAVA_OPTIONS : le opzioni passate alla JVM
JAVA_VM : la modalità con cui è lanciata la JVM (server, classic, hotspot)
MEM_ARGS: regola l‟heap memory. Regola i valori minimo e massimo che è consigliato di
tenere uguali (esempio: -Xms200 e –Xmx200) ed espressi in magabyte.
DOMAIN_NAME: il nome del dominio dove Web Logic Server risiede
SERVER_NAME: il nome del server da startare
JAVA_HOME : la directory della JVM
CLASSPATH: la directory contente I .class e.jar necessary al funzionamento del server

Nello script si nota che viene usato il comando


java Argument [Optional Argument] webLogc.Server

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.

Il logout può avvenire su tale pagina nella parte alta a destra.

Boot Identify File

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.

Considerazione: si può farne a meno perché dopo la prima installazione/configurazione il file


criptato viene automaticamente creato.

Shutdown con l’Administration Console

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.

Shutdown con weblogic.Admin utility

In mancanza di browser tale metodo è l‟unico valido ed è costituito dal comando:

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:

java weblogic.Admin -url http://myhost:7001 -username webgs9856 -password mahf1ncheduralungo SHUTDOWN 60


“shutdowm tra 60 secondi”

ALTRI VALORI DI COMAND

SHUTDOWN come nel precedente


START richiede Node Manager
STARTINSTANDBY richiede Node Manager
RESUME
FORCESHUTDOWN
GETSTATE
PING
SERVERLOG
HELP
LICENSES
VERSION

In STANDBY un WebLogic Server ha scartato tutti i servizi ma accetta solo comandi da consolle. Solitamente
WebLogic è in RUNNING mode.

LA sintassi dei comandi è di seguito mostrata:

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

JROCKIT ADMINISTATION CONSOLE

In startWebLogic.cmd occorre settare JAVA_OPTIONS nel seguente modo :

set JAVA_OPTIONS = -Djrockit.managementserver=true

Allo start del server si deve vedere una riga del tipo:

[JRockit] Management Server starter on port 7090

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.

Nel seguito per directory root si intende quella sotto applications .

CREARE LA WEB APPLICATION DIRECTORY

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

Preferibilmente il nome della document-root (<root>) è uguale a quella dell‟applicazione (Es:


HelloWorldApp ).

Se stiamo sviluppando dobbiamo crearci l‟alberatura per la prima volta manualmente.

Se state sviluppando i sorgenti java depositateli nella root HelloWorldApp.

Se stiamo effettuando un deploy basta mettere il WAR sotto la directory applications e avviare Web
Logic.

Tale alberatura permette di poter fare l‟autodeploying di un‟applicazione war. Naturalmente il


CLASSPATH deve prevedere la <root>/WEB-INF/lib.

CREARE UNA PAGINA HTML DI WELCOME

Creiamo un index.html nella root (HelloWorldApp directory):

<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>

CREARE UNA SERVLET

Creiamo la servlet MyServlet.java in HelloWorldApp directory.

package objectmind.servlets;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class MyServlet extends HttpServlet {


public void service(HttpServletRequest req,
HttpServletResponse res) throws IOException
{
res.setContentType(“text/html”);
PrinterWriter out = res.getWriter();
out.println(“<html><head><title>” +
“Hello World!</title></head>”);
out.println(“<body><h1>Hello World!!</h1></body></html>”);
}
}

Da linea di commando compiliamo:

javac –d WEB-INF/classes MyServlet.java

In tal modo sotto classes vi viene creato il package richiesto objectmind.servlet che contiene
MyServlet.class

STARTARE WEB LOGIC BUILDER

Per assemblare e deplorare l‟applicazione effettuiamo lo start di Web Logic Builder.


Per fare ciò è possibile lanciarlo da Windows con:
Start -> Tutti i programmi -> BEA WebLogic Platform 8.1 -> Other Development Tools -> WebLogic Builder

Altrimenti sotto %WL_HOME%/server/bin occorre effettuare da linea di comando:

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.

Rimuovere index.jsp e index.htm e selezionare il file index.html che fa parte dell‟applicazione


appena creata.

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.

CREARE IL WAR PER IL DEPLOYING

Un primo metodo è creare il war a mano come al solito. L‟altro è con la consolle.

Colleghiamoci dalla Administration Console e scegliere “Helpfuls Tools” Your deployed


resources.

Scegliere “Web Application Modules”, poi “Deploy a new Web Application Module”, poi cliccare
su applications e segnare (check) HelloWorldApp.

Ora cliccare “Target Module”. Infine cercare il bottone “Deploy” e cliccarlo.

TESTARE L’APPLICAZIONE

Per testare da browser è sufficiente digitare:

http://<machine_name>:7001/HelloWorldApp/index.html
http://localhost:7001/HelloWorldApp/index.html

In alternativa da Administration Console, nella parte sinistra, cliccare su Deployment Web


Applications Modules  HelloWordApp

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.

Provate a verificare che modificando la servlet, funziona l‟auto-deploy.

Create una JSP e verificate dove Web Logic Server compila la JSP e la trasforma in una servlet.

Provate a creare il WAR e farne il deploy da Administration Console.

Ringraziamenti
Ringraziamo coloro che intenderanno fornire ulteriori indicazioni e suggerimenti.

11

Potrebbero piacerti anche