Video: Web Programming - Computer Science for Business Leaders 2016 2024
Oracle 12c realizează că aplicațiile m ulti-tier reprezintă standardul industrial actual și compun mai multe aplicații Web, servere care furnizează conținut clienților subțiri cu prezentare prin intermediul unui browser web. Vă întrebați vreodată ce se află în spatele scenei atunci când vă conectați la o aplicație web pentru achiziții online sau bancare?
Nivelul client este doar un browser web care accesează un server web. Afișarea conținutului pentru utilizator este scopul principal al clientului în această arhitectură; nu are loc nici o prelucrare reală la acest nivel în browser. Prezentarea apare cel mai frecvent prin intermediul limbajului HTML (HyperText Markup Language), dar poate fi și într-un applet Java sau într-o componentă ActiveX și poate utiliza JavaScript pentru formatări și conținut mai dinamic.
Comunicarea de la browser către serverul web are loc prin HTTP (HyperText Transfer Protocol) sau HTTPS pentru date securizate (criptate). Serverele web funcționează conceptual ca ascultători web; aceștia primesc cereri din browsere și returnează seturi de rezultate formatate cu puțin procesare pe cont propriu. Odată ce se află pe serverul web, cererea browserului este analizată și trimisă la serverul de aplicații corespunzător pentru procesare.
Componenta serverului de aplicații poate fi pe același server fizic ca serverul web sau poate fi pe un alt server fizic. De departe, cel mai comun server web este Apache, sau unul dintre derivatele sale comerciale, cu peste 50% din cota de piață în conformitate cu Netcraft.
La nivelul serverului aplicației, cererea utilizatorului este procesată utilizând logica aplicației relevante. O metodă foarte comună este utilizarea unui server de aplicații Java, cum ar fi Tomcat, Orion sau Glassfish. În acest caz, logica programului este executată într-o mașină virtuală Java (JVM), care acționează ca mediul de rulare pentru codul programului.
Un alt instrument popular este Oracle Fusion Middleware (OFM). În cadrul OFM, programul poate funcționa ca Oracle Forms, Reports, Discoverer sau chiar Java prin Oracle Containers for J2EE (OC4J). Indiferent de produs, în cadrul componentei serverului de aplicații se execută logica aplicației.
În timpul procesării pe serverul de aplicații, este comună necesitatea accesului la bază de date pentru interogarea, crearea, actualizarea sau ștergerea datelor. Serverul de aplicații comunică cu serverul de baze de date prin protocoale, cum ar fi JDBC sau Oracle Net, pentru a accesa datele. În acest timp, serverul de aplicații accesează baza de date în numele utilizatorului care face cererea de aplicație.
În loc să vă conectați ca un utilizator numit, distinct, cum ar fi JSMITH, serverul de aplicații se conectează utilizând un cont web generic (cum ar fi WEB_USER). Conexiunile simultane multiple de la serverul de aplicații la baza de date formează o bazin de conexiuni care permite conexiunii bazei de date să acceseze date pentru o solicitare. Conectarea la conexiuni reprezintă un avantaj al performanței, deoarece doar câteva conexiuni baze de date pot servi mii de solicitări în numele multor utilizatori.
Atunci când este înregistrat în instanța bazei de date, utilizatorul generic îl interoghează sau execută DML în numele serverului de aplicații, care procesează o cerere reală de utilizator. Utilizatorul web de conexiune nu are proprietate asupra schemelor în baza de date; are doar acele permisiuni necesare accesării sau actualizării datelor în numele serverului de aplicații.
În acest timp, sunt utilizate roluri normale de bază de date, permisiuni și subvenții. În plus, logica programelor de baze de date implementată în PL / SQL prin proceduri, funcții și pachete este deseori executată.
După ce rezultatul setului de date este generat pe baza de date a bazei de date, acesta este trecut înapoi la serverul de aplicații pentru mai multă prelucrare. Apoi, rezultatele sunt transmise înapoi prin serverul web și prin rețea pentru a fi prezentate utilizatorului prin intermediul browserului Web.
Sună complicat cu toate componentele diferite? Puteți crede că la început, dar există motive bune pentru ruperea sistemului în componente web, aplicații și baze de date:
-
Puteți utiliza componente de la diferiți furnizori într-o configurație "cea mai bună de rasă". De exemplu, puteți utiliza o instanță gratuită a serverului web Apache cuplată cu Tomcat sau Glassfish pentru o componentă de server de aplicații ieftine. Apoi, legați-l de puterea bazei de date Oracle, și aveți un sistem solid la costuri mai mici!
-
Pe măsură ce mai mulți utilizatori vin on-line, puteți adăuga mai multe instanțe de web, aplicații sau servere de baze de date pentru a crește puterea de procesare. Mai degrabă decât să cumpărați servere mai mari, cumpărați doar servere mai mici.
-
După ce aveți o serie de servere multiple, obțineți toleranță la erori. Aceasta se numește clustering. Dacă un server web se blochează sau serverul de aplicații are nevoie de întreținere, nici o problemă - serverele redundante vor prelua volumul de lucru.
Sperăm că aceste avantaje arată de ce arhitecturile de sistem multi-tier sunt standardul industrial și au depășit sistemele client-server.