Este documento describe las aplicaciones distribuidas y las arquitecturas de tres capas. Explica que las aplicaciones distribuidas se ejecutan en máquinas separadas físicamente y cooperan para alcanzar objetivos determinados. También describe las arquitecturas cliente-servidor de dos niveles y las arquitecturas de tres capas, que dividen la lógica en capas de interfaz de usuario, negocio y datos para mejorar el rendimiento, seguridad y escalabilidad. Además, explica tecnologías como servlets, páginas de
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.