SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Diagrama de actividades inscripcion, evaluacion, Asistencia
Diagrama de actividades inscripcion, evaluacion, AsistenciaDiagrama de actividades inscripcion, evaluacion, Asistencia
Diagrama de actividades inscripcion, evaluacion, AsistenciaRobert Rodriguez
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosJosé Antonio Sandoval Acosta
 
Indagación de los requerimientos
Indagación de los requerimientosIndagación de los requerimientos
Indagación de los requerimientosUCATEBA
 
Análisis de la importancia del uso de metodologías de desarrollo y métricas d...
Análisis de la importancia del uso de metodologías de desarrollo y métricas d...Análisis de la importancia del uso de metodologías de desarrollo y métricas d...
Análisis de la importancia del uso de metodologías de desarrollo y métricas d...Joan Fernando Chipia Lobo
 
Elicitacion de requerimientos
Elicitacion de requerimientosElicitacion de requerimientos
Elicitacion de requerimientosTensor
 
Planeacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwarePlaneacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwareTtomas Carvajal
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rupmireya2022
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Planificacion De Proyectos De Software
Planificacion De Proyectos De SoftwarePlanificacion De Proyectos De Software
Planificacion De Proyectos De SoftwareIván Sanchez Vera
 
Metodologia rad luis c
Metodologia rad luis cMetodologia rad luis c
Metodologia rad luis cLuis Cambal
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capasEsbeyiz
 
Metodologia web
Metodologia webMetodologia web
Metodologia webAnel Sosa
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareJennifer Andrea Cano Guevara
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2David Motta Baldarrago
 

La actualidad más candente (20)

Diagrama de actividades inscripcion, evaluacion, Asistencia
Diagrama de actividades inscripcion, evaluacion, AsistenciaDiagrama de actividades inscripcion, evaluacion, Asistencia
Diagrama de actividades inscripcion, evaluacion, Asistencia
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Indagación de los requerimientos
Indagación de los requerimientosIndagación de los requerimientos
Indagación de los requerimientos
 
Análisis de la importancia del uso de metodologías de desarrollo y métricas d...
Análisis de la importancia del uso de metodologías de desarrollo y métricas d...Análisis de la importancia del uso de metodologías de desarrollo y métricas d...
Análisis de la importancia del uso de metodologías de desarrollo y métricas d...
 
Elicitacion de requerimientos
Elicitacion de requerimientosElicitacion de requerimientos
Elicitacion de requerimientos
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Planeacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwarePlaneacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de software
 
Preguntas del examen
Preguntas del examenPreguntas del examen
Preguntas del examen
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Planificacion De Proyectos De Software
Planificacion De Proyectos De SoftwarePlanificacion De Proyectos De Software
Planificacion De Proyectos De Software
 
Metodologia rad luis c
Metodologia rad luis cMetodologia rad luis c
Metodologia rad luis c
 
Rup (iteraciones)
Rup (iteraciones)Rup (iteraciones)
Rup (iteraciones)
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas
 
Metodologia web
Metodologia webMetodologia web
Metodologia web
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto software
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2
 
Modelo 4+1
Modelo 4+1Modelo 4+1
Modelo 4+1
 

Similar a Arquitectura Web: Cliente-Servidor, Modelos Distribuidos y Capas

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
 

Similar a Arquitectura Web: Cliente-Servidor, Modelos Distribuidos y Capas (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
 

Más de 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
 

Más de 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: Cliente-Servidor, Modelos Distribuidos y Capas

  • 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