29 de agosto 2003

 

Arquitectura Cliente - Servidor:


Situaciones que apoyaron el modelo

En muchas situaciones es más eficiente que el procesamiento centralizado, dado que éste experimenta una "des-economía" de escala cuando aumenta mucho la cantidad de usuarios.

Existían ya en ese momento servidores razonablemente eficientes y confiables.

Se había establecido un estándar de hecho para una interface Cliente/Servidor (el ODBC SQL, adoptado por todos los fabricantes importantes de servidores).

Era imprescindible, para apoyar con información a la creciente cantidad de ejecutivos de nivel medio que necesitan tomar decisiones ante el computador, ayudándose con las herramientas "front office", que utilizan con toda naturalidad (planillas electrónicas, procesadores de texto, graficadores, correos electrónicos, etc.

 

Arquitectura Cliente - Servidor:


Conceptos

El concepto de cliente/servidor proporciona una forma eficiente de utilizar todos estos recursos de máquina, de tal forma que la seguridad y fiabilidad que proporcionan los entornos mainframe se traspasa a la red de área local. A ésto hay que añadir la ventaja de la potencia y simplicidad de los ordenadores personales.

La arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de información, en el que las transacciones se dividen en procesos independientes que cooperan entre sí para intercambiar información, servicios o recursos. Se denomina cliente al proceso que inicia el diálogo o solicita los recursos y servidor, al proceso que responde a las solicitudes.

Es el modelo de interacción más común entre aplicaciones en una red. No forma parte de los conceptos de la Internet como los protocolos IP, TCP o UDP, sin embargo todos los servicios estándares de alto nivel propuestos en Internet funcionan según este modelo.

Los principales componentes del esquema cliente/servidor son entonces los Clientes, los Servidores y la infraestructura de comunicaciones.

Arquitectura Cliente - Servidor:
Funciones del cliente

Manejo de la interface del usuario.

Captura y validación de los datos de entrada.

Generación de consultas e informes sobre las bases de datos.

 

    Funciones del Servidor

Gestión de periféricos compartidos.

Control de accesos concurrentes a bases de datos compartidas.

Enlaces de comunicaciones con otras redes de área local o extensa.

Siempre que un cliente requiere un servicio lo solicita al servidor correspondiente y éste, le responde proporcionándolo. Normalmente, pero no necesariamente, el cliente y el servidor están ubicados en distintos procesadores. Los clientes se suelen situar en ordenadores personales y/o estaciones de trabajo y los servidores en procesadores departamentales o de grupo.

 

Arquitectura Cliente - Servidor:
Principales características

El servidor presenta a todos sus clientes una interface única y bien definida.

El cliente no necesita conocer la lógica del servidor, sólo su interface externa.

El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo.

Los cambios en el servidor implican pocos o ningún cambio en el cliente.

 

Arquitectura Cliente - Servidor:
Componentes esenciales

   Plataforma Operativa. La plataforma deberá soportar todos los modelos de distribución Cliente/Servidor, todos los servicios de comunicación, y deberá utilizar, preferentemente, componentes estándar de la industria para los servicios de distribución. Los desarrollos propios deben coexistir con las aplicaciones estándar y su integración deberá ser imperceptible para el usuario. Igualmente, podrán acomodarse programas escritos utilizando diferentes tecnologías y herramientas.

Arquitectura Cliente - Servidor:
Componentes esenciales

    Entorno de Desarrollo de Aplicaciones. Debe elegirse después de la plataforma operativa. Aunque es conveniente evitar la proliferación de herramientas de desarrollo, se garantizará que el enlace entre éstas y el middleware no sea excesivamente rígido. Será posible utilizar diferentes herramientas para desarrollar partes de una aplicación. Un entorno de aplicación incremental, debe posibilitar la coexistencia de procesos cliente y servidor desarrollados con distintos lenguajes de programación y/o herramientas, así como utilizar distintas tecnologías (por ejemplo, lenguaje procedural, lenguaje orientado a objetos, multimedia), y que han sido puestas en explotación en distintos momentos del tiempo.

Arquitectura Cliente - Servidor:
Componentes esenciales de la infraestructura

   Gestión de Sistemas. Estas funciones aumentan considerablemente el costo de una solución, pero no se pueden evitar. Siempre deben adaptarse a las necesidades de la organización, y al decidir la plataforma operativa y el entorno de desarrollo, es decir, en las primeras fases de la definición de la solución, merece la pena considerar los aspectos siguientes:

¿Qué necesitamos gestionar?

¿Dónde estarán situados los procesadores y estaciones de trabajo?

¿Cuántos tipos distintos se soportarán?

¿Qué tipo de soporte es necesario y quién lo proporciona?

 

 

CLASE 30 AGOSTO

 

Arquitectura Cliente - Servidor:
Clasificación según las funciones

   Presentacion distribuida

el cliente asume parte de las funciones de presentación de la aplicación, mediante el uso de productos para el "maquillaje" de las pantallas del mainframe

siguen existiendo programas en el servidor, dedicados a esta tarea.

Esta técnica no exige el cambio en las aplicaciones orientadas a terminales, pero dificulta su mantenimiento.

el servidor ejecuta todos los procesos y almacena la totalidad de los datos.

   Presentacion remota

La aplicación está soportada directamente por el servidor, excepto la presentación que es totalmente remota y reside en el cliente.

Los terminales del cliente soportan la captura de datos, incluyendo una validación parcial de los mismos y una presentación de las consultas

 

Arquitectura Cliente - Servidor:
Clasificación según las funciones

   Proceso distribuido o cooperativo

La lógica de los procesos se divide entre los distintos componentes del cliente y del servidor.

El diseñador de la aplicación debe definir los servicios y las interfaces del sistema de información, de forma que los papeles de cliente y servidor sean intercambiables, pero el control de los datos, que es responsabilidad exclusiva del servidor

   Gestión de datos remota

el cliente realiza tanto las funciones de presentación como los procesos.

El servidor almacena y gestiona los datos que permanecen en una base de datos centralizada

   Bases de datos distribuidas

El reparto de tareas es como en el anterior y además el gestor de base de datos divide sus componentes entre el cliente y el servidor.

Las interfaces entre ambos, están dentro de las funciones del gestor de datos y, por lo tanto, no tienen impacto en el desarrollo de las aplicaciones

Arquitectura Cliente - Servidor:
Características físicas

Servidores

Existe una plataforma de servidores que sustituye al ordenador central tradicional y que da servicio a los clientes autorizados.

A veces el antiguo ordenador central se integra en dicha plataforma como un servidor más.

Estos servidores suelen estar especializados por funciones (seguridad, cálculo, bases de datos, comunicaciones, etc.)

   Almacenamiento

Las unidades de almacenamiento masivo en esta arquitectura, se caracterizan por incorporar elementos de protección que evitan la pérdida de datos y permiten multitud de accesos simultáneos (alta velocidad, niveles RAID, etc.).

   Comunicación

Se emplea un sistema de red que se encarga de transmitir la información entre clientes y servidores.

 Físicamente consiste en un cableado (coaxial, par trenzado, fibra óptica, etc.) o en conexiones mediante señales de radio o infrarrojas

Puede Red Local (LAN), metropolitana (MAN) o de área extensa (WAN).

Arquitectura Cliente - Servidor:
Características físicas

Comunicación de procesos

Para la comunicación de los procesos con la red se emplea un tipo de equipo lógico denominado middleware que controla las conversaciones.

Su función es independizar ambos procesos (cliente y servidor).

La interface que presenta es la estándar de los servicios de red, hace que los procesos "piensen" en todo momento que se están comunicando con una red.

Arquitectura Cliente - Servidor:
Middleware

Es un módulo intermedio que actúa como conductor entre dos módulos de software. Para compartir datos, los dos módulos de software no necesitan saber cómo comunicarse entre ellos, sino cómo comunicarse con el módulo de middleware

Debe ser capaz de traducir la información de una aplicación y pasarla a la otra. Permite la comunicación entre objetos y servicios de gestión básicos para aplicaciones de objetos distribuidos.

En una aplicación cliente / servidor el middleware reside entre la aplicación cliente y la aplicación del sistema host que actúa como servidor.

Puede definirse en términos de programación orientada a objetos. El módulo identifica diferentes objetos y conoce qué propiedades tienen asociadas, por lo que puede responder a peticiones referentes a los mismos.

 

Hosted by www.Geocities.ws

1