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 milesMillones Número de servidores por aplicación 1 o 2 servidores homogéneosCientos de miles, heterogéneos ÁmbitoCampusGlobal Interacción entre servidoresNoSí Software de interacciónSQL y otros procedimientosComponentes en internet e intranets Arquitectura cliente-servidor2 capas3 Capas (o N capas) Contenido multimediaBajoAlto Tipo de clientesClientes gordosCualquiera Contexto temporal1985 hasta el presente1997 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.
Ejemplo Ejemplo 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 objeto Componentes 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 capas Citibank. 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.