Aplicaciones distribuidas

20

Click here to load reader

Transcript of Aplicaciones distribuidas

Page 1: Aplicaciones distribuidas

APLICACIONES

DISTRIBUIDAS

Page 2: 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.

Page 3: Aplicaciones distribuidas

• 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

Page 4: 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.

Page 5: Aplicaciones distribuidas

• 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

Page 6: Aplicaciones distribuidas

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.

Page 7: Aplicaciones distribuidas

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

Page 8: Aplicaciones distribuidas

•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.

Page 9: Aplicaciones distribuidas

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.

Page 10: Aplicaciones distribuidas

• 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

Page 11: Aplicaciones distribuidas

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.

Page 12: Aplicaciones distribuidas

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

Page 13: Aplicaciones distribuidas

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

Page 14: Aplicaciones distribuidas

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

Page 15: Aplicaciones distribuidas

• 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)

Page 16: Aplicaciones distribuidas

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)

Page 17: Aplicaciones distribuidas

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.

Page 18: Aplicaciones distribuidas

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

Page 19: Aplicaciones distribuidas

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.

Page 20: Aplicaciones distribuidas

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.