Aplicaciones distribuidas
Click here to load reader
-
Upload
christian-moreno -
Category
Documents
-
view
364 -
download
0
Transcript of Aplicaciones distribuidas
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.