Professional Documents
Culture Documents
NF1 A1.1 - Arquitectura de Programacio en Entorn Client
NF1 A1.1 - Arquitectura de Programacio en Entorn Client
Índice de contenido
1.Introducció: definició aplicació web..................................................................2
2.Nivells d’arquitectures d’una aplicació web......................................................2
2.1.Arquitectura clàssica......................................................................................2
2.2.Arquitectura tres nivells.................................................................................3
2.3.Altres opcions arquitectòniques.....................................................................4
a)Arquitectura quatre nivells................................................................................4
b)Arquitectura hexagonal.....................................................................................5
3.Tipus de clients segons lògica de negoci.........................................................6
4.Tipus llenguatges en entorn client....................................................................7
4.1.JavaScript......................................................................................................7
5.Per saber-ne més.............................................................................................8
Pàgina 1 de 8
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Però l'important és que als usuaris se'ls ofereix la possibilitat d'actuar sobre la lògica
de negoci. Per exemple, en el cas anterior, l'usuari pot enregistrar-se amb el que es crea un
perfil personalitzat, es fa un seguiment de les seves compres al llarg d'una sessió (cistella de la
compra) però també a través de sessions (perfil de comprador), amb les seves accions es
modifiquen estocs, etc .,...
A mesura que la sofisticació dels serveis oferts via web ha anat augmentant, s'ha anat
afegint, almenys a nivell lògic i no necessàriament a nivell físic, nous elements en la
arquitectura de les aplicacions web (per exemple el servidor d'aplicacions, bases de dades,...).
Les noves disposicions d'elements s'han basat en patrons arquitectònics del context de les
aplicacions distribuïdes.
Pàgina 2 de 8
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
- La xarxa pateix una gran càrrega a causa de les múltiples descàrregues de cadascun
dels clients.
Les arquitectura en tres nivells divideix la funcionalitat per optimitzar l'ús de recursos.
Es aconsegueixen solucions molt més flexibles i escalables. Els tres nivells són:
- Client: conté els components d'usuari que són únics per a cada un d'ells. Això és la
lògica d'aplicació específica de l'usuari i la interfície.
Pàgina 3 de 8
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
En mantenir bona part del codi en el nivell intermedi, l'aplicació s'aïlla de la interfície de
usuari i de la base de dades. Per tant, es poden fer canvis en el codi en el nivell de aplicació
sense que això afecti a la resta. A més, les dades estan centralitzats i fàcilment accessibles
sense necessitat de moure'ls completament fins al client.
Aquest model s'utilitza àmpliament en l'entorn web. S'incorpora la figura del servidor de
aplicacions que permet que el sistema gestioni la lògica de negoci i l'estat. Com que és una
aplicació Web, la interfície amb el client segueix sent bàsicament HTTP i per tant el servidor
d'aplicacions incorpora un servidor web o utilitza un d'extern. La divisió de l'aplicació en nivells
suposa la necessitat d'establir interfícies entre elles. Si a més es vol construir una arquitectura
independent dels fabricants la millor opció és utilitzar elements que implementin interfícies
estàndard.
Per a la interfície entre el servidor d'aplicacions i la base de dades les opcions són
múltiples, depenent del llenguatge de programació (Java, C, PHP, VisualBasic ,...), el tipus de
base de dades (Relacional, XML ,...), la base de dades concreta (MySQL, Oracle, existeix ,...),
etc. En qualsevol cas amb cada configuració ha més d'una opció i el normal és plantejar
l'elecció després de definir la BD o el llenguatge de programació a utilitzar.
Pel que fa a la interfície entre el client i el servidor d'aplicacions, l'opció bàsica segueix
sent HTTP. Hi ha altres opcions que permeten un major grau d'interactivitat entre el codi en el
client i al servidor. Aquestes opcions permeten definir tres arquitectures de client Web.
Partint del model en tres nivells, s'han definit arquitectures derivades d'aquest patró.
L'arquitectura en quatre nivells va néixer com una evolució de la de tres per a aplicacions amb
interfícies d'usuari complexes. Per a això integra el patró de disseny MVC (Model-Vista-
Controlador).
Els patrons de disseny s'apliquen sobre un nivell de granularitat més petit que els
arquitectònics, sobre conjunts de classes. El patró de disseny MVC defineix conjunts de
classes anomenades models, vistes i controladors respectivament:
- Model: les classes de tipus model representen els objectes del domini de l'aplicació.
Exemple: producte, usuari, cistella de la compra, ...
Pàgina 4 de 8
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
- Controlador: les de tipus controlador gestionen els canvis del model en resposta a
les accions dels actors. Exemple: afegir producte a la cistella de la compra, ...
- Vista: conté els elements d'interfície que presenten la informació. S'associen a les
vistes del patró MVC, encara que aquest nivell també pot incloure elements de tipus
controlador senzills. Quan s'aplica a l'entorn web es tracta de pàgines HTML (possiblement
amb scripts), JSP, ASP, ...
- Domini: són els objectes que modelen el domini de l'aplicació. Parlant del context
web són EJBs (Enterprise JavaBeans) o simples classes Java, C ++,...
b) Arquitectura hexagonal.
En aquesta arquitectura no es defineix una part frontal cap a l'usuari (front-end) i una
part posterior (back-end) com en els patrons arquitectònics anteriors. Per contra, es considera
que la aplicació es troba situada al centre i que interacciona amb la resta a través d'una sèrie
de transformadors que adapten els missatges de l'aplicació a l'element amb el qual es
interacciona en cada cas. Aquests elements poden ser terminals d'usuari, llistats, bases de
dades, altres aplicacions...
Pàgina 5 de 8
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Aquesta arquitectura s'adapta molt bé a les solucions basades en l'ús de XML, que
proporciona un format comú d'interacció de l'aplicació amb l'exterior, i XSL, que facilita la
implementació dels transformadors.
Pàgina 6 de 8
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
L'elecció de l'arquitectura de client Web s'ha de fer tenint en compte els aspectes de
risc per al rendiment comentats per al problema del "Client Pesat". La capacitat de la xarxa
d'absorbir la transferència de dades cap al client i la configuració del maquinari també del
client.
4.1. JavaScript.
JavaScript és un llenguatge de programació interpretat, basat amb l'estàndard
ECMAScript. Es defineix com orientat a objectes, basat en prototips i dinàmic.
JavaScript es va dissenyar amb una sintaxi similar al C, encara que adopta noms i
convencions del llenguatge de programació Java. No obstant això Java i JavaScript no estan
relacionats i tenen semàntiques i propòsits diferents.
Tots els navegadors moderns interpreten el codi JavaScript integrat en les pàgines
web. Per interactuar amb una pàgina web es proveeix al llenguatge JavaScript d'una
implementació del Document Object Model (DOM).
Pàgina 7 de 8
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Microsoft va donar com a nom al seu dialecte Javascript «JScript», per evitar
problemes relacionades amb la marca. JScript va ser adoptat en la versió 3.0 d'Internet
Explorer, alliberat l'agost de 1996, i va incloure compatibilitat amb l'Efecte 2000 amb les
funcions de data, una diferència dels que es basaven en aquest moment. Els dialectes poden
semblar tan similars que els termes «JavaScript» i «JScript» sovint s'utilitzen indistintament,
però l'especificació de JScript és incompatible amb la de ECMA en molts aspectes.
El 1997 els autors van proposar JavaScript perquè fos adoptat com a estàndard de
l'European Computer Manufacturers 'Association ECMA, que malgrat el seu nom no és
europeu sinó internacional, amb seu a Ginebra. El juny de 1997 va ser adoptat com un
estàndard ECMA, amb el nom de ECMAScript. Poc després també com un estàndard ISO.
Pàgina 8 de 8