Salta el contingut

MP08 - UF1: Servidors web i de transferència de fitxers

Arquitectura web

Arquitectura web

Un exemple de com funciona

Per entendre millor, mirem el següent exemple:

Trobeu un nou lloc web fantàstic i voleu crear un compte, així que decidiu fer clic al botó Registrar-se. A continuació, se us redirigirà a una pàgina on trobareu un formulari que us demana que introduïu la vostra informació. Un cop hàgiu acabat d'omplir el formulari, se us redirigirà a la secció de perfil i ja podreu utilitzar l'aplicació.

En aquest exemple, el formulari d'inscripció es troba al costat del client, on es recullen les dades de l'usuari i que sovint anoemenem fontend. D'altra banda, totes les accions que s'estan produint entre bastidors com afegir l'usuari a la base de dades, comprovar si el correu electrònic és únic i vàlid, redirigir l'usuari a diferents pàgines, etc., són el backend de la nostra aplicació web.

Definició d'arquitectura web

L'arquitectura web és l'estructura conceptual de la World Wide Web. La WWW o internet és un mitjà en constant canvi que permet la comunicació entre diferents usuaris i la interacció tècnica (interoperabilitat) entre diferents sistemes i subsistemes. La base d'això són diferents components i formats de dades, que normalment s'organitzen en nivells i es basen els uns als altres. En general, formen la infraestructura d'Internet, que és possible gràcies als tres components bàsics: els protocols de transmissió de dades (TCP/IP, HTTP, HTTPS), formats de representació (HTML, CSS, XML) i estàndards d'adreçament (URI, URL). El terme arquitectura web s'ha de distingir dels termes arquitectura web i arquitectura de la informació.

Origen de l'arquitectura web

La World Wide Web és un concepte que es va realitzar a la dècada de 1990 perquè persones i màquines poguessin comunicar-se entre elles dins d'un espai determinat. S'utilitza per intercanviar, distribuir i compartir informació en una xarxa. En aquella època, la web consistia principalment en llocs web estàtics basats en HTML , és a dir, hipertextos que es poden recuperar amb un navegador. Més tard es van afegir llocs web dinàmics i serveis web distribuïts.

Tendències en l'arquitectura d'aplicacions web

Les dues arquitectures d'aplicacions web més populars són la representació del costat del servidor (SSR) i la representació del costat del client (CSR).

El Javascript actual ha canviat dràsticament l'estructura dels llocs web moderns i l'experiència de l'usuari. Els llocs web actuals es creen més com una aplicació que pretén ser un lloc web capaç d'enviar correus electrònics, notificacions, xat, comprar, pagaments, etc. Els llocs web actuals són molt avançats i interactius; però abans, els llocs web i les aplicacions web tenien una estratègia comuna, preparar contingut HTML per enviar-lo als navegadors del costat del servidor. Aquest contingut es representa com a HTML amb estil CSS al navegador.

Tradicionalment, el navegador rep el codi HTML del servidor i el representa. Quan l'usuari navega a una altra URL, es requereix una actualització de pàgina completa i el servidor envia un HTML nou per a la pàgina nova. Això s'anomena renderització del costat del servidor (SSR).

Avui dia, els llocs web són més que pàgines estàtiques. La caiguda de la SSR es va produir quan els llocs web permetien a l'usuari realitzar accions i rebre una resposta per la seva acció. És per això que els desenvolupadors canvien el mètode per representar les pàgines web al costat del client (CSR).

Representació del costat del servidor:

Quan visiteu un lloc web fent clic a una URL, s'envia una sol·licitud al servidor. Després de processar la sol·licitud, i en cas necessari accedir a la base de dades, el servidor envia al navegador client els fitxers (HTML, CSS i JavaScript) i el contingut de la pàgina i després el navegador client el representa. Si l'usuari decideix anar a una altra pàgina del lloc web, es farà una altra sol·licitud.

Representació del costat del client:

La principal diferència entre la representació del costat del servidor i la representació del costat del client és que un cop visiteu un lloc web que utilitza CSR, només es farà una sol·licitud al servidor per carregar l'esquelet principal de l'aplicació. Aleshores, el contingut es genera dinàmicament mitjançant JavaScript.

Cadascuna d'aquestes tendències té pros i contres; aquí hi ha una comparació detallada:

Renderització del costat del servidor Renderització del costat del client
Avantatges Els llocs web són fàcils de rastrejar, cosa que significa un millor SEO (optimització del motor de cerca)
La càrrega inicial de la pàgina és més ràpida.
Ideal per a llocs estàtics on no teniu contingut dinàmic
Interaccions riques del lloc
Després de la càrrega inicial, el lloc web és molt ràpid
Ideal per a aplicacions web.
Inconvenients Sol·licituds freqüents del servidor.
La pàgina es renderitza lentament
Recàrregues de pàgina sencera.
Interaccions bàsiques del lloc.
SEO baix si no s'implementa correctament.
La càrrega inicial pot ser massa lenta
En la majoria dels casos, requereix una biblioteca externa.

Tipus d'arquitectures web

Internet és un mitjà que està en constant canvi i ampliació per nombrosos desenvolupadors, programadors i diversos consorcis com el W3C.

Tanmateix, les arquitectures utilitzades es poden distingir esquemàticament.

Model client-servidor

Inicialment, la web constava d'una arquitectura de dos nivells: clients i servidors . Els clients i els servidors compartien les tasques i serveis que el sistema havia de realitzar. Per exemple, el client pot sol·licitar un servei al servidor; el servidor respon a la sol·licitud proporcionant el servei. Recuperar un lloc web mitjançant una adreça URL que dirigeix ​​a un servidor per carregar el lloc al navegador del client és un exemple del model de dues capes, també conegut com a model client-servidor.

La família de protocols d'Internet, que ara consta d'uns 500 protocols de xarxa diferents, s'utilitza habitualment com a base per a la WWW, però normalment inclou el model de referència TCP/TCP/IP. Hi ha d'haver tres requisits previs a l'arquitectura web perquè els sistemes d'aplicacions distribuïdes es comuniquin entre ells:

  • Formats de representació amb un estàndard fix: Els formats més utilitzats són HTML i CSS ; o XML i JSON quan les màquines es comuniquen entre elles.

  • Protocols per a la transferència de dades: HTTP (Hypertext Transfer Protocol) o HTTPS (Hypertext Transfer Protocol Secure) s'utilitzen a la web. Altres aplicacions, com ara servidors de correu, utilitzen SMTP (Simple Mail Transfer Protocol) o POP (Post Office Protocol) o IMAP (Internet Message Access Protocol). La determinació dels protocols utilitzats depèn de l'aplicació.

  • L'estàndard d'adreçament: es refereix a l'URL (Uniform Resource Locator) que és una instància del concepte més general d' URI .

Finalment, l'arquitectura web és anàloga a l'estructura operativa dels sistemes d'aplicacions per a l'emmagatzematge, transmissió i presentació de dades. Quan es transfereix al web, l'arquitectura web normalment consisteix en servidors de bases de dades que gestionen les dades i els recursos. Es comuniquen amb un client mitjançant un protocol de transferència que pot recuperar les dades i visualitzar-les en un navegador. La representació es fa normalment amb HTML i CSS.

Model de tres nivells

Els models de tres nivells inclouen una lògica d'aplicació entre el client i el servidor, que gestiona el processament de dades i permet un cert grau d'interacció. Per exemple, un servidor d'aplicacions pot processar dades mentre que un servidor de bases de dades es dedica únicament a l'emmagatzematge de dades. D'aquesta manera, el contingut es pot carregar i desar de manera dinàmica. El llenguatge de script JavaScript és sovint responsable del comportament del client.

En general, es fa una distinció entre el processament de dades del costat del servidor i del costat del client. Els llocs web dinàmics es caracteritzen pel fet que el contingut es canvia al costat del client sense que es requereixi una nova comunicació entre el servidor i el client. L'acció al costat del client està influenciada pels scripts, de manera que no cal cap transferència de dades asíncrona. Al costat del servidor, el contingut modificat s'emmagatzema mitjançant el servidor d'aplicacions al servidor de bases de dades. Opcionalment, aquest pot ser un servidor virtual que emuli un de físic.

Hi ha diferents llenguatges de programació i marcs per implementar models de tres nivells. Una selecció:

  • Preprocessador d'hipertext ( PHP )
  • Interfície de passarel·la comuna (CGI)
  • Pàgines JavaServer ( JSP )
  • Pàgines de servidor actiu ( ASP.NET )
  • JavaScript asíncron i XML ( AJAX )
  • Microsoft Silverlight
  • Notació d'objectes JavaScript (JSON)
  • Applets de Java, JavaScript i VBScript (tecnologies del costat del client)

Arquitecturas orientades a serveis (SOA)

Avui la web s'utilitza per a la xarxa d'estructures de TI distribuïdes globalment. Cada sistema informàtic pot constar, al seu torn, de subseccions els components individuals de les quals estan vinculats entre si mitjançant una estructura o arquitectura fixa. Penseu en intranet i programari intern d'empresa. Les aplicacions informàtiques i web modernes són molt més complexes que el model client-servidor. Els serveis web distribuïts, que es configuren com a arquitectures orientades a serveis (SOA), ofereixen moltes funcions i unitats funcionals modulars, que es poden complementar. Amb els SOA, els processos empresarials poden ser automatitzats pels sistemes implicats comunicant-se entre ells, en part sense intervenció humana, i realitzant determinades tasques. Alguns exemples inclouen la banca en línia, el comerç electrònic, aprenentatge electrònic, mercats en línia i aplicacions d'intel·ligència empresarial. Aquestes arquitectures no només són molt més complexes sinó que també es poden ampliar de forma modular. Es coneixen com a arquitectures N-tier i fins ara s'han utilitzat principalment en el sector empresarial.

En general, hi ha dos enfocaments:

  • Llenguatge de descripció de serveis web (WSDL) i protocol d'accés a objectes simples (SOAP): WSDL és un metallenguatge per descriure serveis de xarxa basats en XML, que permet que un servei web interpreti i executi tasques específiques. Es pot definir una interfície per a un servei web amb WSDL. SOAP també es basa en XML i permet el control de serveis web en forma de trucades de procediment, que es realitzen amb el protocol RPC (remote procedure call). SOAP, WSDL i XML Schema s'utilitzen sovint junts. Resumint podem dir que SOAP és un protocol per intercanviar missatges entre sistemes i WSDL és un llenguatge per descriure les interfícies dels serveis web. Els missatges SOAP utilitzen diversos protocols i WSDL pot descriure els protocols d'un servei web.

  • Transferència d'estat de representació (REST): REST és un enfocament similar que s'utilitza per comunicar-se entre màquines en sistemes distribuïts. Es basa en una arquitectura client-servidor, però es caracteritza sobretot per la seva interfície uniforme que fa que REST sigui fàcil d'utilitzar amb diferents recursos o objectes. Amb el concepte Hypermedia com a motor d'estat de l'aplicació (HATEOAS), també és possible canviar les interfícies durant el funcionament, en lloc d'haver de redefinir-les com passa amb WSDL.

L'Internet de les coses o la web semàntica es pot considerar una àrea de recerca actual en aquest context. Si l'arquitectura web es representés com una línia de temps evolutiva, IoT i la web semàntica serien la part superior del desenvolupament. Les arquitectures que s'hi fan servir són en conseqüència complexes.

Arquitectura web

Extret de ...