Capítulo 8
Arquitectura de las aplicaciones en Internet
Introducción
El modelo cliente-servidor se ha impuesto como la arquitectura sobre la que desarrollar aplicaciones en Internet: Informix, Lotus, Novell, Oracle, Microsoft...Dentro de este modelo se están produciendo algunos cambios, fruto de la expansión de Internet.
Arquitectura en capas
El modelo cliente-servidor plantea la división de la carga de procesamiento.Problema de diseño: reparto de dicha carga.Soluciones: Modelo de 2 capas. Modelo de 3 capas.
Modelo de 2 capas (fat client)
Divide la carga de procesamiento en 2.La mayor parte de la lógica de la aplicación se ejecuta en el cliente.
Modelo de 3 capas (thin client)
Divide la carga de procesamiento entre: Los clientes, que ejecutan una IGU
(GUI). Los servidores de aplicaciones. Las bases de datos.
Modelo 2 capas: pros y contras
Pros: Simplicidad. En poco tiempo se
desarrollan aplicaciones.
Contras: El cliente debe de conocer el modo de
almacenamiento en el servidor. El modelo falla en entornos grandes
(internet).
Características de la aplicación
Funcionamiento interno de una empresa
Internet
Número de clientes por aplicación
Cientos, a veces miles Millones
Número de servidores por aplicación
1 o 2 servidores homogéneos
Cientos de miles, heterogéneos
Ámbito Campus Global
Interacción entre servidores
No Sí
Software de interacción SQL y otros procedimientos
Componentes en internet e intranets
Arquitectura cliente-servidor
2 capas 3 Capas (o N capas)
Contenido multimedia Bajo Alto
Tipo de clientes Clientes gordos Cualquiera
Contexto temporal 1985 hasta el presente 1997 en adelante
Comparación del entorno de desarrollo de una empresa con Internet
Tecnología de componentes
En el modelo de 3 capas la lógica de la aplicación se ejecuta sobre varios servidores: componentes (N capas).Un componente es una pieza de código, con una funcionalidad determinada, y una ejecución independiente.
Un componente es un estándar multiplataforma: UNIX, Mac Os, Linux,...Independencia de las aplicaciones y lenguajes.La tecnología de componentes minimiza los intercambios a través de la red: el diálogo con la base de datos se hace a través de un componente específico.
EjemploEjemplo
• Se consigue con esto una mayor seguridad.
Tipos de componentes:Tipos de componentes:
• Servicios: encapsulan una función del tipo “incrementar el saldo en una cuenta”, accediendo directamente a los datos.
• Objetos: encapsulan tanto una unidad específica de datos como las funciones correspondientes (métodos).
Componentes tipo objetoComponentes tipo objeto
• Ejemplo: Objeto: cuenta bancaria.Métodos: actualizar, borrar, realizar auditoría• Los métodos modifican los datos del objeto, esto es, su estado.
• CORBA (Common Object Request Broker Architecture) da soporte a objetos con o sin estado.
• Objetos sin estado: en un requerimiento se debe de determinar los datos necesarios y recuperarlos de la base de datos. Posteriormente, ésta se actualiza. Ej. DCOM.
• Objetos con estado: el software de la capa intermedia carga el objeto, con su estado y sus métodos. Posteriormente, almacena su estado y lo elimina de la memoria.
Internet en 3 capasCitibank.J. P. Morgan.US-Army.NASA.General Motors.Amazon.com.Ericsson...
Futuro
Aplicaciones que pueden consistir en cientos de componentes independientes, con acceso a múltiples bases de datos.A desarrollar: el software de la capa intermedia que permite aglutinar un conjunto de componentes en la ejecución de una aplicación.