Video: Grunderna för riktigt bra wedgar 2024
Oracle 12c inser att m ultimata applikationer är den nuvarande industristandarden och komponerar flera webb-, applikations- och databaser servrar som ger innehåll till tunna klienter med presentation via en webbläsare. Någonsin undrar vad som ligger bakom kulisserna när du loggar in på en webbapplikation för online-inköp eller bank?
Klientnivån är bara en webbläsare som åtkomst till en webbserver. Visning av innehåll till användaren är det primära syftet med klienten i denna arkitektur; ingen faktisk behandling sker vid detta lager i webbläsaren. Presentation sker oftast via HTML (HyperText Markup Language), men det kan också vara i en Java-applet eller en ActiveX-komponent och använda JavaScript för mer dynamisk formatering och innehåll.
Kommunikation från webbläsaren till webbservern sker via HTTP (HyperText Transfer Protocol) eller HTTPS för säker (krypterad) data. Webservrar fungerar begreppsmässigt som webblyssnare; De tar emot förfrågningar från webbläsare och returnerar formaterade resultatuppsättningar med liten behandling på egen hand. En gång på webbservern analyseras webbläsarförfrågan och skickas till den lämpliga applikationsservern för behandling.
Programserverns komponent kan vara på samma fysiska server som webbservern, eller det kan vara på en annan fysisk server. Den vanligaste webbservern är överlägset Apache, eller ett av dess kommersiella derivat, med över 50 procent av marknadsandelen enligt Netcraft.
På applikationsservernivån behandlas användarbegäran med hjälp av relevant programlogik. En mycket vanlig metod är att använda en Java-applikationsserver, som Tomcat, Orion eller Glassfish. I det här fallet utförs programlogiken inuti en Java Virtual Machine (JVM), som fungerar som runtime-miljö för programkoden.
Ett annat populärt verktyg är Oracle Fusion Middleware (OFM). Inom OFM kan programmet köras som Oracle Forms, Reports, Discoverer eller till och med Java via Oracle Containers for J2EE (OC4J). Oavsett produkt är det inom applikationsserverns komponent som applikationslogiken exekveras.
Under behandlingen på applikationsservern är det vanligt att det krävs databasåtkomst för att fråga, skapa, uppdatera eller radera data. Applikationsservern kommunicerar med databasservern via protokoll, till exempel JDBC eller Oracle Net, för att komma åt data. Under denna tid öppnas applikationsservern i databasen på uppdrag av användaren som gör ansökningsförfrågan.
I stället för att ansluta som en namngiven, distinkt användare som JSMITH, ansluts applikationsservern med ett generellt webbkonto (som WEB_USER). Flera samtidiga anslutningar från applikationsservern till databasen bildar en anslutningspool som tillåter vilken databasanslutning som helst för åtkomst till data för en förfrågan. Anslutningspooling är en prestationsförmån eftersom endast en del databasförbindelser kan betjäna tusentals förfrågningar på uppdrag av många användare.
När den logiska in i databasen instans, frågar den generiska webanvändaren eller kör DML på uppdrag av applikationsservern, som behandlar en faktisk användarförfrågan. Den anslutningspoolade webbanvändaren har inte scheman ägande i databasen; Det har bara de behörigheter som behövs för att få åtkomst till eller uppdatera data på programserverns vägnar.
Under den här tiden används normala databasroller, behörigheter och bidrag. Dessutom implementeras databasprogramlogik som implementeras i PL / SQL via procedurer, funktioner och paket ofta.
Efter att datasultatet har skapats på databas-tieret, skickas det tillbaka till applikationsservern för mer behandling. Därefter vidarebefordras resultaten via webbservern och över nätverket för presentation till användaren via webbläsaren.
Låter komplicerat med alla olika komponenter? Du kanske tänker så först, men det finns goda skäl att bryta systemet till webb-, applikations- och databaskomponenter:
-
Du kan använda komponenter från olika leverantörer i en "best of breed" -konfiguration. Till exempel kan du använda en gratis Apache webbserver instans kopplad med Tomcat eller Glassfish för en billig applikationsservern komponent. Koppla sedan det till makten i Oracle-databasen, och du har ett solidt system till lägre kostnader!
-
När fler användare kommer på nätet, kan du lägga till fler webb-, applikations- eller databasserverinstanser för att öka din processorkraft. Snarare än att köpa större servrar, bara köpa mindre servrar.
-
När du har en serie flera servrar, får du feltolerans. Detta kallas clustering. Om en webbserver kraschar eller applikationsservern behöver underhåll, inga problem - de redundanta servrarna hämtar arbetsbelastningen.
Förhoppningsvis visar dessa fördelar varför flera systemarkitekturer är branschstandarden och har överträffat klient-server-system.