SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
1
Arquitectura Web
René Guamán-Quinche
Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables
Carrera de Ingeniería en Sistemas/Computación
Mayo, 2020
Loja, Ecuador
3
1. Arquitectura Cliente - Servidor
2. Modelo Distribuido
3. Arquitectura de 2 a 3 capas
4. Arquitectura de una aplicación web
Agenda
4
Arquitectura cliente - servidor

Las aplicaciones Web suelen tener una arquitectura cliente -
servidor

La arquitectura cliente – servidor es un modelo de aplicación
distribuida en el que las tareas se repartes entre los proveedores de
recursos o servicios, llamadas servidores y los demandantes de
los recursos llamados clientes
5
Arquitectura cliente - servidor

Las aplicaciones Web suelen tener una arquitectura
cliente - servidor

La capacidad de proceso está repartida en el cliente y el
servidor
6
Arquitectura cliente - servidor

La separación del cliente y el servidor es de tipo lógica:

El servidor no se ejecuta sobre una sola máquina ni tampoco es un
sólo programa

Las aplicaciones Web están distribuidas entre varios ordenadores a
través de una red de ordenadores
7
Arquitectura cliente - servidor

cliente se ejecuta en
navegador web

Servidor ejecuta el
servidor web

Ambos se comuican por el protocolo http
por medio de internet o intranet (redes
privadas)
8
Arquitectura cliente - servidor

Al inicio de la web, la capacidad de procesamiento del
cliente era nula porque simplemente mostraba las páginas
web que recibía del servidor web (web 1.0)

En 1995, el navegador Netscape introdujo el lenguaje
Javascript

Mayor capacidad de procesamiento

Validaciones de formularios

Cálculos
9
Arquitectura cliente - servidor

2005 apareció AJAX

Es una técnica de desarrollo web para crear aplicaciones
interactivas o RIA (Rich Internet Applications)

Estas aplicaciones se ejecutan en el cliente, en el
navegador de los usuarios mientras mantiene la
comunicación asíncrona con el servidor

De esta forma es posible realizar cambios sobre las
páginas sin necesidad de recargarlas, mejorando la
interactividad, velocidad y usabilidad en las aplicaciones
10
Modelo Distribuido
Modelos de distribución en aplicaciones cliente - servidor
Según como se distribuyan las tres funciones básicas de una
aplicación (presentación, negocio y datos) entre el cliente y el
servidor, podemos contemplar tres modelos:

presentación distribuida

aplicación distribuida

datos distribuidos
11
Modelo Distribuido
Aplicación Distribuida
12
Modelo Distribuido
Datos Distribuidos
13
1. Arquitectura Cliente - Servidor
2. Modelo Distribuido
3. Arquitectura a 2 a 3 capas
4. Práctica: Cabeceras http
Agenda
14
Arquitectura de 2 a 3 capas
A dos capas
La diferencia entre las arquitecturas de dos y tres niveles (o
capas) es en la forma de distribución de la aplicación entre el
cliente y el servidor
Arquitecturas a dos niveles se está haciendo referencia a una
aplicación donde el cliente mantiene la lógica de presentación,
de negocio, y de acceso a los datos, y el servidor únicamente
gestiona los datos
15
Arquitectura de 2 a 3 capas
A tres capas
La lógica de presentación, la lógica de negocio y la lógica
de datos están separadas, de tal forma que mientras la lógica
de presentación se ejecutará normalmente en la estación
cliente, la lógica de negocio y la de datos pueden estar
repartidas entre distintos servidores
En este tipo de arquitecturas suelen existir dos servidores: uno
contiene la lógica de negocio y otro la lógica de datos
16
Arquitectura de 2 a 3 capas
A tres capas
En este tipo de arquitecturas suelen existir dos servidores: uno
contiene la lógica de negocio y otro la lógica de datos
17
Arquitectura de 2 a 3 capas
Descripción de un sistema cliente - servidor
Una combinación de la parte cliente (front-end) que interactúa con el
usuario (hace de interfaz entre el usuario y el resto de la aplicación) y la
parte servidor (back-end) que interactúa con los recursos compartidos
(bases de datos, impresoras, módems)
La parte cliente y servidor tienen diferentes necesidades de recursos a la
hora de ejecutarse: velocidad de procesador, memoria, velocidad y
capacidad de los discos duros, dispositivos de entrada/salida, etc
18
Arquitectura de 2 a 3 capas
Descripción de un sistema cliente - servidor
El entorno suele ser heterogéneo. El hardware y sistema operativo del cliente
y el servidor suelen diferir. El cliente y el servidor se suelen comunicar a
través de una Application Program Interface (API) y Remote Procedure Call
(RPC) conocidas (por ejemplo, Open DataBase Connectivity (ODBC) para
acceder a bases de datos y Remove Method Interface (RMI)
19
Arquitectura de una aplicación web
1. Todo en un servidor:
Un único ordenador aloja el servicio de HTTP, la lógica de
negocio y la lógica de datos y los datos. El software que ofrece
el servicio de HTTP gestiona también la lógica de negocio. Las
tecnologías que emplean esta arquitectura son ASP y PHP.
20
Arquitectura de una aplicación web
2. Servidor de datos separado:
A partir de la arquitectura anterior, se separa la lógica de datos
y los datos a un servidor de bases de datos especíco.
Las tecnologías que emplean esta arquitectura son ASP y PHP.
21
Arquitectura de una aplicación web
3. Todo en un servidor, con servicio de aplicaciones:
En la arquitectura número 1 se se separa la lógica de negocio
del servicio de HTTP y se incluye el servicio de aplicaciones
para gestionar los procesos que implementan la lógica de
negocio. La tecnología que emplea esta arquitectura es JSP
22
Arquitectura de una aplicación web
4. Servidor de datos separado:
23
Arquitectura de una aplicación web
5. Todo separado:
Las tres funcionalidades básicas del servidor web se separan
en tres servidores específicos. La tecnología que emplea esta
arquitectura es JSP
24
Arquitectura de una aplicación web
Separado todo:
25
Arquitectura de una aplicación web
Separado todo:
El objetivo de separar las distintas funcionalidades (servicio de HTTP,
lógica de negocio y lógica de datos) en distintos servidores es aumentar
la escalabilidad del sistema de cara a obtener un mayor rendimiento.
26
Arquitectura de una aplicación web
Separado todo:
Por ejemplo, para ofrecer el servicio de HTTP hace falta un ordenador
con una buena conexión a Internet, rápido pero sin grandes
necesidades de almacenamiento. Sin embargo, para el servidor de
bases de datos hace falta un ordenador con mucha memoria y con un
disco duro de alta capacidad de almacenamiento y rápido para
mantener todos los datos.
Otra ventaja es que al aislar la lógica de negocio y la lógica de datos en
servidores separados que no están conectados directamente a Internet
se aumenta el nivel de seguridad, ya que no es tan fácil acceder a ellos
27
Arquitectura de una aplicación web
Separado todo:
28
Arquitectura de una aplicación web
Separado todo:
La comunicación entre la lógica de negocio y los
datos se suele realizar a través de métodos
estandarizados como ODBC, lo que introduce una
penalización en el tiempo de ejecución.
En este tipo de tecnologías, parte de la lógica de
negocio se puede desplazar hacia el servidor de
bases de datos al emplear procedimientos
almacenados (stored procedures) y disparadores
(triggers).
De este modo se puede lograr una cierta
escalabilidad en el sistema.
29
Arquitectura de una aplicación web
Separado todo:
30
Arquitectura de una aplicación web
Separado todo:
Por último, en la tecnología CSP, la lógica de
negocio y la lógica de datos residen en el sistema
gestor de bases de datos (es el encargado de
ejecutar los procesos que implementan la lógica de
negocio).
Gracias a ello, la comunicación entre los procesos
de la lógica de negocio y los datos es muy rápida,
ya entre ambos se puede establecer una
comunicación interproceso
31
Cŕeditos
• Transparencias basadas por:
• Sergio Lojan Mora, La web
Networking académico:
Correo electrónico: rguaman@unl.edu.ec
Twitter: @rene5254
SlideShare: https://es.slideshare.net/rene5254
32
Gracias

Weitere ähnliche Inhalte

Was ist angesagt?

Interprete vs compilador
Interprete vs compiladorInterprete vs compilador
Interprete vs compiladorElba Sepúlveda
 
Glosario de ing. de software
Glosario de ing. de softwareGlosario de ing. de software
Glosario de ing. de softwareGeorge Corona
 
Sistemas con interfaces a manipulación directa
Sistemas con interfaces a manipulación directaSistemas con interfaces a manipulación directa
Sistemas con interfaces a manipulación directaKike Salsalazar
 
Gestión de entrada salida
Gestión de entrada salida Gestión de entrada salida
Gestión de entrada salida eduardoed5
 
Maquinas de turing
Maquinas de turingMaquinas de turing
Maquinas de turingJesus David
 
Guía para la instalación de Microsoft Access 2010
Guía para la instalación de Microsoft Access 2010Guía para la instalación de Microsoft Access 2010
Guía para la instalación de Microsoft Access 2010Zantiago Thrash
 
Organizacion y arquitectura del computador (UNL marzo - julio 2013)
Organizacion y arquitectura del computador (UNL marzo - julio 2013)Organizacion y arquitectura del computador (UNL marzo - julio 2013)
Organizacion y arquitectura del computador (UNL marzo - julio 2013)Freddy Patricio Ajila Zaquinaula
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
2 3 6 Patron De DiseñO Estrategia (Strategy)
2 3 6 Patron De DiseñO Estrategia (Strategy)2 3 6 Patron De DiseñO Estrategia (Strategy)
2 3 6 Patron De DiseñO Estrategia (Strategy)UVM
 
Unidad 4 graficación
Unidad 4 graficaciónUnidad 4 graficación
Unidad 4 graficaciónAndhy H Palma
 
Configuracion y direccionamiento del router
Configuracion y direccionamiento del routerConfiguracion y direccionamiento del router
Configuracion y direccionamiento del routeryoes1053
 

Was ist angesagt? (20)

STP
STPSTP
STP
 
Ingeniería web_Unidad 3
Ingeniería web_Unidad 3Ingeniería web_Unidad 3
Ingeniería web_Unidad 3
 
Primefaces
PrimefacesPrimefaces
Primefaces
 
10 protocolos de enrutamiento
10 protocolos de enrutamiento10 protocolos de enrutamiento
10 protocolos de enrutamiento
 
Interprete vs compilador
Interprete vs compiladorInterprete vs compilador
Interprete vs compilador
 
Glosario de ing. de software
Glosario de ing. de softwareGlosario de ing. de software
Glosario de ing. de software
 
Sistemas con interfaces a manipulación directa
Sistemas con interfaces a manipulación directaSistemas con interfaces a manipulación directa
Sistemas con interfaces a manipulación directa
 
Diseño de interfaces
Diseño de interfacesDiseño de interfaces
Diseño de interfaces
 
Gestión de entrada salida
Gestión de entrada salida Gestión de entrada salida
Gestión de entrada salida
 
Razonamiento monotono
Razonamiento monotonoRazonamiento monotono
Razonamiento monotono
 
Maquinas de turing
Maquinas de turingMaquinas de turing
Maquinas de turing
 
Guía para la instalación de Microsoft Access 2010
Guía para la instalación de Microsoft Access 2010Guía para la instalación de Microsoft Access 2010
Guía para la instalación de Microsoft Access 2010
 
Organizacion y arquitectura del computador (UNL marzo - julio 2013)
Organizacion y arquitectura del computador (UNL marzo - julio 2013)Organizacion y arquitectura del computador (UNL marzo - julio 2013)
Organizacion y arquitectura del computador (UNL marzo - julio 2013)
 
analisis de aplicaciones web
analisis de aplicaciones webanalisis de aplicaciones web
analisis de aplicaciones web
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
2 3 6 Patron De DiseñO Estrategia (Strategy)
2 3 6 Patron De DiseñO Estrategia (Strategy)2 3 6 Patron De DiseñO Estrategia (Strategy)
2 3 6 Patron De DiseñO Estrategia (Strategy)
 
Computadores RISC
Computadores RISCComputadores RISC
Computadores RISC
 
Unidad 4 graficación
Unidad 4 graficaciónUnidad 4 graficación
Unidad 4 graficación
 
Configuracion y direccionamiento del router
Configuracion y direccionamiento del routerConfiguracion y direccionamiento del router
Configuracion y direccionamiento del router
 

Ähnlich wie Arquitectura web

Fresdes silvasalazar
Fresdes silvasalazarFresdes silvasalazar
Fresdes silvasalazarjulymci
 
Arquitecturasdesistemasdebasesdedatos.docx
Arquitecturasdesistemasdebasesdedatos.docxArquitecturasdesistemasdebasesdedatos.docx
Arquitecturasdesistemasdebasesdedatos.docxWilliam Martinez Perez
 
Arquitecturaclienteservidor
ArquitecturaclienteservidorArquitecturaclienteservidor
ArquitecturaclienteservidorFernando Solis
 
SISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOSSISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOSNatalia Perez
 
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.castlellanos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1mi casa
 
Arquitecturas de software
Arquitecturas de software Arquitecturas de software
Arquitecturas de software Anel Sosa
 
Sistemas cliente servidor
Sistemas cliente   servidorSistemas cliente   servidor
Sistemas cliente servidorJramos_95
 
Servidores informaticos, modelo cliente servdor
Servidores informaticos, modelo cliente servdor Servidores informaticos, modelo cliente servdor
Servidores informaticos, modelo cliente servdor Erivan Martinez Ovando
 
Clase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidorClase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidorGregorio Tkachuk
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 nivelesLupitha Mendoza
 

Ähnlich wie Arquitectura web (20)

Arquitectura cliente
Arquitectura cliente Arquitectura cliente
Arquitectura cliente
 
Fresdes silvasalazar
Fresdes silvasalazarFresdes silvasalazar
Fresdes silvasalazar
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Arquitectura Web
Arquitectura WebArquitectura Web
Arquitectura Web
 
Arquitecturasdesistemasdebasesdedatos.docx
Arquitecturasdesistemasdebasesdedatos.docxArquitecturasdesistemasdebasesdedatos.docx
Arquitecturasdesistemasdebasesdedatos.docx
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Arquitecturaclienteservidor
ArquitecturaclienteservidorArquitecturaclienteservidor
Arquitecturaclienteservidor
 
cliente servidor
cliente servidorcliente servidor
cliente servidor
 
SISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOSSISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOS
 
Ensayo Cliente Servidor
Ensayo Cliente ServidorEnsayo Cliente Servidor
Ensayo Cliente Servidor
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Arquitecturas de software
Arquitecturas de software Arquitecturas de software
Arquitecturas de software
 
Sistemas cliente servidor
Sistemas cliente   servidorSistemas cliente   servidor
Sistemas cliente servidor
 
Servidores informaticos, modelo cliente servdor
Servidores informaticos, modelo cliente servdor Servidores informaticos, modelo cliente servdor
Servidores informaticos, modelo cliente servdor
 
Clase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidorClase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidor
 
Base expo
Base expoBase expo
Base expo
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 niveles
 

Mehr von Rene Guaman-Quinche

Paradigma Programación Orientada a Objetos
Paradigma Programación Orientada a ObjetosParadigma Programación Orientada a Objetos
Paradigma Programación Orientada a ObjetosRene Guaman-Quinche
 
Fundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdfFundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdfRene Guaman-Quinche
 
Arquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdfArquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdfRene Guaman-Quinche
 
Introducción a los sistemas distribuidos
Introducción a los sistemas distribuidosIntroducción a los sistemas distribuidos
Introducción a los sistemas distribuidosRene Guaman-Quinche
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de SoftwareRene Guaman-Quinche
 
Sistema de Archivos Distribuidos
Sistema de Archivos DistribuidosSistema de Archivos Distribuidos
Sistema de Archivos DistribuidosRene Guaman-Quinche
 
Unidad 2 diseño orientado a objetos
Unidad 2 diseño orientado a objetosUnidad 2 diseño orientado a objetos
Unidad 2 diseño orientado a objetosRene Guaman-Quinche
 
Tiempo, causalidad y estado global
Tiempo, causalidad y estado globalTiempo, causalidad y estado global
Tiempo, causalidad y estado globalRene Guaman-Quinche
 
Tiempo, causalidad y estado global Alberto Lafuente Teorìa
Tiempo, causalidad y estado global Alberto Lafuente TeorìaTiempo, causalidad y estado global Alberto Lafuente Teorìa
Tiempo, causalidad y estado global Alberto Lafuente TeorìaRene Guaman-Quinche
 
Tiempo, causalidad y estado global Alberto Lafuente Transparencias
Tiempo, causalidad y estado global Alberto Lafuente TransparenciasTiempo, causalidad y estado global Alberto Lafuente Transparencias
Tiempo, causalidad y estado global Alberto Lafuente TransparenciasRene Guaman-Quinche
 
Comunicacion intra procesos con socket
Comunicacion intra procesos con socketComunicacion intra procesos con socket
Comunicacion intra procesos con socketRene Guaman-Quinche
 

Mehr von Rene Guaman-Quinche (20)

interfaces.pdf
interfaces.pdfinterfaces.pdf
interfaces.pdf
 
Paradigma Programación Orientada a Objetos
Paradigma Programación Orientada a ObjetosParadigma Programación Orientada a Objetos
Paradigma Programación Orientada a Objetos
 
Fundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdfFundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdf
 
replicacion heterogenea.pdf
replicacion heterogenea.pdfreplicacion heterogenea.pdf
replicacion heterogenea.pdf
 
Elicitación de requerimientos
Elicitación de requerimientosElicitación de requerimientos
Elicitación de requerimientos
 
Arquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdfArquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdf
 
Hilos con Posix
Hilos con PosixHilos con Posix
Hilos con Posix
 
Introducción a los sistemas distribuidos
Introducción a los sistemas distribuidosIntroducción a los sistemas distribuidos
Introducción a los sistemas distribuidos
 
Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
Diagramas de secuencia
Diagramas de secuenciaDiagramas de secuencia
Diagramas de secuencia
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
 
Sistema de Archivos Distribuidos
Sistema de Archivos DistribuidosSistema de Archivos Distribuidos
Sistema de Archivos Distribuidos
 
RPC
RPCRPC
RPC
 
Unidad 2 diseño orientado a objetos
Unidad 2 diseño orientado a objetosUnidad 2 diseño orientado a objetos
Unidad 2 diseño orientado a objetos
 
Tiempo, causalidad y estado global
Tiempo, causalidad y estado globalTiempo, causalidad y estado global
Tiempo, causalidad y estado global
 
Tiempo, causalidad y estado global Alberto Lafuente Teorìa
Tiempo, causalidad y estado global Alberto Lafuente TeorìaTiempo, causalidad y estado global Alberto Lafuente Teorìa
Tiempo, causalidad y estado global Alberto Lafuente Teorìa
 
Tiempo, causalidad y estado global Alberto Lafuente Transparencias
Tiempo, causalidad y estado global Alberto Lafuente TransparenciasTiempo, causalidad y estado global Alberto Lafuente Transparencias
Tiempo, causalidad y estado global Alberto Lafuente Transparencias
 
Ciclo de vida software
Ciclo de vida softwareCiclo de vida software
Ciclo de vida software
 
Comunicacion intra procesos con socket
Comunicacion intra procesos con socketComunicacion intra procesos con socket
Comunicacion intra procesos con socket
 
Modelo paso de mensajes
Modelo paso de mensajesModelo paso de mensajes
Modelo paso de mensajes
 

Arquitectura web

  • 1. 1
  • 2. Arquitectura Web René Guamán-Quinche Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables Carrera de Ingeniería en Sistemas/Computación Mayo, 2020 Loja, Ecuador
  • 3. 3 1. Arquitectura Cliente - Servidor 2. Modelo Distribuido 3. Arquitectura de 2 a 3 capas 4. Arquitectura de una aplicación web Agenda
  • 4. 4 Arquitectura cliente - servidor  Las aplicaciones Web suelen tener una arquitectura cliente - servidor  La arquitectura cliente – servidor es un modelo de aplicación distribuida en el que las tareas se repartes entre los proveedores de recursos o servicios, llamadas servidores y los demandantes de los recursos llamados clientes
  • 5. 5 Arquitectura cliente - servidor  Las aplicaciones Web suelen tener una arquitectura cliente - servidor  La capacidad de proceso está repartida en el cliente y el servidor
  • 6. 6 Arquitectura cliente - servidor  La separación del cliente y el servidor es de tipo lógica:  El servidor no se ejecuta sobre una sola máquina ni tampoco es un sólo programa  Las aplicaciones Web están distribuidas entre varios ordenadores a través de una red de ordenadores
  • 7. 7 Arquitectura cliente - servidor  cliente se ejecuta en navegador web  Servidor ejecuta el servidor web  Ambos se comuican por el protocolo http por medio de internet o intranet (redes privadas)
  • 8. 8 Arquitectura cliente - servidor  Al inicio de la web, la capacidad de procesamiento del cliente era nula porque simplemente mostraba las páginas web que recibía del servidor web (web 1.0)  En 1995, el navegador Netscape introdujo el lenguaje Javascript  Mayor capacidad de procesamiento  Validaciones de formularios  Cálculos
  • 9. 9 Arquitectura cliente - servidor  2005 apareció AJAX  Es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications)  Estas aplicaciones se ejecutan en el cliente, en el navegador de los usuarios mientras mantiene la comunicación asíncrona con el servidor  De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, mejorando la interactividad, velocidad y usabilidad en las aplicaciones
  • 10. 10 Modelo Distribuido Modelos de distribución en aplicaciones cliente - servidor Según como se distribuyan las tres funciones básicas de una aplicación (presentación, negocio y datos) entre el cliente y el servidor, podemos contemplar tres modelos:  presentación distribuida  aplicación distribuida  datos distribuidos
  • 13. 13 1. Arquitectura Cliente - Servidor 2. Modelo Distribuido 3. Arquitectura a 2 a 3 capas 4. Práctica: Cabeceras http Agenda
  • 14. 14 Arquitectura de 2 a 3 capas A dos capas La diferencia entre las arquitecturas de dos y tres niveles (o capas) es en la forma de distribución de la aplicación entre el cliente y el servidor Arquitecturas a dos niveles se está haciendo referencia a una aplicación donde el cliente mantiene la lógica de presentación, de negocio, y de acceso a los datos, y el servidor únicamente gestiona los datos
  • 15. 15 Arquitectura de 2 a 3 capas A tres capas La lógica de presentación, la lógica de negocio y la lógica de datos están separadas, de tal forma que mientras la lógica de presentación se ejecutará normalmente en la estación cliente, la lógica de negocio y la de datos pueden estar repartidas entre distintos servidores En este tipo de arquitecturas suelen existir dos servidores: uno contiene la lógica de negocio y otro la lógica de datos
  • 16. 16 Arquitectura de 2 a 3 capas A tres capas En este tipo de arquitecturas suelen existir dos servidores: uno contiene la lógica de negocio y otro la lógica de datos
  • 17. 17 Arquitectura de 2 a 3 capas Descripción de un sistema cliente - servidor Una combinación de la parte cliente (front-end) que interactúa con el usuario (hace de interfaz entre el usuario y el resto de la aplicación) y la parte servidor (back-end) que interactúa con los recursos compartidos (bases de datos, impresoras, módems) La parte cliente y servidor tienen diferentes necesidades de recursos a la hora de ejecutarse: velocidad de procesador, memoria, velocidad y capacidad de los discos duros, dispositivos de entrada/salida, etc
  • 18. 18 Arquitectura de 2 a 3 capas Descripción de un sistema cliente - servidor El entorno suele ser heterogéneo. El hardware y sistema operativo del cliente y el servidor suelen diferir. El cliente y el servidor se suelen comunicar a través de una Application Program Interface (API) y Remote Procedure Call (RPC) conocidas (por ejemplo, Open DataBase Connectivity (ODBC) para acceder a bases de datos y Remove Method Interface (RMI)
  • 19. 19 Arquitectura de una aplicación web 1. Todo en un servidor: Un único ordenador aloja el servicio de HTTP, la lógica de negocio y la lógica de datos y los datos. El software que ofrece el servicio de HTTP gestiona también la lógica de negocio. Las tecnologías que emplean esta arquitectura son ASP y PHP.
  • 20. 20 Arquitectura de una aplicación web 2. Servidor de datos separado: A partir de la arquitectura anterior, se separa la lógica de datos y los datos a un servidor de bases de datos especíco. Las tecnologías que emplean esta arquitectura son ASP y PHP.
  • 21. 21 Arquitectura de una aplicación web 3. Todo en un servidor, con servicio de aplicaciones: En la arquitectura número 1 se se separa la lógica de negocio del servicio de HTTP y se incluye el servicio de aplicaciones para gestionar los procesos que implementan la lógica de negocio. La tecnología que emplea esta arquitectura es JSP
  • 22. 22 Arquitectura de una aplicación web 4. Servidor de datos separado:
  • 23. 23 Arquitectura de una aplicación web 5. Todo separado: Las tres funcionalidades básicas del servidor web se separan en tres servidores específicos. La tecnología que emplea esta arquitectura es JSP
  • 24. 24 Arquitectura de una aplicación web Separado todo:
  • 25. 25 Arquitectura de una aplicación web Separado todo: El objetivo de separar las distintas funcionalidades (servicio de HTTP, lógica de negocio y lógica de datos) en distintos servidores es aumentar la escalabilidad del sistema de cara a obtener un mayor rendimiento.
  • 26. 26 Arquitectura de una aplicación web Separado todo: Por ejemplo, para ofrecer el servicio de HTTP hace falta un ordenador con una buena conexión a Internet, rápido pero sin grandes necesidades de almacenamiento. Sin embargo, para el servidor de bases de datos hace falta un ordenador con mucha memoria y con un disco duro de alta capacidad de almacenamiento y rápido para mantener todos los datos. Otra ventaja es que al aislar la lógica de negocio y la lógica de datos en servidores separados que no están conectados directamente a Internet se aumenta el nivel de seguridad, ya que no es tan fácil acceder a ellos
  • 27. 27 Arquitectura de una aplicación web Separado todo:
  • 28. 28 Arquitectura de una aplicación web Separado todo: La comunicación entre la lógica de negocio y los datos se suele realizar a través de métodos estandarizados como ODBC, lo que introduce una penalización en el tiempo de ejecución. En este tipo de tecnologías, parte de la lógica de negocio se puede desplazar hacia el servidor de bases de datos al emplear procedimientos almacenados (stored procedures) y disparadores (triggers). De este modo se puede lograr una cierta escalabilidad en el sistema.
  • 29. 29 Arquitectura de una aplicación web Separado todo:
  • 30. 30 Arquitectura de una aplicación web Separado todo: Por último, en la tecnología CSP, la lógica de negocio y la lógica de datos residen en el sistema gestor de bases de datos (es el encargado de ejecutar los procesos que implementan la lógica de negocio). Gracias a ello, la comunicación entre los procesos de la lógica de negocio y los datos es muy rápida, ya entre ambos se puede establecer una comunicación interproceso
  • 31. 31 Cŕeditos • Transparencias basadas por: • Sergio Lojan Mora, La web
  • 32. Networking académico: Correo electrónico: rguaman@unl.edu.ec Twitter: @rene5254 SlideShare: https://es.slideshare.net/rene5254 32 Gracias