SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
APLICACIONES
DISTRIBUIDAS
Introducción
• El mundo en el que nos movemos hoy en
día pasa necesariamente por Internet.
• Formas tradicionales de trabajo se van
adaptando, cada vez más a la interfaz de
usuario universal que la web ha traído
consigo.
• Cuando se habla de aplicaciones
distribuidas, se están considerando
aplicaciones que se ejecutan en máquinas
separadas físicamente. Estas máquinas, dos
o más, cooperan para alcanzar objetivos
determinados.
• El intercambio de mensajes, la transferencia
de ficheros, la manipulación remota de
documentos, la gestión de información
remota, etc., son simples ejemplos de
aplicaciones distribuidas
Aplicación de dos niveles
cliente/servidor
Dependen de un cliente que hiciera todo el
trabajo y un deposito compartido de datos
situado en un servidor centralizado.
CLIENTE: La interfaz de usuario
Las reglas de negocio
SERVIDOR: Los datos y el motor de base de
Base de Datos
Nivel Cliente , Nivel servidor o el Nivel de
Datos.
• IU : Todo lo que ve el usuario en la pantalla
y puede interactuar con ello.
▫ Aplicaciones - (formulario, cuadros de
dialogo, cuadros de mensaje)
▫ Aplicaciones Web – (formulario HTML)
Computadora
Servidor
Computadora
cliente
Solamente datos o
lógica del negocio
en procedimientos
almacenados
Aplicación cliente
Interfaz de usuario
Lógica de negocio Data Access
(OLE DB U
ODBC)
TCP/IP
Problemas con los sistemas de dos
niveles
• Cambio en las reglas de la empresa provoca que
se deban modificar en varios niveles.
• Dado que las aplicaciones se ejecutan en el
cliente se esta frecuentemente preocupado con
la cantidad de RAM y espacio en disco
capacidades de la máquina cliente. Clientes
obesos
• No estimulan la reutilización de código.
• Migrar a una nueva versión del cliente supone
reinstalar en muchísimas máquinas para lo que hay
que detener el trabajo de todos los empleados.
ARQUITECTURAS DE TRES CAPAS
• Dados los problemas con los sistemas de
dos niveles, muchos desarrolladores han
deseado contar con una forma mejor de
generar aplicaciones distribuidas
Computadora
Servidor
Computadora
cliente
Solamente datos o
lógica del negocio
en procedimientos
almacenados
Aplicación cliente
Interfaz de
usuario
Lógica de
negocio
Data Access
(OLE DB U
ODBC)
TCP/IP
• Aleja la inteligencia del cliente,
quien ahora es, típicamente un
navegador web y solo sirve como
interfaz de usuario.
• Los datos en la BD.
• Inteligencia reside ahora en
programas que componen una
capa intermedia.
Ventajas
• Mayor seguridad. Clientes no acceden
directamente a la BD
• Elevada disponibilidad. Se puede configurar
una capa intermedia con varias maquinas.
• Buen rendimiento. Al dividir el sistema en
partes que pueden residir en ordenadores
distintos.
• Actualmente , la comunicación entre
Usuario Final – Capa Intermedia:
▫ Paginas Web (protocolo HTTP) utilizando
tecnologías como: CGI, Servlets Java o
Paginas de Servidor.
• Comunicación entre Capa Intermedia -
SGBD
▫ Mediante mensajes SQL. La programación de
la comunicación con el servidor se realiza
habitualmente con SQL embebido, ODBC o
JDBC
JAVA
• Java : lenguaje de programación, SUN 1994
▫ Corre sobre una maquina virtual
▫ Navegadores cuentan con una maquina virtual
Java – Applet.
• Los servlets son código Java ejecutado en un
servidor para poder ejecutarlos, hace falta un
servidor especial (Servidor de Aplicaciones)que
ante la demanda de un cliente, cargue la
máquina virtual y lo ejecute pasando su
resultado al servidor de páginas web.
Paginas de Servidor
• Son documentos HTML con un lenguaje de
programación embebido en ellos:
▫ Las paginas ASP: son páginas HTML con Visual
Basic/Visual C# como lenguaje embebido
▫ Las paginas JSP: son páginas HTML con Java
como lenguaje embebido
▫ Las paginas PHP: son páginas HTML con un
lenguaje similar a Perl embebido
▫ Desde un navegador se puede invocar una
página de servidor (HTTP). Esta realiza las
acciones oportunas en el servidor y devuelve al
cliente información en formato HTML
SERVIDORES DE APLICACIONES
• Asume la identidad de un cliente cuando se
conecta con un servidor de base de datos. La
manipulación que haga de la base de datos
dependerá de lo que solicite el cliente.
• Ejemplos:
▫ Tomcat
▫ Websphere de IBM
▫ Oracle 9i AS
▫ Sun ONE
▫ Jboss
▫ Microsoft .NET
ODBC
• El middleware referencia a un software que
une dos aplicaciones de que otra forma
estarían separadas.
▫ Desde el punto de vista de un administrador:
Conjunto de drivers o controladores.
• Programa escrito en C para acceder a una BD Oracle
▫ Middleware : intermediario entre un programa de aplicación y
una base de datos. Cada fabricante de SGBD proporciona su
propio middleware, acompañado de una descripción de
cómo acceder a él. (Interfaz)
▫ Ejemplo:
 Middleware: SQL *NET (propietario de Oracle)
 Interfaz: OCI (Oracle Call Interface)
 SGBD Oracle10g
• Microsoft creo ODBC en 1992,
actualmente los drivers ODBC
de diferentes fabricantes de
SGBD soportan ODBC.
• Las razones por las que suele
optar por ODBC son:
▫ Neutralidad de base de datos
▫ Soporte multiplataforma
▫ Adopción como estándar
• Entre los defectos de la
adopción :
▫ Consumo de memoria
▫ Lentitud
Aplicación
Middleware
SGBD
Interfaz
(API)
El administrador
de fuentes de
datos
• Gestiona las distintas
fuentes y drivers ODBC.
• Por origen de datos se
entiende a una base de
datos o sistemas de
ficheros al que accede
mediante un driver
ODBC.
• Cada origen de datos
se identificara
mediante un DSN
(data source name)
Servidores WEB
• Programa que acepta peticiones de
navegadores (clientes) y que ofrece como
respuesta paginas web mediante HTTP.
• Ejecutar un servidor web no se requiere
ningún HW especial, los requisitos suelen ser
pequeños, salvo en aquellos casos en que
se prevea una afluencia masiva de
visitantes.
El mercado de los servidores WEB
Según el estudio de Netcraft, el mercado de los servidores web se
reparte como se muestra en la figura.
 Además de los servidores
que aparecen en las
graficas, hay muchísimos
otros que no se
mencionan por su escaso
empleo.
 Abyss que es otro
producto freeware, que
se destaca por su sencillez
de administración
Netcraft
• NetCraft se dedica a los servicios de Internet en
general, mostrando información en la que se
visualiza un análisis por ejemplo de un sitio, un
proveedor, etc.
• Listado de los proveedores de hostings más
confiables del mundo… medidos
principalmente por el UpTime, como también
por los tiempos de caídas, tiempos de retardo
en conexión, retardo en recepción de primer
byte -de información- (o sea, lo que se le
pidió), entre otros aspectos.
Abyss Web Server
• Abyss Web Server X1 es un servidor web gratuito
disponible para Windows, MacOS X, Linux.
• A pesar de su pequeño tamaño, soporta:
reanudación de descargas, negociación de
caché, bitácoras, scripts CGI/1.1, extensiones
FastCGI, ASP.NET(sobre Windows), páginas de error
personalizadas, protección de contraseñas, Control
de direcciones IP, alias, tipos MIME personalizados,
índexación de archivos, listados personalizados de
directorios, anti-parasitos y aceleración de ancho
de banda.
• También incluye un sistema anti-hackeo
automático y una intuitiva interfaz de
administración de web remota multilenguaje.

Más contenido relacionado

La actualidad más candente

Tarea1 programacion-distribuida
Tarea1 programacion-distribuidaTarea1 programacion-distribuida
Tarea1 programacion-distribuidaRJ Manayay Chavez
 
Unidad ii
Unidad iiUnidad ii
Unidad iiOrlys05
 
Sistema distribuido
Sistema distribuidoSistema distribuido
Sistema distribuidoBonita Vm
 
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en ObjetosTecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en ObjetosTensor
 
Definiciones Sistemas Distribuidos
Definiciones Sistemas DistribuidosDefiniciones Sistemas Distribuidos
Definiciones Sistemas DistribuidosJorge Guerra
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidosJC Alca Arequi
 
Areas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidosAreas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidosOLy Jimenez
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosLuis Yallerco
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosTensor
 
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosCaracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosJorge Guerra
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Unidad 1
Unidad 1Unidad 1
Unidad 1mi casa
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas DistribuidosLeopoldo Capa
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidosMargarita Labastida
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosAngel Morocho
 

La actualidad más candente (20)

Tarea1 programacion-distribuida
Tarea1 programacion-distribuidaTarea1 programacion-distribuida
Tarea1 programacion-distribuida
 
Unidad ii
Unidad iiUnidad ii
Unidad ii
 
Sistemas de información distribuidos
Sistemas de información distribuidosSistemas de información distribuidos
Sistemas de información distribuidos
 
Sistema distribuido
Sistema distribuidoSistema distribuido
Sistema distribuido
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en ObjetosTecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
 
Definiciones Sistemas Distribuidos
Definiciones Sistemas DistribuidosDefiniciones Sistemas Distribuidos
Definiciones Sistemas Distribuidos
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidos
 
Areas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidosAreas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Middleware
MiddlewareMiddleware
Middleware
 
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosCaracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas Distribuidos
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
07 middleware
07 middleware07 middleware
07 middleware
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 

Destacado (8)

Computacion paralela
Computacion paralelaComputacion paralela
Computacion paralela
 
Computo en paralelo con OpenMP y OpenMPI
Computo en paralelo con OpenMP y OpenMPIComputo en paralelo con OpenMP y OpenMPI
Computo en paralelo con OpenMP y OpenMPI
 
Paralela1
Paralela1Paralela1
Paralela1
 
Computacion paralela
Computacion paralelaComputacion paralela
Computacion paralela
 
Computación móvil y organización virtual
Computación móvil y organización virtualComputación móvil y organización virtual
Computación móvil y organización virtual
 
Computación Móvil
Computación MóvilComputación Móvil
Computación Móvil
 
Aplicaciones Distribuidas
Aplicaciones DistribuidasAplicaciones Distribuidas
Aplicaciones Distribuidas
 
computación paralela
computación paralelacomputación paralela
computación paralela
 

Similar a Aplicaciones distribuidas

Similar a Aplicaciones distribuidas (20)

Apuntes entorno cliente servidor
Apuntes entorno cliente   servidorApuntes entorno cliente   servidor
Apuntes entorno cliente servidor
 
Arquitectura web EXPOSICION KAREN ANDRADE, EFRAIN SARANSIG
Arquitectura web  EXPOSICION KAREN ANDRADE, EFRAIN SARANSIGArquitectura web  EXPOSICION KAREN ANDRADE, EFRAIN SARANSIG
Arquitectura web EXPOSICION KAREN ANDRADE, EFRAIN SARANSIG
 
Apuntes materia entorno cliente servidor
Apuntes materia entorno cliente servidorApuntes materia entorno cliente servidor
Apuntes materia entorno cliente servidor
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Arquitecturaclienteservidor
ArquitecturaclienteservidorArquitecturaclienteservidor
Arquitecturaclienteservidor
 
cliente servidor
cliente servidorcliente servidor
cliente servidor
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
 
S6-DAW-2022S1.pptx
S6-DAW-2022S1.pptxS6-DAW-2022S1.pptx
S6-DAW-2022S1.pptx
 
Servidores trabajo
Servidores trabajoServidores trabajo
Servidores trabajo
 
Servidores trabajo
Servidores trabajoServidores trabajo
Servidores trabajo
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Cap2 funcionalidad de cliente servidor
Cap2 funcionalidad de cliente servidorCap2 funcionalidad de cliente servidor
Cap2 funcionalidad de cliente servidor
 
servidor
servidorservidor
servidor
 
Arquitectura Web
Arquitectura WebArquitectura Web
Arquitectura Web
 
Clientes servidor
Clientes servidorClientes servidor
Clientes servidor
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
 
Conceptos Basicos de Bases de Datos Multiusuario
Conceptos Basicos de Bases de DatosMultiusuarioConceptos Basicos de Bases de DatosMultiusuario
Conceptos Basicos de Bases de Datos Multiusuario
 
DISEÑO DE SOFTWARE DISTRIBUIDO
DISEÑO DE SOFTWARE DISTRIBUIDODISEÑO DE SOFTWARE DISTRIBUIDO
DISEÑO DE SOFTWARE DISTRIBUIDO
 
Relación RED CLIENTE - SERVIDOR
Relación RED CLIENTE - SERVIDOR Relación RED CLIENTE - SERVIDOR
Relación RED CLIENTE - SERVIDOR
 

Aplicaciones distribuidas

  • 2. Introducción • El mundo en el que nos movemos hoy en día pasa necesariamente por Internet. • Formas tradicionales de trabajo se van adaptando, cada vez más a la interfaz de usuario universal que la web ha traído consigo.
  • 3. • Cuando se habla de aplicaciones distribuidas, se están considerando aplicaciones que se ejecutan en máquinas separadas físicamente. Estas máquinas, dos o más, cooperan para alcanzar objetivos determinados. • El intercambio de mensajes, la transferencia de ficheros, la manipulación remota de documentos, la gestión de información remota, etc., son simples ejemplos de aplicaciones distribuidas
  • 4. Aplicación de dos niveles cliente/servidor Dependen de un cliente que hiciera todo el trabajo y un deposito compartido de datos situado en un servidor centralizado. CLIENTE: La interfaz de usuario Las reglas de negocio SERVIDOR: Los datos y el motor de base de Base de Datos Nivel Cliente , Nivel servidor o el Nivel de Datos.
  • 5. • IU : Todo lo que ve el usuario en la pantalla y puede interactuar con ello. ▫ Aplicaciones - (formulario, cuadros de dialogo, cuadros de mensaje) ▫ Aplicaciones Web – (formulario HTML) Computadora Servidor Computadora cliente Solamente datos o lógica del negocio en procedimientos almacenados Aplicación cliente Interfaz de usuario Lógica de negocio Data Access (OLE DB U ODBC) TCP/IP
  • 6. Problemas con los sistemas de dos niveles • Cambio en las reglas de la empresa provoca que se deban modificar en varios niveles. • Dado que las aplicaciones se ejecutan en el cliente se esta frecuentemente preocupado con la cantidad de RAM y espacio en disco capacidades de la máquina cliente. Clientes obesos • No estimulan la reutilización de código. • Migrar a una nueva versión del cliente supone reinstalar en muchísimas máquinas para lo que hay que detener el trabajo de todos los empleados.
  • 7. ARQUITECTURAS DE TRES CAPAS • Dados los problemas con los sistemas de dos niveles, muchos desarrolladores han deseado contar con una forma mejor de generar aplicaciones distribuidas Computadora Servidor Computadora cliente Solamente datos o lógica del negocio en procedimientos almacenados Aplicación cliente Interfaz de usuario Lógica de negocio Data Access (OLE DB U ODBC) TCP/IP
  • 8. • Aleja la inteligencia del cliente, quien ahora es, típicamente un navegador web y solo sirve como interfaz de usuario. • Los datos en la BD. • Inteligencia reside ahora en programas que componen una capa intermedia.
  • 9. Ventajas • Mayor seguridad. Clientes no acceden directamente a la BD • Elevada disponibilidad. Se puede configurar una capa intermedia con varias maquinas. • Buen rendimiento. Al dividir el sistema en partes que pueden residir en ordenadores distintos.
  • 10. • Actualmente , la comunicación entre Usuario Final – Capa Intermedia: ▫ Paginas Web (protocolo HTTP) utilizando tecnologías como: CGI, Servlets Java o Paginas de Servidor. • Comunicación entre Capa Intermedia - SGBD ▫ Mediante mensajes SQL. La programación de la comunicación con el servidor se realiza habitualmente con SQL embebido, ODBC o JDBC
  • 11. JAVA • Java : lenguaje de programación, SUN 1994 ▫ Corre sobre una maquina virtual ▫ Navegadores cuentan con una maquina virtual Java – Applet. • Los servlets son código Java ejecutado en un servidor para poder ejecutarlos, hace falta un servidor especial (Servidor de Aplicaciones)que ante la demanda de un cliente, cargue la máquina virtual y lo ejecute pasando su resultado al servidor de páginas web.
  • 12. Paginas de Servidor • Son documentos HTML con un lenguaje de programación embebido en ellos: ▫ Las paginas ASP: son páginas HTML con Visual Basic/Visual C# como lenguaje embebido ▫ Las paginas JSP: son páginas HTML con Java como lenguaje embebido ▫ Las paginas PHP: son páginas HTML con un lenguaje similar a Perl embebido ▫ Desde un navegador se puede invocar una página de servidor (HTTP). Esta realiza las acciones oportunas en el servidor y devuelve al cliente información en formato HTML
  • 13. SERVIDORES DE APLICACIONES • Asume la identidad de un cliente cuando se conecta con un servidor de base de datos. La manipulación que haga de la base de datos dependerá de lo que solicite el cliente. • Ejemplos: ▫ Tomcat ▫ Websphere de IBM ▫ Oracle 9i AS ▫ Sun ONE ▫ Jboss ▫ Microsoft .NET
  • 14. ODBC • El middleware referencia a un software que une dos aplicaciones de que otra forma estarían separadas. ▫ Desde el punto de vista de un administrador: Conjunto de drivers o controladores. • Programa escrito en C para acceder a una BD Oracle ▫ Middleware : intermediario entre un programa de aplicación y una base de datos. Cada fabricante de SGBD proporciona su propio middleware, acompañado de una descripción de cómo acceder a él. (Interfaz) ▫ Ejemplo:  Middleware: SQL *NET (propietario de Oracle)  Interfaz: OCI (Oracle Call Interface)  SGBD Oracle10g
  • 15. • Microsoft creo ODBC en 1992, actualmente los drivers ODBC de diferentes fabricantes de SGBD soportan ODBC. • Las razones por las que suele optar por ODBC son: ▫ Neutralidad de base de datos ▫ Soporte multiplataforma ▫ Adopción como estándar • Entre los defectos de la adopción : ▫ Consumo de memoria ▫ Lentitud Aplicación Middleware SGBD Interfaz (API)
  • 16. El administrador de fuentes de datos • Gestiona las distintas fuentes y drivers ODBC. • Por origen de datos se entiende a una base de datos o sistemas de ficheros al que accede mediante un driver ODBC. • Cada origen de datos se identificara mediante un DSN (data source name)
  • 17. Servidores WEB • Programa que acepta peticiones de navegadores (clientes) y que ofrece como respuesta paginas web mediante HTTP. • Ejecutar un servidor web no se requiere ningún HW especial, los requisitos suelen ser pequeños, salvo en aquellos casos en que se prevea una afluencia masiva de visitantes.
  • 18. El mercado de los servidores WEB Según el estudio de Netcraft, el mercado de los servidores web se reparte como se muestra en la figura.  Además de los servidores que aparecen en las graficas, hay muchísimos otros que no se mencionan por su escaso empleo.  Abyss que es otro producto freeware, que se destaca por su sencillez de administración
  • 19. Netcraft • NetCraft se dedica a los servicios de Internet en general, mostrando información en la que se visualiza un análisis por ejemplo de un sitio, un proveedor, etc. • Listado de los proveedores de hostings más confiables del mundo… medidos principalmente por el UpTime, como también por los tiempos de caídas, tiempos de retardo en conexión, retardo en recepción de primer byte -de información- (o sea, lo que se le pidió), entre otros aspectos.
  • 20. Abyss Web Server • Abyss Web Server X1 es un servidor web gratuito disponible para Windows, MacOS X, Linux. • A pesar de su pequeño tamaño, soporta: reanudación de descargas, negociación de caché, bitácoras, scripts CGI/1.1, extensiones FastCGI, ASP.NET(sobre Windows), páginas de error personalizadas, protección de contraseñas, Control de direcciones IP, alias, tipos MIME personalizados, índexación de archivos, listados personalizados de directorios, anti-parasitos y aceleración de ancho de banda. • También incluye un sistema anti-hackeo automático y una intuitiva interfaz de administración de web remota multilenguaje.