Oracle Application Server 10g (OAS) e' un infrastruttura completa che permette il deploy e la gestione di applicazioni Web realizzate con strumenti Oracle e di terze parti. Le tipologie di applicazioni supportate sono molteplici. Possono essere semplici pagine realizzate come JSP, applicazioni piu' complesse sviluppate con EJB, portali realizzati con Oracle Portal, applicazioni di data entry costituite con Developer (eg. Forms), ... Dal punto di vista funzionale OAS e' uno degli ambienti per applicazioni web piu' completi disponibili sul mercato e la sua integrazione presenta vantaggi per un utilizzo a livello di Enterprise. Questo documento cerca di presentarne gli elementi fondamentali accennando alle principali funzionalita' e riportando qualche elemento dell'architettura. |
I componenti di OAS sono molteplici... descriverli in dettaglio tutti non e' utile in un testo introduttivo come questo. Pertanto ci limiteremo a descrivere i principali cercando di fornire un'idea d'insieme delle funzionalita' presenti.
Prima di descrivere singolarmente i componenti e' necessario introdurre le due tipologie di Server che OAS utilizza:
I servizi su entrambe le tipologie di Server sono realizzati con componenti di base analoghi adattati con configurazioni specifiche. I principali componenti sono:
Vediamo ora quali sono alcune delle funzionalita' di OAS indicando i Tier ed i componenti coinvolti:
Tutto chiaro? Me lo auguro! In effetti le possibilita' sono molte...
La figura seguente riporta una semplice configurazione su due server.
Sono presenti due istanze OAS, una di Mid Tier e la seconda
di Infrastructure. Sono indicati anche alcuni componenti applicativi
come Portal, il Forms Server ed un OC4J contenente applicazioni Java.
Oltre alla base dati per i Metadati e' indicata un'istanza contente
dati applicativi.
C'e' dell'altro? Ovviamente si! Non abbiamo parlato della Certificate Authority, di Wireless, ... ma sarebbe troppo lungo (e poi non ne so quasi nulla ndr)!
Una prima prima visione dell'architettura e' gia' stata riportata nel capitolo precedente che ha elencato i componenti di OAS e come questi vengono utilizzati nelle diverse funzioni. Descrivere la struttura interna di un server Apache o di un Java Container e' troppo lungo per questo documento. Per tanto ci limiteremo a qualche accenno a come i diversi componenti vengono integrati in un'architettura comune.
Poiche' OAS e' costituito da un'insieme complesso di componenti
Oracle, per semplificarne la gestione ed il controllo, ha inserito
un elemento di coordinamento di tutti i processi.
L'opmn (Oracle Process Manager and Notification)
si occupa dell'attivazione, restart, controllo, ...
di tutti i componenti di OAS. Quindi tutti i processi risultano
essere "figli" ed ereditare le caratteristiche di "ambiente"
del processo opmn.
Ogni componente di OAS ha una propria configurazione con
directory e file dedicati.
Il dcm (Distributed Configuration Manager)
si occupa di salvare tali configurazioni
sul Metadata Repository e permetterne la gestione via web
con l'Enterprise Manager.
I log dei vari componenti possono essere filtrati e
analizzati in modo comune con un semplice strumento di gestione.
Ora che abbiamo capito (vero?) come dialogano componenti e
processi in una singola istanza OAS possiamo vedere come possono
coordinarsi tra loro...
I container OC4J possono essere clusterizzati. In questo modo
il loro contenuto applicativo viene sincronizzato.
Le web cache possono essere poste in cluster. In questo modo
i messaggi di invalidation possono essere gestiti in modo comune
e la cache risulta piu' "allargata".
L'ultimo elemento da analizzare e' quello relativo all'architettura
dei server e delle reti di collegamento.
Le possibili topologie sono molte. Si puo' avere un'installazione
su un singolo server comprendente gli elementi necessari di OAS
oppure un'installazione piu' complessa con Mid Tier multipli (eg.
con un load balancer per separare il carico), server di infrastruttura
implementati in cluster, RDBMS Oracle con RAC...
Una possibile topologia di riferimento e' rappresentata nella
seguente figura:
La comprensione dell'architettura di OAS e' importante anche per impostare correttamente la parte di networking. Nella seguente figura sono riportate le configurazioni piu' tipiche da impostare sui Firewall per isolare correttamente i servizi nella DMZ:
La console dell'Enterprise Manager di OAS permette di gestire ogni aspetto relativo all'amministrazione.
E' anche possibile agire su linea di comando... con opmnctl startall si fanno partire tutti i componenti dell'istanza OAS, con opmnctl stopproc ias-component=HTTP_Server si interrompe l'attivita' di Apache e con emctl start iasconsole si fa partire la console dell'Enterprise Manager!
La console dell'Enterprise Manager di OAS
permette anche di gestire la maggioranza degli
aspetti relativi alla configurazione.
Ma restano sempre dei vecchi nostalgici che vogliono modificare
l'httpd.conf con il vi come il sottoscritto!
A parte questi casi patetici vi sono alcune condizioni in cui
risulta comunque piu' comodo agire direttamente
sui file di configurazione dei vari componenti.
Se vengono modificati direttamente i file di configurazione e' necessario sincronizzare il contenuto del Metadata Repository con il comando dcmctl updateconfig
Detto questo ora sarebbe necessario descrivere la struttura di ogni file di configurazione (eg. httpd.conf e i relativi include, opmn.xml, ...) ma ... sarebbe troppo lungo.
L'installazione di Oracle Application Server 10g e'
divisa in due parti. Nella prima viene installato
il server di Infrastruttura creandone la relativa OAS instance.
Quindi vengono installati uno o piu' Middle Tier.
Sull'installazione di OAS 10g e' stato preparato uno specifico
documento web.
L'architettura flessibile di OAS consente di realizzare un numero
notevole di configurazioni e topologie per rispondere alle differenti
esigenze di applicazioni e di utenti.
Possibili variazioni sul tema sono:
Naturalmente in questi casi le modalita' di installazione variano di conseguenza...
Oracle ha dedicato subito ad Internet un'attenzione notevole
realizzando da subito prodotti adatti a tale utilizzo.
OWS e' stato il primo Web Server sviluppato da Oracle.
Si trattava di un "normale" Web Server cui era stata inserita la possibilita'
di accedere a stored procedures dell'RDBMS Oracle.
OWS ha raggiunto la versione 3.0.
Successivamente 4.5, 6i, 9i, 9i R2 (9.0.2) sono state le versioni
piu' significative del mondo "Developer" e "Web Server"...
con nomi di prodotti ed ambienti via via aggiornati.
La versione OAS 10g (9.0.4), presentata in questo documento,
ha molteplici funzionalita' ed
ha raggiunto un notevole grado di affidabilita' integrando tutti i
componenti.
Nelle prossime releases (attualmente e' disponibile come production
la OAS 10g R2 (10.1.2.0.2)) sono previste estensioni delle funzionalita'
di grid, supporto a J2EE 1.4, ...
Anche se il consiglio e' quello di controllare sul
sito ufficiale (eg.
Oracle Application Server 10g R2/R3 new features,
OracleAS Portal new features,
matrice di certificazione,
FAQ OAS 10g,
...).
Nel tempo in parte per ragioni commerciali, ma anche per la forte evoluzione che hanno avuto Internet e le architetture delle applicazioni, Oracle Application Server ha cambiato piu' volte nome. A volte la versione corrispondeva alle release di RDBMS o degli ambienti di sviluppo altre volte no... la seguente tabellina forse puo' aiutare!
Release | Versione | Note |
OWS | 1.0, 2.0, 2.1, 3.0, ... | Web Server proprietario |
iAS 8i | 1.0 | Apache, OSE (Oracle Servlet Engine), JVM nel DB |
1.0.2 | ||
9i | 1.0.2.2.2 | Forms Server (up to 6.0.8 as in Developer 6), Portal (up to 3.0.9) |
9iAS R2 | 9.0.2 | JDK 1.2, 1.3, 1.4 EJB 1.1, OC4J, alcune features EJB 2.0; Developer 9i |
9.0.2.1 | Patch set: 9.0.2.1-4 | |
9.0.3 | EJB 2.0 | |
9.0.3.1 | ||
OAS 10g | 9.0.4 | Motore + robusto ed efficiente, Web Cache ottimizzata |
9.0.4.1 | OPatch | |
9.0.4.2 | ||
OAS 10g R2 | 10.1.2 | Discoverer, installazione piu' semplice, topologia della farm, JDK 1.5 |
OAS 10g SE | 10.1.2.0.1 | Versione SEO (per SMI) |
10.1.2.0.2 | Forms, Struts x Portlet, HA Migration, piu' piattaforme (eg. AIX) | |
OAS 10g R3 | 10.1.3 | OC4J full J2EE 1.4, EJB 3.0, ADF Struts 1.2, SOAP 1.1 e 1.2, LDAP completo e scalabile, Oblix NB Solo OC4J |
10.1.4 | Molteplici nuove funzionalita' su Portal, WSRP consumer NB Solo Portal | |
Fusion | 11 | Fusion Middleware 11g... Vedremo! |
Naturalmente bisogna tenere conto che i numeri di versione sono specifici
di ogni prodotto (e con OAS ve ne sono a decine).
Ad esempio con la versione OAS 10g R2 -
10.1.2.0.2 vengono distribuiti un RDBMS 10.1.0.4.2 e quasi un centinaio
di altri oggetti aggiornati alla 10.1.2. Naturalmente e' possibile
utilizzare anche altre
versioni di RDBMS
tra cui le piu' recenti
Oracle 10g R2 (10.2): e' solo un poco piu' complessa
la procedura di installazione che richiede l'utilizzo del REPCA.
Inoltre e' possibile
effettuare un upgrade per la parte Portal alla 10.1.4
e per la parte OC4J alla 10.1.3!
Sulla compatibilita' delle diverse versioni OAS non c'e' un documento:
c'e' un libro intero!
Infine per lo sviluppo delle applicazioni vengono utilizzati
i prodotti Forms Developer che hanno
anch'essi una lunga storia e sono ora raccolti nella Developer Suite
(Designer Nota 176515.1,
Developer Nota 74145.1,
...)
Testo: Oracle Application Server 10g
Data: 15 Maggio 2005
Versione: 1.0.9 - 31 September 2009
Autore: mail@meo.bogliolo.name