Servere de aplicatii, tehnologia de rețea

Prezentarea logicii de aplicare într-un nivel separat, reprezintă dezvoltatorii mai mare flexibilitate în crearea sistemelor informatice distribuite. Cazarea și executarea programului de pe partea de server reduce cerințele hardware ale clienților și reduce problema interoperabilității într-un mediu de rețea eterogene.

server de aplicații - un program de serviciu care oferă un acces client la aplicațiile care rulează pe server. Serverul de aplicație este eliberat în mod obișnuit ca link-ul de mediu (figura 1.) într-o arhitectură client-server pe trei nivele (3-tier):

Model "server de aplicație"

  1. Primul nivel, interfata, de obicei, grafica (GUI).
  2. Nivelul mediu, codul executabil, de obicei, plasat pe un server dedicat.
  3. Al treilea nivel, fundalul - baza de date. Aceasta include moștenit accesul la date și gestionarea tranzacției.

Într-un mediu de rețea serverul de aplicație este un intermediar între clienți capătul frontal s și servere de baze de date.

  • funcționalitate dezbracata pentru partea de client a unei mai puțin solicitante;
  • pentru a sprijini noi dispozitive trebuie să fie adaptate numai front-end, fără a afecta logica de aplicare;
  • modificări ale programului (îmbunătățiri ale funcționalităților, remedieri de erori, și așa mai departe. n.) rula pe serverul de aplicații și se aplică tuturor clienților.

Clienții pot interacționa cu aplicații prin intermediul API-ul de server (Java-client <—> container servlet <—> servlet). O mai mare flexibilitate si versatilitate este interacțiune prin intermediul serviciilor terță parte, în primul rând - prin intermediul serverului web.

Conceptul de un server de aplicații este asociată în mod tradițional cu platforma Java, indicând faptul că serverul este aplicații bazate pe Java este punerea în aplicare a caietului de sarcini servlet, eventual sub formă de JSP, și chiar unele servicii de utilități, în special conexiunea bazei de date.

Dar este ceva mai mult și mai puțin în același timp: serverul de aplicație oferă un mediu în care aplicațiile pot rula, indiferent de modul în care și ceea ce fac.

  • Acesta oferă un model pentru aplicațiile de tip recipient.
  • Ofera servicii de întreținere pentru programele.
  • Asigură managementul aplicațiilor și / sau furnizează un mijloc pentru dezvoltarea lor.
  • În conformitate cu specificațiile și standardele industriale.
  • Arunca în serviciul de pagini web, datorită cererii reale de tehnologii bazate pe WWW.

punerea în aplicare

soluţii moștenite

Serverele terminale sunt de mediu pentru executarea de la distanță a programelor, care acționează ca sistemul de operare în sine. Acestea pot fi accesate printr-un protocol de la distanță de management (telnet, ssh, RDP, VNC și m. P.) Din software-ul client (emulator de terminal controlează spațiul de lucru la distanță etc.). Gestionați programul realizat de interfața cu utilizatorul client emulat (text sau grafic), sistem de operare care rulează. Pe partea de server interacțiunea cu software-ul sistemului de operare se realizează prin apeluri de sistem. De asemenea, este gestionat de sistemul de operare. Dezvoltarea poate fi realizată în orice limbă disponibilă în sistemul de operare.

Common Gateway Interface (CGI) - acces la tehnologie la aplicații printr-un server de web. Diferențele față de Terminal Server este faptul că interfața cu utilizatorul este furnizat sub formă de pagini web. clienților Cerere de web a avea acces la aplicația găzduit într-un director dedicat (de obicei, cgi sau cgi-bin) sunt redirecționate către intrarea lor prin intermediul fluxului standard de intrare (stdin). Rezultatele de execuție sub forma de aplicare hipertext returnează un server web prin intermediul stdout.

Servere aplicații bazate pe Java

Platforma Java este standardul industriei, vă permite să creați componente ale unificate soluții software interoperabile pentru o varietate de sisteme în care mașina virtuală Java poate fi pornit (JVM).

Conceptul container servlet permite ambele servere de aplicații universale și specializate (de exemplu, pentru servicii de telefonie mobilă).

Un exemplu de implementare a containerului servlet este Apache Tomcat, care este utilizat în astfel de aplicații servere ca Apache Geronimo, JBoss, GlassFish, IBM WebSphere Application Server (WS).

alte soluții

Microsoft introduce propriile soluții pentru a sprijini logica de afaceri și a infrastructurii de servicii bazate pe Windows Server și tehnologia .NET Framework. Instrumentul principal de dezvoltare este limbajul C #.

piton Limba, a devenit popular datorită în mare măsură la Google, acesta este un instrument de dezvoltare major pentru server de aplicatii web Zope.

Pentru limbaj de scripting PHP, un larg utilizat pentru a crea site-uri web, compania Zend Technologies (limba dezvoltator PHP în sine) a creat Zend server de aplicații server.

Servere de aplicatii: argumente pro și contra

avantaje

Integritatea codului și a datelor

Plasarea logica de afaceri pe un server dedicat sau un număr limitat de calculatoare server pentru a garanta accesul la software-ul actualizat și modernizate pentru toți clienții. Acest lucru elimină riscul de management al accesului și datele programelor învechite și, eventual, incompatibile.

Modificări în configurația de aplicare, cum ar fi, de exemplu, schimbarea serverul de baze de date este centralizat.

mijloace centralizate prin care furnizorul de servicii (furnizorul de servicii) pot controla accesul la date și componentele aplicației, permite autentificarea clienților potențial nesigure în stratul de mijloc și nu afectează nivelul bazei de date.

Serverul de aplicație poate face față provocărilor de trafic de rețea de echilibrare și de echilibrare a sarcinilor între servere alt sistem fizic.

Costul total de proprietate

Totalitatea avantajele de mai sus, în plus față de redistribuirea costurilor echipamentelor de la client la partea de server, poate duce la economii de costuri pentru organizație. Doar pe reducerea costului total de proprietate poate afecta software-ul practica de închiriere. În corectitudine trebuie remarcat faptul că costul software-ului de server, precum și costurile sale de punere în aplicare și de sprijin poate fi destul de mare.

deficiențe

Sistemele care se bazează pe serverul de aplicații, au un dezavantaj major inerent tuturor soluție centralizată - un „drop“ serverul va duce la indisponibilitatea programelor pentru toți clienții. Același efect va duce la defecțiuni și de conectare la rețea.

Această problemă, în principiu, relevante pentru orice soluții de rețea, este folosit pentru a transmite infrastructura de date a rețelelor publice.

articole similare