Grunnleggende om Multi-tier applikasjoner i Oracle 12c

June 10  by Eliza

Oracle 12c innser at m ulti-lags programmer er dagens industristandard og komponere flere web, applikasjon, og databaseservere som gir innhold til tynne klienter med presentasjon via en nettleser. Noen gang lurt på hva som er bak kulissene når du logger deg på en web-applikasjon for nettkjøp eller bank?

Grunnleggende om Multi-tier applikasjoner i Oracle 12c


Klienten-tier er bare en nettleser tilgang til en webserver. Viser innhold til brukeren er det primære formålet med klienten i denne arkitekturen; ingen faktiske behandlingen foregår på dette laget i nettleseren. Presentasjonen skjer oftest via HTML (Hypertext Markup Language), men det kan også være innenfor en Java-applet eller en ActiveX-komponent og bruke Javascript for mer dynamisk formatering og innhold.

Kommunikasjon fra nettleseren til webserveren skjer via HTTP (Hypertext Transfer Protocol) eller HTTPS for sikker (kryptert) data. Webservere konseptuelt fungere som web lyttere; de mottar henvendelser fra nettlesere og returnere formatert resultatsett med litt behandling på egen hånd. Gang på webserveren, blir forespørselen leseren analysert og sendt til riktig applikasjonsserver for behandling.

Applikasjonstjeneren komponent kan være på samme fysiske server som web server, eller det kan være på en annen fysisk server. Langt, er den vanligste webserveren Apache, eller en av dens kommersielle derivater, med over 50 prosent av aksjemarkedet ifølge Netcraft.

På applikasjonsservernivå, blir brukeren anmodning behandlet ved hjelp av den aktuelle søknaden logikk. En svært vanlig metode er å bruke en Java-applikasjonstjener, for eksempel Tomcat, Orion, eller Glassfish. I dette tilfelle blir programlogikk utføres inne i en Java virtuell datamaskin (JVM), som fungerer som den kjøretidsmiljø for programkoden.

Et annet populært verktøy er Oracle Fusion Middleware (OFM). Innenfor OFM, kan programmet kjøres som Oracle Forms, rapporter, Discoverer, eller til og med Java via Oracle Beholdere for J2EE (OC4J). Uavhengig av produktet, er det i løpet av applikasjonsserveren komponent som applikasjonslogikken blir utført.

Under behandlingen på applikasjonsserveren, er det vanlig å trenge databasetilgang til å spørre, opprette, oppdatere eller slette data. Applikasjonstjeneren kommuniserer med databaseserveren via protokoller, for eksempel JDBC eller Oracle Net, for å få tilgang til dataene. I løpet av denne tiden, blir applikasjonstjeneren tilgang til databasen på vegne av brukeren gjør anvendelsen forespørsel.

Snarere enn å koble som en navngitt, tydelig bruker som jsmith, forbinder applikasjonstjeneren med en generisk web-konto (for eksempel WEB_USER). Flere samtidige tilkoblinger fra applikasjonsserveren til databasen danne en forbindelse basseng som lar enhver database tilkobling til tilgang til data for en forespørsel. Tilkoblingsgrupper er en forestilling fordel fordi bare noen få databasetilkoblinger kan betjene tusenvis av forespørsler på vegne av mange brukere.

Når du er logget inn i databasen eksempel, de generiske web brukerspørsmål eller utfører DML på vegne av applikasjonsserveren, som behandler en faktisk brukerforespørsel. Tilkoblingen sammenslåtte nettbruker har ikke skjema eierskap inn i databasen; det har bare de tillatelsene som trengs for å få tilgang til eller oppdatere data på vegne av applikasjonstjeneren.

I løpet av denne tiden, er vanlige databaseroller, tillatelser, og tilskudd brukes. I tillegg er database program logikk implementert i PL / SQL via prosedyrer, funksjoner og pakker ofte henrettet.

Etter at data resultatsett er generert på database-tier, er det gått tilbake til applikasjonstjeneren for mer behandling. Deretter blir resultatene sendes tilbake gjennom webserveren og over nettverket for presentasjon til brukeren via sin nettleser.

Høres komplisert med alle de forskjellige komponentene? Du kan tenke slik i starten, men det er gode grunner for å bryte systemet i web, applikasjon, og databasekomponenter:

  • Du kan bruke komponenter fra forskjellige leverandører i en "best of breed" konfigurasjon. For eksempel kan du bruke en gratis Apache webserver eksempel kombinert med Tomcat eller Glassfish for en billig applikasjonsserver komponent. Deretter knytte det til kraften i Oracle-databasen, og du har et solid system til lavere kostnader!
  • Som flere brukere kommer på nettet, kan du legge til flere web, applikasjon, eller databasetjenerforekomster for å øke prosessorkraft. Snarere enn å kjøpe større servere, bare kjøpe mindre servere.
  • Etter at du har en serie med flere servere, får du feiltoleranse. Dette kalles clustering. Hvis en web-server krasjer eller applikasjonstjeneren trenger vedlikehold, ikke noe problem - de redundante servere vil plukke opp arbeidsmengden.

Forhåpentligvis disse fordelene vise hvorfor multi-tier system arkitekturer er industristandarden og har overgått klient-server-systemer.