Oracle Application Server 10g

21
Oracle Application Server 10g Paolo Campegiani [email protected] http://www.paolocampegiani.it – p.

description

 

Transcript of Oracle Application Server 10g

Page 1: Oracle Application Server 10g

Oracle Application Server 10gPaolo Campegiani

[email protected]

http://www.paolocampegiani.it

– p.

Page 2: 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.

Page 3: Oracle Application Server 10g

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.

Page 4: Oracle Application Server 10g

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.

Page 5: Oracle Application Server 10g

Scalabilità

Web Tier Web Tier

AppServerTier

RAC RAC

AppServerTier

AppServerTier

RAC

Client Tier

DB

– p.

Page 6: Oracle Application Server 10g

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.

Page 7: Oracle Application Server 10g

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.

Page 8: Oracle Application Server 10g

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.

Page 9: Oracle Application Server 10g

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.

Page 10: Oracle Application Server 10g

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

Page 11: Oracle Application Server 10g

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

Page 12: Oracle Application Server 10g

Topologie

DB Tier

DB Tier

DB Tier

WebCache

WebCache

Load BalancerExternal Firewall

Internet

Infrastructure HW Cluster

Firewall

MidTier

MidTier

Infra

DB

– p. 12

Page 13: Oracle Application Server 10g

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

Page 14: Oracle Application Server 10g

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

Page 15: Oracle Application Server 10g

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

Page 16: Oracle Application Server 10g

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

Page 17: Oracle Application Server 10g

Deployment applicazioni J2EE

Un’applicazione J2EE gira nell’ambito di un container;

Il deployment può essere fatto via dcmctl oppure viaEnterprise Manager;

– p. 17

Page 18: Oracle Application Server 10g

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

Page 19: Oracle Application Server 10g

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

Page 20: Oracle Application Server 10g

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

Page 21: Oracle Application Server 10g

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