Video: #10.6 Basi Filemaker App Contatti | Relazioni | Formattazione Condizionale | Liste Valori - Macraris 2024
Oracle 12c realizza che m le applicazioni a più livelli sono lo standard di settore corrente e compongono più Web, applicazioni e database server che forniscono contenuti a thin client con presentazione tramite browser web. Vi siete mai chiesti cosa c'è dietro le quinte quando si accede a un'applicazione Web per acquisti online o operazioni bancarie?
Il livello client è semplicemente un browser Web che accede a un server web. La visualizzazione del contenuto per l'utente è lo scopo principale del client in questa architettura; nessuna elaborazione effettiva avviene a questo livello all'interno del browser. La presentazione avviene più comunemente tramite HTML (HyperText Markup Language), ma può anche essere all'interno di un'applet Java o di un componente ActiveX e utilizzare JavaScript per una formattazione e un contenuto più dinamici.
La comunicazione dal browser al server Web avviene tramite HTTP (HyperText Transfer Protocol) o HTTPS per dati (crittografati) protetti. I server Web agiscono concettualmente come ascoltatori del web; ricevono richieste dai browser e restituiscono set di risultati formattati con poca elaborazione da soli. Una volta sul server Web, la richiesta del browser viene analizzata e inviata al server delle applicazioni appropriato per l'elaborazione.
Il componente del server delle applicazioni potrebbe trovarsi sullo stesso server fisico del server Web o potrebbe trovarsi su un altro server fisico. Di gran lunga, il server web più comune è Apache, o uno dei suoi derivati commerciali, con oltre il 50% della quota di mercato secondo Netcraft.
A livello di server delle applicazioni, la richiesta dell'utente viene elaborata utilizzando la logica dell'applicazione pertinente. Un metodo molto comune è l'uso di un server di applicazioni Java, come Tomcat, Orion o Glassfish. In questo caso, la logica del programma viene eseguita all'interno di una Java Virtual Machine (JVM), che funge da ambiente di runtime per il codice del programma.
Un altro strumento popolare è Oracle Fusion Middleware (OFM). All'interno di OFM, il programma può essere eseguito come Oracle Forms, Reports, Discoverer o anche Java tramite Oracle Containers per J2EE (OC4J). Indipendentemente dal prodotto, è all'interno del componente del server delle applicazioni che viene eseguita la logica dell'applicazione.
Durante l'elaborazione sul server delle applicazioni, è normale che sia necessario l'accesso al database per eseguire query, creare, aggiornare o eliminare dati. Il server delle applicazioni comunica con il server del database tramite protocolli, come JDBC o Oracle Net, per accedere ai dati. Durante questo periodo, il server delle applicazioni accede al database per conto dell'utente che effettua la richiesta dell'applicazione.
Anziché connettersi come utente distinto e denominato JSMITH, il server delle applicazioni si connette utilizzando un account Web generico (come WEB_USER). Più connessioni simultanee dal server delle applicazioni al database formano un pool di connessioni che consente a qualsiasi connessione al database di accedere ai dati per una richiesta. Il pool di connessioni è un vantaggio in termini di prestazioni poiché solo alcune connessioni al database possono servire migliaia di richieste per conto di molti utenti.
Quando si accede all'istanza del database, l'utente Web generico esegue una query o esegue DML per conto del server delle applicazioni, che sta elaborando una richiesta utente effettiva. L'utente Web connesso alla connessione non ha la proprietà dello schema nel database; ha solo le autorizzazioni necessarie per accedere o aggiornare i dati per conto del server delle applicazioni.
Durante questo periodo vengono utilizzati ruoli, autorizzazioni e concessioni di database normali. Inoltre, la logica del programma di database implementata in PL / SQL tramite procedure, funzioni e pacchetti viene spesso eseguita.
Dopo che il set di risultati di dati viene generato sul livello di database, viene passato nuovamente al server delle applicazioni per ulteriori elaborazioni. Successivamente, i risultati vengono ritrasmessi attraverso il server Web e attraverso la rete per la presentazione all'utente tramite il browser web.
Sembra complicato con tutti i vari componenti? Si potrebbe pensare così all'inizio, ma esistono buone ragioni per rompere il sistema in componenti Web, applicazioni e database:
-
È possibile utilizzare componenti di diversi fornitori in una configurazione "best of breed". Ad esempio, è possibile utilizzare un'istanza del server Web Apache gratuita accoppiato con Tomcat o Glassfish per un componente del server delle applicazioni economico. Quindi legalo alla potenza del database Oracle e disponi di un sistema solido a costi inferiori!
-
Con l'arrivo di più utenti online, è possibile aggiungere più istanze di server Web, applicazioni o database per aumentare la potenza di elaborazione. Piuttosto che acquistare server più grandi, basta acquistare server più piccoli.
-
Dopo avere una serie di server multipli, si guadagna tolleranza d'errore. Questo è chiamato clustering. Se un server Web si arresta in modo anomalo o il server delle applicazioni necessita di manutenzione, nessun problema: i server ridondanti riprenderanno il carico di lavoro.
Si spera che questi vantaggi dimostrino perché le architetture di sistema multi-livello sono lo standard del settore e hanno superato i sistemi client-server.