SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Oracle Application Server 10g
             Paolo Campegiani
         paolo@paolocampegiani.it


        http://www.paolocampegiani.it




                                        – p.
I prodotti Oracle
Oracle Database: leader di mercato nel settore
medie/grandi imprese;
Oracle Applications: piattaforma ERP;
Oracle Collaboration Suite: piattaforma di
messaggistica, mail e groupware;
Oracle Application Server: application server per
architetture three-tier;




                                                    – p.
Piattaforme
Presente in due versioni: 10g Release 1 (versione
9.0.4.0) e 10g Release 2 (10.1.2.0);
Sviluppato su Linux, portato poi sulle altre piattaforme
su cui girano i prodotti Oracle;
Per Linux è certificato, come gli altri prodotti, su RedHat
Enterprise Linux e su SuSE Advanced Server (ex
UnitedLinux);
Linux è la piattaforma d’elezione di Oracle;




                                                             – p.
Architettura a tre livelli

    Client Tier


    Web Tier                 HTTP Listener     Web Cache



                          Oracle HTTP Server     Reports Server
Application Server Tier   Forms Server                 Portal
                          Discoverer Oracle Internet Directory
                          Single Sign On Wireless     EMS



    Database Tier                 Real Application Cluster




                                                                  – p.
Scalabilità

                Client Tier



  Web Tier                    Web Tier


AppServer    AppServer           AppServer
  Tier         Tier                Tier




   RAC               RAC            RAC




                    DB




                                             – p.
Clustering e Failover
Farm
  Cluster
   Application Server Instance
   Application Server Instance

                                       Repository
  Cluster
   Application Server Instance
   Application Server Instance
   Application Server Instance

                  Standalone Instance
                     Application Server Instance




                                                    – p.
Infrastruttura
E’ un database (10mila oggetti e 1800 tabelle) condiviso
nella 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’application
   Server, in termini di password, privilegi, risorse;
   E’ accessibile a linea di comando oppure via web con il
   Delegated Administration Service;
   Autentica verso le applicazioni presenti nell’Application
   Server in modo diretto o proxy (ad es. Active Directory);
   Con il SSO un utente autenticatosi per una
   applicazione è autenticato anche con tutte le altre
   presente 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, Reports
    Server, Portal ...;
    Wireless Tier: in più trans-coding delle pagine per
    dispositivi 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. 1
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 in
PHP.




                                                              – p. 1
Topologie

                                                                               DB Tier

                               WebCache               MidTier


                                                                               DB Tier
Internet    Load Balancer
                                                                                         DB
           External Firewall


                                                                               DB Tier

                               WebCache               MidTier




                                          Firewall


                                           Infrastructure HW Cluster
                                                                       Infra




                                                                                              – p. 1
Islands
Le applicazioni J2EE possono replicare lo stato su più
server facenti parti della stessa island, per avere un failover
a caldo:
       Midtier Server A                  Midtier Server B
                            Island 1

         OC4J−App1                        OC4J−App1


         OC4J−App3                        OC4J−App4
                            Island 2

           OC4J−App2                     OC4J−App2




                                                                  – p. 1
Transparent Application Failover
Protegge le connessioni dall’application server al database
(che deve operare in modalità RAC). Richiede un client
JDBC thick poichè usa funzionalità avanzate di Oracle Net.
    Transazioni attive: Rollback automatico di insert, update
    e delete se l’istanza fallisce
    Connessioni al DB: Connessione automatica ad un’altra
    istanza;
    Failover su select: Se l’istanza fallisce durante una
    select (cursore) ne viene selezionata un’altra e si
    ottengono le righe successive;
I dati di sessione non persistenti vengono persi in caso di
caduta di un’istanza.


                                                                – p. 1
OC4J
OC4J si basa su Java 1.3.1, e fornisce un container per
servlet e un traduttore per pagine JSP;
Alcune componenti dell’Application Server scritte in
Java hanno i loro container (Portal, DAS, Business
Intelligence)
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. 1
Configurazione OC4J
La configurazione avviene tramite dei file XML, divisi in tre
categorie:
   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. 1
Deployment applicazioni J2EE
Un’applicazione J2EE gira nell’ambito di un container;
Il deployment può essere fatto via dcmctl oppure via
Enterprise Manager;




                                                         – p. 1
Attivazione istanze J2EE
opmnctl: l’attivazione dell’istanza di middle tier attiva i
container OC4J presenti e quindi le applicazioni;
dcmctl : permette di far partire/arrestare uno specifico
container;
Enterprise Manager Application Server Console;




                                                              – p. 1
TopLink
L’accesso ad un database è una funzionalità essenziale di
una 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 girano
     nel database);
   entity EJB;




                                                            – p. 1
JNDI
Java Naming Directory Interface: usato da un EJB per
localizzare altri EJB o data sources, ovvero un contesto che
definisce le informazioni necessarie ad accedere ad un
database.
I data sources sono definiti in data-sources.xml (specifico
per ogni applicazione J2EE).




                                                               – p. 2
Prestazioni e tuning
Il tuning di un sistema distribuito è un compito difficile.
Il database Oracle ha alcune centinaia di parametri di
configurazione;
Gli Application Server, OID e WebCache hanno ulteriori
parametri;
Capacity planning: misurare prestazioni end-to-end e
fare previsioni analizzando il carico dei componenti
(vmstat + dmstool + file di log);




                                                             – p. 2

Mais conteúdo relacionado

Mais procurados

Sistemi di virtualizzazione in ambiente Linux
Sistemi di virtualizzazione in ambiente LinuxSistemi di virtualizzazione in ambiente Linux
Sistemi di virtualizzazione in ambiente LinuxTruelite
 
Linux Kernel, driver e compilazione
Linux Kernel, driver e compilazioneLinux Kernel, driver e compilazione
Linux Kernel, driver e compilazioneFulvio Corno
 
BeRTOS: Sistema Real Time Embedded Free
BeRTOS: Sistema Real Time Embedded FreeBeRTOS: Sistema Real Time Embedded Free
BeRTOS: Sistema Real Time Embedded FreeDeveler S.r.l.
 
La Virtualizzazione 2010
La Virtualizzazione 2010La Virtualizzazione 2010
La Virtualizzazione 2010Davide Grossato
 
Delphi Day 2009 Win7 Dev Overview
Delphi Day 2009 Win7 Dev OverviewDelphi Day 2009 Win7 Dev Overview
Delphi Day 2009 Win7 Dev Overviewpietrobr
 
Sistemi di virtualizzazione con Linux
Sistemi di virtualizzazione con LinuxSistemi di virtualizzazione con Linux
Sistemi di virtualizzazione con LinuxTruelite
 
Open Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspOpen Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspLaura Camellini
 
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxTrace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxDeveler S.r.l.
 
Tecnologie di virtualizzazione per il consolidamento dei server
Tecnologie di virtualizzazione per il consolidamento dei serverTecnologie di virtualizzazione per il consolidamento dei server
Tecnologie di virtualizzazione per il consolidamento dei serverTruelite
 
Meccanismi per la cooperazione e la prelazione dell'I/O nel kernel Linux
Meccanismi per la cooperazione e la prelazione dell'I/O nel kernel LinuxMeccanismi per la cooperazione e la prelazione dell'I/O nel kernel Linux
Meccanismi per la cooperazione e la prelazione dell'I/O nel kernel LinuxArianna Avanzini
 
Introduzione Alla Uml Mconsole
Introduzione Alla Uml MconsoleIntroduzione Alla Uml Mconsole
Introduzione Alla Uml MconsoleMajong DevJfu
 
VMware SRM - Una visione architetturale
VMware SRM - Una visione architetturaleVMware SRM - Una visione architetturale
VMware SRM - Una visione architetturaleVMUG IT
 
Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03Majong DevJfu
 
Sistemi Operativi: Struttura avanzata - Lezione 05
Sistemi Operativi: Struttura avanzata - Lezione 05Sistemi Operativi: Struttura avanzata - Lezione 05
Sistemi Operativi: Struttura avanzata - Lezione 05Majong DevJfu
 
Sistemi Operativi: Struttura - Lezione 04
Sistemi Operativi: Struttura - Lezione 04Sistemi Operativi: Struttura - Lezione 04
Sistemi Operativi: Struttura - Lezione 04Majong DevJfu
 

Mais procurados (20)

Sistemi di virtualizzazione in ambiente Linux
Sistemi di virtualizzazione in ambiente LinuxSistemi di virtualizzazione in ambiente Linux
Sistemi di virtualizzazione in ambiente Linux
 
Linux Kernel, driver e compilazione
Linux Kernel, driver e compilazioneLinux Kernel, driver e compilazione
Linux Kernel, driver e compilazione
 
BeRTOS: Sistema Real Time Embedded Free
BeRTOS: Sistema Real Time Embedded FreeBeRTOS: Sistema Real Time Embedded Free
BeRTOS: Sistema Real Time Embedded Free
 
La Virtualizzazione 2010
La Virtualizzazione 2010La Virtualizzazione 2010
La Virtualizzazione 2010
 
Delphi Day 2009 Win7 Dev Overview
Delphi Day 2009 Win7 Dev OverviewDelphi Day 2009 Win7 Dev Overview
Delphi Day 2009 Win7 Dev Overview
 
GUIDA VMWARE
GUIDA VMWAREGUIDA VMWARE
GUIDA VMWARE
 
Sistemi di virtualizzazione con Linux
Sistemi di virtualizzazione con LinuxSistemi di virtualizzazione con Linux
Sistemi di virtualizzazione con Linux
 
Ambienti di virtualizzazione
Ambienti di virtualizzazioneAmbienti di virtualizzazione
Ambienti di virtualizzazione
 
LTSP
LTSPLTSP
LTSP
 
Open Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspOpen Source Parallel Computing ltcsp
Open Source Parallel Computing ltcsp
 
JavaComm
JavaCommJavaComm
JavaComm
 
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxTrace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
 
Tecnologie di virtualizzazione per il consolidamento dei server
Tecnologie di virtualizzazione per il consolidamento dei serverTecnologie di virtualizzazione per il consolidamento dei server
Tecnologie di virtualizzazione per il consolidamento dei server
 
Meccanismi per la cooperazione e la prelazione dell'I/O nel kernel Linux
Meccanismi per la cooperazione e la prelazione dell'I/O nel kernel LinuxMeccanismi per la cooperazione e la prelazione dell'I/O nel kernel Linux
Meccanismi per la cooperazione e la prelazione dell'I/O nel kernel Linux
 
Introduzione Alla Uml Mconsole
Introduzione Alla Uml MconsoleIntroduzione Alla Uml Mconsole
Introduzione Alla Uml Mconsole
 
VMware SRM - Una visione architetturale
VMware SRM - Una visione architetturaleVMware SRM - Una visione architetturale
VMware SRM - Una visione architetturale
 
Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03
 
Sistemi Operativi: Struttura avanzata - Lezione 05
Sistemi Operativi: Struttura avanzata - Lezione 05Sistemi Operativi: Struttura avanzata - Lezione 05
Sistemi Operativi: Struttura avanzata - Lezione 05
 
Sistemi Operativi: Struttura - Lezione 04
Sistemi Operativi: Struttura - Lezione 04Sistemi Operativi: Struttura - Lezione 04
Sistemi Operativi: Struttura - Lezione 04
 
3rd 3DDRESD: BSS
3rd 3DDRESD: BSS3rd 3DDRESD: BSS
3rd 3DDRESD: BSS
 

Semelhante a Oracle Application Server 10g

SignalR, il WebSocket che tanto ci mancava
SignalR, il WebSocket che tanto ci mancavaSignalR, il WebSocket che tanto ci mancava
SignalR, il WebSocket che tanto ci mancavaAndrea Tosato
 
GreenVulcano ESB Technical Overview (ITA)
GreenVulcano ESB Technical Overview (ITA)GreenVulcano ESB Technical Overview (ITA)
GreenVulcano ESB Technical Overview (ITA)greenvulcano
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfrescoMirco Leo
 
Cv 2014 richard_gennaro_ eur_it
Cv 2014 richard_gennaro_ eur_itCv 2014 richard_gennaro_ eur_it
Cv 2014 richard_gennaro_ eur_itRichard Gennaro
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi DiscussioneYeser Rema
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service FabricMassimo Bonanni
 
Confronto fra web services framework (open source)
Confronto fra web services framework (open source)Confronto fra web services framework (open source)
Confronto fra web services framework (open source)Alberto Lagna
 
Workshop paas - ECDay 23 Maggio 2012
Workshop paas - ECDay 23 Maggio 2012Workshop paas - ECDay 23 Maggio 2012
Workshop paas - ECDay 23 Maggio 2012VMEngine
 
Installing Apache tomcat with Netbeans
Installing Apache tomcat with NetbeansInstalling Apache tomcat with Netbeans
Installing Apache tomcat with NetbeansDavide Nardone
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Marco Loregian
 
Cloud Google App Engine Paas
Cloud   Google App Engine PaasCloud   Google App Engine Paas
Cloud Google App Engine Paassteccami
 
Fabio Cecaro - WorkShop PaaS – Platform as a Services
Fabio Cecaro - WorkShop PaaS – Platform as a ServicesFabio Cecaro - WorkShop PaaS – Platform as a Services
Fabio Cecaro - WorkShop PaaS – Platform as a ServicesFondazione CUOA
 
SmartClient by Isomorphic - Rich internet applications
SmartClient by Isomorphic - Rich internet applicationsSmartClient by Isomorphic - Rich internet applications
SmartClient by Isomorphic - Rich internet applicationsClaudio Bosticco
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Whymca
 

Semelhante a Oracle Application Server 10g (20)

Web services
Web servicesWeb services
Web services
 
Corso Java 3 - WEB
Corso Java 3 - WEBCorso Java 3 - WEB
Corso Java 3 - WEB
 
SignalR, il WebSocket che tanto ci mancava
SignalR, il WebSocket che tanto ci mancavaSignalR, il WebSocket che tanto ci mancava
SignalR, il WebSocket che tanto ci mancava
 
GreenVulcano ESB Technical Overview (ITA)
GreenVulcano ESB Technical Overview (ITA)GreenVulcano ESB Technical Overview (ITA)
GreenVulcano ESB Technical Overview (ITA)
 
Oracle 1
Oracle 1Oracle 1
Oracle 1
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfresco
 
Cv 2014 richard_gennaro_ eur_it
Cv 2014 richard_gennaro_ eur_itCv 2014 richard_gennaro_ eur_it
Cv 2014 richard_gennaro_ eur_it
 
Corso di servlet jsp e pattern
Corso di servlet jsp e patternCorso di servlet jsp e pattern
Corso di servlet jsp e pattern
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi Discussione
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service Fabric
 
Confronto fra web services framework (open source)
Confronto fra web services framework (open source)Confronto fra web services framework (open source)
Confronto fra web services framework (open source)
 
Workshop paas - ECDay 23 Maggio 2012
Workshop paas - ECDay 23 Maggio 2012Workshop paas - ECDay 23 Maggio 2012
Workshop paas - ECDay 23 Maggio 2012
 
Installing Apache tomcat with Netbeans
Installing Apache tomcat with NetbeansInstalling Apache tomcat with Netbeans
Installing Apache tomcat with Netbeans
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
 
Cloud Google App Engine Paas
Cloud   Google App Engine PaasCloud   Google App Engine Paas
Cloud Google App Engine Paas
 
Fabio Cecaro - WorkShop PaaS – Platform as a Services
Fabio Cecaro - WorkShop PaaS – Platform as a ServicesFabio Cecaro - WorkShop PaaS – Platform as a Services
Fabio Cecaro - WorkShop PaaS – Platform as a Services
 
SmartClient by Isomorphic - Rich internet applications
SmartClient by Isomorphic - Rich internet applicationsSmartClient by Isomorphic - Rich internet applications
SmartClient by Isomorphic - Rich internet applications
 
Wcf data services
Wcf data servicesWcf data services
Wcf data services
 
Spring - Ecosistema
Spring - EcosistemaSpring - Ecosistema
Spring - Ecosistema
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini
 

Oracle Application Server 10g

  • 1. Oracle Application Server 10g Paolo Campegiani paolo@paolocampegiani.it http://www.paolocampegiani.it – p.
  • 2. I prodotti Oracle Oracle Database: leader di mercato nel settore medie/grandi imprese; Oracle Applications: piattaforma ERP; Oracle Collaboration Suite: piattaforma di messaggistica, mail e groupware; Oracle Application Server: application server per architetture three-tier; – p.
  • 3. Piattaforme Presente in due versioni: 10g Release 1 (versione 9.0.4.0) e 10g Release 2 (10.1.2.0); Sviluppato su Linux, portato poi sulle altre piattaforme su cui girano i prodotti Oracle; Per Linux è certificato, come gli altri prodotti, su RedHat Enterprise Linux e su SuSE Advanced Server (ex UnitedLinux); Linux è la piattaforma d’elezione di Oracle; – p.
  • 4. Architettura a tre livelli Client Tier Web Tier HTTP Listener Web Cache Oracle HTTP Server Reports Server Application Server Tier Forms Server Portal Discoverer Oracle Internet Directory Single Sign On Wireless EMS Database Tier Real Application Cluster – p.
  • 5. Scalabilità Client Tier Web Tier Web Tier AppServer AppServer AppServer Tier Tier Tier RAC RAC RAC DB – p.
  • 6. Clustering e Failover Farm Cluster Application Server Instance Application Server Instance Repository Cluster Application Server Instance Application Server Instance Application Server Instance Standalone Instance Application Server Instance – p.
  • 7. Infrastruttura E’ un database (10mila oggetti e 1800 tabelle) condiviso nella 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.
  • 8. Oracle Internet Directory E’ un server LDAP, associato all’Oracle SSO: Descrive gli utenti autorizzati ad accedere all’application Server, in termini di password, privilegi, risorse; E’ accessibile a linea di comando oppure via web con il Delegated Administration Service; Autentica verso le applicazioni presenti nell’Application Server in modo diretto o proxy (ad es. Active Directory); Con il SSO un utente autenticatosi per una applicazione è autenticato anche con tutte le altre presente nella farm; E’ il punto in cui definire politiche di sicurezza; Può autenticare verso applicazioni esterne; – p.
  • 9. Middle Tier Può essere di tre tipi diversi: J2EE e Cache: per implementare una Web Cache; Business Intelligence: in più Forms Server, Reports Server, Portal ...; Wireless Tier: in più trans-coding delle pagine per dispositivi mobili e messaggistica (SMS); – p.
  • 10. 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. 1
  • 11. 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 in PHP. – p. 1
  • 12. Topologie DB Tier WebCache MidTier DB Tier Internet Load Balancer DB External Firewall DB Tier WebCache MidTier Firewall Infrastructure HW Cluster Infra – p. 1
  • 13. Islands Le applicazioni J2EE possono replicare lo stato su più server facenti parti della stessa island, per avere un failover a caldo: Midtier Server A Midtier Server B Island 1 OC4J−App1 OC4J−App1 OC4J−App3 OC4J−App4 Island 2 OC4J−App2 OC4J−App2 – p. 1
  • 14. Transparent Application Failover Protegge le connessioni dall’application server al database (che deve operare in modalità RAC). Richiede un client JDBC thick poichè usa funzionalità avanzate di Oracle Net. Transazioni attive: Rollback automatico di insert, update e delete se l’istanza fallisce Connessioni al DB: Connessione automatica ad un’altra istanza; Failover su select: Se l’istanza fallisce durante una select (cursore) ne viene selezionata un’altra e si ottengono le righe successive; I dati di sessione non persistenti vengono persi in caso di caduta di un’istanza. – p. 1
  • 15. OC4J OC4J si basa su Java 1.3.1, e fornisce un container per servlet e un traduttore per pagine JSP; Alcune componenti dell’Application Server scritte in Java hanno i loro container (Portal, DAS, Business Intelligence) 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. 1
  • 16. Configurazione OC4J La configurazione avviene tramite dei file XML, divisi in tre categorie: 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. 1
  • 17. Deployment applicazioni J2EE Un’applicazione J2EE gira nell’ambito di un container; Il deployment può essere fatto via dcmctl oppure via Enterprise Manager; – p. 1
  • 18. Attivazione istanze J2EE opmnctl: l’attivazione dell’istanza di middle tier attiva i container OC4J presenti e quindi le applicazioni; dcmctl : permette di far partire/arrestare uno specifico container; Enterprise Manager Application Server Console; – p. 1
  • 19. TopLink L’accesso ad un database è una funzionalità essenziale di una 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 girano nel database); entity EJB; – p. 1
  • 20. JNDI Java Naming Directory Interface: usato da un EJB per localizzare altri EJB o data sources, ovvero un contesto che definisce le informazioni necessarie ad accedere ad un database. I data sources sono definiti in data-sources.xml (specifico per ogni applicazione J2EE). – p. 2
  • 21. Prestazioni e tuning Il tuning di un sistema distribuito è un compito difficile. Il database Oracle ha alcune centinaia di parametri di configurazione; Gli Application Server, OID e WebCache hanno ulteriori parametri; Capacity planning: misurare prestazioni end-to-end e fare previsioni analizzando il carico dei componenti (vmstat + dmstool + file di log); – p. 2