Oracle Application Server 10g
-
Upload
paolo-campegiani -
Category
Technology
-
view
2.794 -
download
0
description
Transcript of Oracle Application Server 10g
I prodotti Oracle
Oracle Database: leader di mercato nel settoremedie/grandi imprese;
Oracle Applications: piattaforma ERP;
Oracle Collaboration Suite: piattaforma dimessaggistica, mail e groupware;
Oracle Application Server: application server perarchitetture three-tier;
– p.
Piattaforme
Presente in due versioni: 10g Release 1 (versione9.0.4.0) e 10g Release 2 (10.1.2.0);
Sviluppato su Linux, portato poi sulle altre piattaformesu cui girano i prodotti Oracle;
Per Linux è certificato, come gli altri prodotti, su RedHatEnterprise Linux e su SuSE Advanced Server (exUnitedLinux);
Linux è la piattaforma d’elezione di Oracle;
– p.
Architettura a tre livelli
Web Tier Web CacheHTTP Listener
Client Tier
Oracle HTTP Server
Forms Server
Reports Server
DiscovererSingle Sign On
Application Server Tier
Database Tier
WirelessOracle Internet Directory
EMS
Portal
Real Application Cluster
– p.
Scalabilità
Web Tier Web Tier
AppServerTier
RAC RAC
AppServerTier
AppServerTier
RAC
Client Tier
DB
– p.
Clustering e Failover
Application Server Instance
Application Server Instance
Application Server InstanceApplication Server InstanceApplication Server Instance
Cluster
Farm
Cluster
Application Server InstanceStandalone Instance
Repository
– p.
Infrastruttura
E’ un database (10mila oggetti e 1800 tabelle) condivisonella farm:
Configurazioni
Identità e profili utente
Pagine Web
E’ strettamente associata a queste componenti:
Oracle Internet Directory
Distributed Configuration Management
Oracle Single Sign On (SSO)
Wireless, Portal, OEM repository
– p.
Oracle Internet Directory
E’ un server LDAP, associato all’Oracle SSO:
Descrive gli utenti autorizzati ad accedere all’applicationServer, in termini di password, privilegi, risorse;
E’ accessibile a linea di comando oppure via web con ilDelegated Administration Service;
Autentica verso le applicazioni presenti nell’ApplicationServer in modo diretto o proxy (ad es. Active Directory);
Con il SSO un utente autenticatosi per unaapplicazione è autenticato anche con tutte le altrepresente nella farm;
E’ il punto in cui definire politiche di sicurezza;
Può autenticare verso applicazioni esterne;
– p.
Middle Tier
Può essere di tre tipi diversi:
J2EE e Cache: per implementare una Web Cache;
Business Intelligence: in più Forms Server, ReportsServer, Portal ...;
Wireless Tier: in più trans-coding delle pagine perdispositivi mobili e messaggistica (SMS);
– p.
WebCache
Non è basata su Apache;
Reverse proxy a due vie a livello 7;
Stateful Load Balancing;
Cluster e Failover automatico con altre WebCache;
Invalidazione tramite regole e programmatica;
Front-end SSL verso un application server non SSL;
– p. 10
Oracle HTTP Server
E’ Apache 1.3.28 con dei moduli aggiuntivi (e proprietari):
mod_oradav: Oracle DAV
mod_osso: Oracle Single Sign On
mod_plsql: Pl/Sql for Web
mod_oc4j: Oracle Container 4 Java
...
Oracle HTTP Server supporta inoltre mod_perl e pagine inPHP.
– p. 11
Topologie
DB Tier
DB Tier
DB Tier
WebCache
WebCache
Load BalancerExternal Firewall
Internet
Infrastructure HW Cluster
Firewall
MidTier
MidTier
Infra
DB
– p. 12
Islands
Le applicazioni J2EE possono replicare lo stato su piùserver facenti parti della stessa island, per avere un failovera caldo:
OC4J−App1
OC4J−App2
Island 2
Island 1Midtier Server A Midtier Server B
OC4J−App3
OC4J−App1
OC4J−App2
OC4J−App4
– p. 13
Transparent Application Failover
Protegge le connessioni dall’application server al database(che deve operare in modalità RAC). Richiede un clientJDBC thick poichè usa funzionalità avanzate di Oracle Net.
Transazioni attive: Rollback automatico di insert, updatee delete se l’istanza fallisce
Connessioni al DB: Connessione automatica ad un’altraistanza;
Failover su select: Se l’istanza fallisce durante unaselect (cursore) ne viene selezionata un’altra e siottengono le righe successive;
I dati di sessione non persistenti vengono persi in caso dicaduta di un’istanza.
– p. 14
OC4J
OC4J si basa su Java 1.3.1, e fornisce un container perservlet e un traduttore per pagine JSP;
Alcune componenti dell’Application Server scritte inJava hanno i loro container (Portal, DAS, BusinessIntelligence)
Gli OC4J realizzano clustering e load balancing;
I servizi forniti dall’OC4J includono accesso al db,supporto alle transazioni, sicurezza, caching,concorrenza, container managed persistence;
– p. 15
Configurazione OC4J
La configurazione avviene tramite dei file XML, divisi in trecategorie:
configurazione del server: server.xml,default-web-site.xml, http-web-site.xml, application.xml;
relativi J2EE : application.xml, web.xml, ejb-jar.xml,application-client.xml;
relativi a OC4J : orion-application.xml, orion-web.xml,orion-ejb-web.xml;
– p. 16
Deployment applicazioni J2EE
Un’applicazione J2EE gira nell’ambito di un container;
Il deployment può essere fatto via dcmctl oppure viaEnterprise Manager;
– p. 17
Attivazione istanze J2EE
opmnctl: l’attivazione dell’istanza di middle tier attiva icontainer OC4J presenti e quindi le applicazioni;
dcmctl : permette di far partire/arrestare uno specificocontainer;
Enterprise Manager Application Server Console;
– p. 18
TopLink
L’accesso ad un database è una funzionalità essenziale diuna applicazione J2EE. Si può realizzare tramite:
JDBC: Oracle fornisce per i suoi database:Thin Driver;OCI Driver (utilizza un client Oracle);Server-Side Driver (per programmi Java che giranonel database);
entity EJB;
– p. 19
JNDI
Java Naming Directory Interface: usato da un EJB perlocalizzare altri EJB o data sources, ovvero un contesto chedefinisce le informazioni necessarie ad accedere ad undatabase.I data sources sono definiti in data-sources.xml (specificoper ogni applicazione J2EE).
– p. 20
Prestazioni e tuning
Il tuning di un sistema distribuito è un compito difficile.
Il database Oracle ha alcune centinaia di parametri diconfigurazione;
Gli Application Server, OID e WebCache hanno ulterioriparametri;
Capacity planning: misurare prestazioni end-to-end efare previsioni analizzando il carico dei componenti(vmstat + dmstool + file di log);
– p. 21