miércoles, 26 de noviembre de 2008

plataforma-cliente-servidor



























1. QUE ES UN CLIENTE: Es el que inicia un requerimiento de servicio. El requerimiento inicial puede convertirse en múltiples requerimientos de trabajo a través de redes LAN o WAN. La ubicación de los datos o de las aplicaciones es totalmente transparente para el cliente.


2. QUE ES UN SERVIDOR:



Es cualquier recurso de cómputo dedicado a responder a los requerimientos del cliente. Los servidores pueden estar conectados a los clientes a través de redes LANs o WANs, para proveer de múltiples servicios a los clientes y ciudadanos tales como impresión, acceso a bases de datos, fax, procesamiento de imágenes, etc.


3. ALGUNOS ANTECEDENTES:



El principal motivo detrás de esta evolución es la necesidad que tienen las organizaciones (empresas o instituciones públicas o privadas), de realizar sus operaciones más ágil y eficientemente, debido a la creciente presión competitiva a la que están sometidas, lo cual se traduce en la necesidad de que su personal sea mas productivo, que se reduzcan los costos y gastos de operación, al mismo tiempo que se generan productos y servicios más rápidamente y con mejor calidad.
Evolución de la arquitectura cliente servidor:
La era de
la computadora central
"Desde sus inicios el modelo de
administración de datos a través de computadoras se basaba en el uso de terminales remotas, que se conectaban de manera directa a una computadora central".
La era de las computadoras dedicadas
Esta es la era en la que cada servicio empleaba su propia computadora que permitía que los usuarios de ese servicio se conectaran directamente.
La era de la conexión libre
Hace mas de 10 años que la computadoras escritorio aparecieron de manera masiva.
La era del cómputo a través de redes
posibilidad de que todos los usuarios puedan acceder a la información de todas las computadoras y a la vez que los diversos sistemas intercambien información.
La era de la arquitectura cliente servidor
"En esta arquitectura la computadora de cada uno de los usuarios, llamada cliente, produce una demanda de información a cualquiera de las computadoras que proporcionan información, conocidas como servidores "estos últimos responden a la demanda del cliente que la produjo.
Esquema cliente/servidor:
Ejemplo 1: del modelo cliente-servidor en internet es el de la WWW (Worl Wide Web) actualmente uno de los servicios mas populares, en el que se puede acceder a todo tipo de información en forma de hipertexto (paginas compuestas de texto, imágenes, música, video, etc.) cada usuario que este conectado a internet dispone de una aplicación cliente, que se denomina navegador, el cual se comunica con un servidor Web que le facilita la información (en forma de hipertexto) que el usuario solicita (a través del navegador).


4. Ventajas:


· Centralización del control: los accesos, recursos y la integridad de los datos son controlados por el servidor de forma que un programa cliente defectuoso o no autorizado no pueda dañar el sistema.
·
Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado.

5. Desventajas:


· La congestión del tráfico ha sido siempre un problema en el paradigma de C/S. El paradigma de C/S clásico no tiene la robustez de una red P2P
Cooperación cliente-servidor
· Chained Server
· En esta clasificación de servidores se encuentran aquellos que de vez en cuando se comportan como clientes, ya sea de manera efimera o por mucho tiempo.
· Temporal
· Son servidores que por motivos de gestion o para ejecutar cierta parte del proceso de transacción, éste se comporta como un cliente ya sea para solicitar la informacion rteuuerida al servidor correspondinte o simplemente como un enlace hacia el "destino" de la peticion.solo realiza la transaccion solicitada y vuelve a sus estado normal una vez terminada la misma. ejem: serv
DNS,autentificación,etc
· Largo Plazo
· Aquellos en los cuales realiza varias transacciones del por mucho mas timepo que la anterior, y se orienta más a la aplicación para la que fué dirigida.ejem: serv. de WEB, etc.
· Multiple Server
· Para que un proceso se realize de la mejor manera, es preferible utilizar terminales distintos realizando la misma tarea, a que centralices los recursos y que con mas
hardware/software realices la misma tarea. Con la ejecución de multiples servidores, el procesamiento es mas rápido, el tiempo de respuestas es descentrrañlizado, incrementa su confiabilidad.
· Cooperacion de procesos paralelos
· El mismo proceso se ejecuta simultaneamente (
sistemas redundantes).
· Cooperacion de base de datos
· Si se requiere de cierta informacion ya existente, porque crearla de nuevo, simplemente interactua y aprovecha la informacion ya creada.

6. TIPOS DE CLIENTES



1. “cliente flaco”:
. Servidor rápidamente saturado.
. Gran circulación de datos de interfase en la red.



2. “cliente gordo”:
. Casi todo el trabajo en el cliente.
. No hay centralización de la gestión de la BD.
. Gran circulación de datos inútiles en la red.


7. TIPOS DE SERVIDOR


· Servidores de archivos
Servidor donde se almacena archivos y aplicaciones de productividad como por ejemplo procesadores de texto, hojas de cálculo, etc.
· Servidores de bases de datos
Servidor donde se almacenan las bases de datos, tablas, índices. Es uno de los servidores que más carga tiene.
· Servidores de transacciones
Servidor que cumple o procesa todas las transacciones. Valida primero y recién genera un pedido al servidor de bases de datos.
· Servidores de Groupware
Servidor utilizado para el seguimiento de operaciones dentro de la red.Servidores de objetos
Contienen objetos que deben estar fuera del servidor de base de datos. Estos objetos pueden ser videos, imágenes, objetos multimedia en general.
· Servidores Web.
Se usan como una forma inteligente para comunicación entre empresas a través de Internet.
Este servidor permite transacciones con el acondicionamiento de un browser específico.
·
Servidor de correo: almacena, envía, recibe, enruta y realiza otras operaciones relacionadas con email para los clientes de la red.
· Servidor proxy: Permite administrar el acceso a internet en una Red de computadoras permitiendo o negando el acceso a diferentes sitios Web.


8. ELEMENTOS DE LA ARQUITECTURA CLIENTE/SERVIDOR

En esta aproximación, y con el objetivo de definir y delimitar el modelo de referencia de una arquitectura Cliente/Servidor, debemos identificar los componentes que permitan articular dicha arquitectura, considerando que toda aplicación de un sistema de información está caracterizada por tres componentes básicos:
· Presentación/Captación de Información
· Procesos
· Almacenamiento de la Información


1. Arquitectura Cliente/Servidor
El Puesto de Trabajo o Cliente
Nos referimos a un microcomputador conectado al sistema de información y en el que se realiza una parte mayoritaria de los procesos
Los Servidores o Back-end
Una máquina que suministra una serie de servicios como Bases de Datos, Archivos, Comunicaciones,...).Las Comunicaciones
En sus dos vertientes:


· Infraestructura de redes
· Infraestructura de comunicaciones


Infraestructura de redes
Componentes Hardware y Software que garantizan la conexión física y la transferencia de datos entre los distintos equipos de la red.
Infraestructura de comunicaciones
Comparación de la arquitectura C/S con otras arquitecturas de red
Comparación con las redes de pares
Las redes de pares, también conocidas como redes par-a-par o
peer-to-peer (abreviado con las siglas P2P) son otro tipo de arquitectura de red;
Comparación con la arquitectura Cliente-Cola-Cliente
Esta arquitectura permite simplificar en gran medida la implementación de software. La arquitectura
P2P originalmente se basó en el concepto "Cliente-Cola-Cliente".



Arquitectura multi-capas

-Algunas redes disponen de tres tipos de nodos:
· Clientes que interactúan con los usuarios finales.
· Servidores de aplicación que procesan los datos para los clientes.
· Servidores de la base de datos que almacenan los datos para los servidores de aplicación.



9. Tipos de arquitectura cliente/servidor



· La arquitectura en 2 niveles
· La arquitectura en 2 niveles se utiliza para describir los sistemas cliente/servidor en donde el cliente solicita recursos y el servidor responde directamente a la solicitud, con sus propios recursos. Esto significa que el servidor no requiere otra aplicación para proporcionar parte del servicio.

· Introducción a la arquitectura en 3 niveles
· En la arquitectura en 3 niveles, existe un nivel intermediario. Esto significa que la arquitectura generalmente está compartida por:
· Un cliente, es decir, el
equipo que solicita los recursos, equipado con una interfaz de usuario (generalmente un navegador Web) para la presentación
· Comparación entre ambos tipos de arquitecturas
· Un mayor grado de flexibilidad
· Mayor seguridad, ya que la seguridad se puede definir independientemente para cada servicio y en cada nivel
· Mejor rendimiento, ya que las tareas se comparten entre servidores
·
Arquitectura de niveles múltiples
· En la arquitectura en 3 niveles, cada servidor (nivel 2 y 3) realiza una tarea especializada (un servicio). Por lo tanto, un servidor puede utilizar los servicios de otros servidores para proporcionar su propio servicio. Por consiguiente, la arquitectura en 3 niveles es potencialmente una arquitectura en N-niveles
Introducción a la arquitectura igual a igual
· A diferencia de las redes
cliente/servidor, en la arquitectura igual a igual no hay un servidor exclusivo. Debido a esto, cada equipo en dicha red hace las veces de servidor y de cliente al mismo tiempo.
Nociones de seguridadLa política de seguridad mínima conlleva la protección de un recurso con una contraseña. Los usuarios de redes puesto a puesto configuran su propia seguridad y como todos los archivos compartidos se pueden encontrar en todos los equipos; es difícil hacer un control de manera centralizada.
Punto muerto e inanición


Deadlock se utiliza para definir el estado de bloqueo entre varios componentes (cliente-servidor) debido a que cada uno está esperando una acción de otro [D3].



1 Deadlock entre cliente y servidor
La forma más simple aparece cuando el cliente está bloqueado esperando un mensaje del servidor y viceversa
2 Livelock
Un caso especial se denomina livelock (por que implica un consumo de CPU). Esta es una dependencia cíclica entre clientes y servidores
3 Estrategias de prevención
La mejor manera de evitar estas situaciones es tener documentadas y claras las dependencias entre clientes y servidores
4 Inanición entre un conjunto de clientes y un servidor
Aparece si un servidor permite un uso de sus recursos por parte de un único (o subconjunto) cliente ilimitado en el tiempo.

10.CARACTERISTICAS DEL MODELO CLIENTE/SERVIDOR


En el modelo CLIENTE/SERVIDOR podemos encontrar las siguientes características:


1. El Cliente y el Servidor pueden actuar como una sola entidad y también pueden actuar como entidades separadas, realizando actividades o tareas independientes.
2. Las funciones de Cliente y Servidor pueden estar en plataformas separadas, o en la misma plataforma.
3. Un servidor da servicio a múltiples clientes en forma concurrente.
Estilos del modelo cliente servidor

PRESENTACIÓN DISTRIBUIDA


1. Se distribuye la interfaz entre el cliente y la plataforma servidora.
2. La aplicación y los datos están ambos en el servidor.
3. Similar a la arquitectura tradicional de un Host y Terminales.
4. El PC se aprovecha solo para mejorar la interfaz gráfica del usuario.


PRESENTACIÓN REMOTA


1. La interfaz para el usuario esta completamente en el cliente.
2. La aplicación y los datos están en el servidor.


LÓGICA DISTRIBUIDA


1. La interfaz esta en el cliente.
2. La base de datos esta en el servidor.
3. La lógica de la aplicación esta distribuida entre el cliente y el servidor.


ADMINISTRACIÓN DE DATOS REMOTA


1. En el cliente residen tanto la interfaz como los procesos de la aplicación.
2. Las bases de datos están en el servidor.
3. Es lo que comúnmente imaginamos como aplicación cliente servidor


BASE DE DATOS DISTRIBUIDA


1. La interfaz, los procesos de la aplicación, y , parte de los datos de la base de datos están en cliente.
2. El resto de los datos están en el servidor.
Definición de middleware
“Es un termino que abarca a todo el software distribuido necesario para el soporte de interacciones entre Clientes y Servidores”.


Funciones de un programa servidor

1. Espera las solicitudes de los clientes.
2. Ejecuta muchas solicitudes al mismo tiempo.
3. Atiende primero a los clientes VIP.
4. Emprende y opera actividades de tareas en segundo plano.
5. Se mantiene activa en forma permanente.


Características físicas


· El diagrama del punto anterior da una idea de la estructura física de conexión entre las distintas partes que componen una arquitectura cliente / servidor.
Características lógicas
· Una de las principales aportaciones de esta arquitectura a los sistemas de información es la interfaz gráfica de usuario. Gracias a ella se dispone de un manejo más fácil e intuitivo de las aplicaciones mediante el uso de un dispositivo tipo ratón.


Ventajas


· Aumento de la productividad:
· Los usuarios pueden utilizar herramientas que le son familiares, como hojas de cálculo y herramientas de acceso a bases de datos.
· Menores costes de operación:
· Permiten un mejor aprovechamiento de los sistemas existentes, protegiendo la inversión. Por ejemplo, la compartición de servidores (habitualmente caros) y dispositivos periféricos (como impresoras) entre máquinas clientes permite un mejor rendimiento del conjunto.
Mejora en el rendimiento de la red:
· Las arquitecturas
cliente/servidor eliminan la necesidad de mover grandes bloques de información por la red hacia los ordenadores personales o estaciones de trabajo para su proceso. Los servidores controlan los datos, procesan peticiones y después transfieren sólo los datos requeridos a la máquina cliente.
Tanto el cliente como el servidor pueden escalarse para ajustarse a las necesidades de las aplicaciones.
Inconvenientes
· Hay una alta complejidad tecnológica al tener que integrar una gran variedad de productos.
Es más difícil asegurar un elevado grado de seguridad en una red de clientes y servidores que en un sistema con un único ordenador centralizado.


11. Fases de implantación


· Fase de Iniciación


Esta etapa se centra sobre todo en la distribución física de los componentes entre plataformas. Los dos tipos de plataforma son:
· Una plataforma cliente para la presentación (generalmente un ordenador personal de sobremesa).
· Una plataforma servidora (como por ejemplo el servidor de una base de datos relacional) para la ejecución de procesos y la gestión de los datos.
· Fase de Proliferación
La segunda etapa de una arquitectura
cliente/servidor se caracteriza por la proliferación de plataformas clientes y servidoras. Ahora, el entorno para la interacción entre clientes y servidores se hace mucho más complejo.

· Fase de Control



En esta fase se consolidan los caminos de acceso desde una plataforma cliente particular a una plataforma servidora particular.
Los conceptos en los que se debe poner especial énfasis son los siguientes:
· Transparencia en la localización. Significa que la aplicación cliente no necesita saber nada acerca de la localización (física o lógica) de los datos o los procesos.
· Fase de Integración
Esta etapa se caracteriza por el papel conjunto que juegan la gestión de accesos, la gestión de copias y la gestión de recursos.

· Fase de Madurez


Esta es la etapa final de una arquitectura
cliente/servidor. Se caracteriza por una visión más flexible de las plataformas físicas del sistema que se contemplan como una única unidad lógica.
Criterios de utilización
El mercado de los sistemas
cliente/servidor está marcando nuevos caminos porque:

· La información puede ahora residir en redes de ordenadores personales.
· Los usuarios pueden tener un mayor acceso a los datos y a la capacidad de proceso.


El marketing también juega un papel importante. Muchos sistemas que se denominan
cliente/servidor en realidad distan bastante de serlo y muchas aplicaciones aseguran ser tan fiables como sus homólogas en el host.
Relación con otros conceptos


Arquitectura cliente/servidor y downsizing


Muchas organizaciones están transportando sus aplicaciones a plataformas más pequeñas (downsizing) para conseguir la ventaja que proporcionan las nuevas plataformas físicas más rentables y la arquitectura
cliente/servidor.
Independencia de Bases de Datos.
Las arquitecturas
cliente/servidor permiten aprovechar los conceptos de cliente y servidor para desarrollar aplicaciones que accedan a diversas bases de datos de forma transparente.

Relación con Orientación a Objetos.


No hay una única forma de programar aplicaciones
cliente/servidor; sin embargo, para un desarrollo rápido de aplicaciones cliente/servidor y para obtener una reducción importante de costes, la utilización de la tecnología cliente/servidor puede considerarse en conjunción con la de orientación a objetos.
Relación con los Sistemas Abiertos
Las arquitecturas
cliente/servidor se asocian a menudo con los sistemas abiertos, aunque muchas veces no hay una relación directa entre ellos.





No hay comentarios: