Está en la página 1de 9

Elaborado por:

Cruz Callejas Diana


Gonzlez Resndiz Jonathan
Ibarra Badillo Joel



Diseo de
Software
Arquitectura Cliente-Servidor


Contenido
Introduccin .................................................................................................................................... 2
Antecedentes ................................................................................................................................. 2
Concepto ......................................................................................................................................... 2
Caractersticas ................................................................................................................................ 3
Diagrama ......................................................................................................................................... 3
Elementos ......................................................................................................................................... 4
Cliente ........................................................................................................................................... 4
Caractersticas: ....................................................................................................................... 4
Funciones Comunes del Cliente: ...................................................................................... 4
Servidor ......................................................................................................................................... 5
Caractersticas ........................................................................................................................ 5
Funciones Comunes del Servidor: ..................................................................................... 5
Red ................................................................................................................................................. 5
Ventajas ............................................................................................................................................ 7
Desventajas ..................................................................................................................................... 7
Cundo implantar Cliente/Servidor ......................................................................................... 8
Conclusin ....................................................................................................................................... 8










Introduccin

El principal motivo detrs de la evolucin del procesamiento de datos es la necesidad
que tienen las organizaciones (empresas o instituciones pblicas o privadas), de realizar
sus operaciones ms gil y eficientemente, debido a la creciente presin competitiva a la
que estn sometidas, lo cual se traduce en la necesidad de que su personal sea ms
productivo, que se reduzcan los costos y gastos de operacin, al mismo tiempo que se
generan productos y servicios ms rpidamente y con mejor calidad.
En este contexto, es necesario establecer una infraestructura de procesamiento de
informacin, que cuente con los elementos requeridos para proveer informacin
adecuada, exacta y oportuna en la toma de decisiones y para proporcionar un mejor
servicio a los clientes.
El modelo Cliente/Servidor rene las caractersticas necesarias para proveer esta
infraestructura, independientemente del tamao y complejidad de las operaciones de las
organizaciones pblicas o privadas y, consecuentemente desempea un papel
importante en este proceso de evolucin.

Antecedentes

En el mundo de las comunicaciones entre computadoras se rigen bsicamente por lo que
se llama modelo Cliente-Servidor, ste es un modelo que intenta proveer usabilidad,
flexibilidad, interoperabilidad y escalabilidad en las comunicaciones.
El trmino Cliente/Servidor fue usado por primera vez en 1980 para referirse a PCs en red.
Este modelo Cliente/Servidor empez a ser aceptado a finales de los 80s.
En general, la tecnologa de los servidores de base de datos ha evolucionado mucho en
los ltimos aos y todos los fabricantes trabajan con tecnologa sensiblemente
equivalente. Parecen, mucho ms importantes para la eleccin, elementos que estn
fuera de la tecnologa: la confianza que nos despierta el fabricante, su compromiso con
el producto, su tendencia a mantenerse siempre actualizado, su situacin
econmico/financiera, las garantas que nos brinde el soporte local y, en menor medida,
el precio. Aunque inicialmente fueron los propios usuarios quienes impulsaron esta nueva
tecnologa, la situacin ha cambiado drsticamente. Hoy en da, el modelo
Cliente/Servidor se considera clave para abordar las necesidades de las empresas. El
proceso distribuido se reconoce actualmente como el nuevo paradigma de sistemas de
informacin, en contraste con los sistemas independientes. Este cambio fundamental ha
surgido como consecuencia de importantes factores (negocio, tecnologa, proveedores),
y se apoya en la existencia de una gran variedad de aplicaciones estndar y
herramientas de desarrollo, fciles de usar que soportan un entorno informtico distribuido.
Concepto
La arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de
informacin, en el que las transacciones se dividen en procesos independientes que
cooperan entre s para intercambiar informacin, servicios o recursos. Se denomina cliente
al proceso que inicia el dilogo o solicita los recursos y servidor, al proceso que responde a
las solicitudes. Es el modelo de interaccin ms comn entre aplicaciones en una red.
(Instituto Tecnolgico de Colima)
Caractersticas

Las caractersticas bsicas de una arquitectura Cliente/Servidor son:

Combinacin de un cliente que interacta con el usuario, y un servidor que
interacta con los recursos compartidos.
Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto a
recursos de cmputo como velocidad del procesador, memoria, velocidad y
capacidades del disco y dispositivos de entrada/salida.
Se establece una relacin entre procesos distintos, los cuales pueden ser
ejecutados en la misma mquina o en mquinas diferentes distribuidas a lo largo
de la red.
Existe una clara distincin de funciones basada en el concepto de "servicio", que
se establece entre clientes y servidores.
La relacin establecida puede ser de muchos a uno, en la que un servidor puede
dar servicio a muchos clientes, regulando su acceso a recursos compartidos.
Los clientes corresponden a procesos activos en cuanto a que son stos los que
hacen peticiones de servicios a los servidores.
No existe otra relacin entre clientes y servidores que no sea la que se establece a
travs del intercambio de mensajes entre ambos.
El ambiente es heterogneo. La plataforma de hardware y el sistema operativo del
cliente y del servidor no son siempre la misma.
El concepto de escalabilidad tanto horizontal como vertical es aplicable a
cualquier sistema Cliente/Servidor.
Diagrama
Un sistema cliente/servidor funciona tal como se detalla en el siguiente diagrama:









El cliente enva una solicitud al servidor mediante su direccin IP y el puerto, que est
reservado para un servicio en particular que se ejecuta en el servidor.
El servidor recibe la solicitud y responde con la direccin IP del equipo cliente y su
puerto.

La idea es tratar a una computadora como un instrumento, que por s sola pueda realizar
muchas tareas, pero con la consideracin de que realice aquellas que son ms
adecuadas a sus caractersticas. Si esto se aplica tanto a clientes como servidores se
entiende que la forma ms estndar de aplicacin y uso de sistemas Cliente/Servidor es
mediante la explotacin de las PCs a travs de interfaces grficas de usuario; mientras
que la administracin de datos y su seguridad e integridad se deja a cargo de
computadoras centrales tipo mainframe. Usualmente la mayora del trabajo pesado se
hace en el proceso llamado servidor y el o los procesos cliente slo se ocupan de la
interaccin con el usuario (aunque esto puede variar). En otras palabras la arquitectura
Cliente/Servidor es una extensin de programacin modular en la que la base
fundamental es separar una gran pieza de software en mdulos con el fin de hacer ms
fcil el desarrollo y mejorar su mantenimiento.

Elementos

Cliente
Conjunto de Software y Hardware que invoca los servicios de uno o varios servidores. Los
Clientes interactan con el usuario, usualmente en forma grfica. Frecuentemente se
comunican con procesos auxiliares que se encargan de establecer conexin con el
servidor, enviar el pedido, recibir la respuesta, manejar las fallas y realizar actividades de
sincronizacin y de seguridad.
Caractersticas:

El Cliente oculta al Servidor y la Red.
Detecta e intercepta peticiones de otras aplicaciones y puede re direccionarlas.
Dedicado a la sesin del usuario (Inicia...Termina).
El mtodo ms comn por el que se solicitan los servicios es a travs de RPC
(Remote Procedure Calls).
Funciones Comunes del Cliente:
Mantener y procesar todo el dialogo con el usuario.
Manejo de pantallas.
Mens e interpretacin de comandos.
Entrada de datos y validacin.
Procesamiento de ayudas.
Recuperacin de errores.
Generacin de consultas e informes sobre las bases de datos.

Servidor
Conjunto de Hardware y Software que responde a los requerimientos de un cliente. Los
Servidores proporcionan un servicio al cliente y devuelven los resultados. En algunos casos
existen procesos auxiliares que se encargan de recibir las solicitudes del cliente, verificar la
proteccin, activar un proceso servidor para satisfacer el pedido, recibir su respuesta y
enviarla al cliente. Adems, deben manejar los interbloqueos, la recuperacin ante fallas,
y otros aspectos afines.
Caractersticas
Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempean
entonces un papel pasivo en la comunicacin (dispositivo esclavo).
Tras la recepcin de la solicitud, la procesan y luego envan la respuesta al cliente.
Por lo general, aceptan conexiones desde un gran nmero de clientes.
No es frecuente que interacten directamente con los usuarios.
Funciones Comunes del Servidor:
Acceso, almacenamiento y organizacin de datos.
Actualizacin de datos almacenados.
Administracin de recursos compartidos.
Ejecucin de toda la lgica para procesar una transaccin.
Procesamiento comn de elementos del servidor (Datos, capacidad de CPU,
almacenamiento en disco, capacidad de impresin, manejo de memoria y
comunicacin).
Gestin de perifricos compartidos.
Control de accesos concurrentes a bases de datos compartidas.
Enlaces de comunicaciones con otras redes de rea local o extensa

Red

Se encarga de transmitir la informacin entre clientes y servidores. Fsicamente consiste en
un cableado (coaxial, par trenzado, fibra ptica, etc.) o en conexiones mediante seales
de radio o infrarrojas, dependiendo de que la red sea local (LAN o RAL), metropolitana
(MAN) o de rea extensa (WAN).
Toda comunicacin, ya sea cara a cara o por una red, est regida por reglas
predeterminadas denominadas protocolos. Un ejemplo del uso de protocolos en
comunicaciones de red es la interaccin entre un servidor Web y un explorador Web. Esta
interaccin utiliza una cantidad de protocolos y estndares en el proceso de intercambio
de informacin entre ellos. Los distintos protocolos trabajan en conjunto para asegurar
que ambas partes reciben y entienden los mensajes. Algunos ejemplos de estos protocolos
son:
Protocolo de aplicacin:
Protocolo de transferencia de hipertexto (HTTP) es un protocolo comn que regula la
forma en que interactan un servidor Web y un cliente Web.
Protocolo de transporte:
Protocolo de control de transmisin (TCP) es el protocolo de transporte que administra las
conversaciones individuales entre servidores Web y clientes Web.
Protocolo de internetwork:
El protocolo internetwork ms comn es el Protocolo de Internet (IP).
Protocolos de acceso a la red:
Estos protocolos describen dos funciones principales: administracin de enlace de datos y
transmisin fsica de datos en los medios
Protocolo TCP/IP: Especifica los detalles y mecanismos para la transmisin de datos entre
dos aplicaciones comunicantes, pero no dictamina cuando ni porque deben interactuar
ambas aplicaciones.

Una infraestructura Cliente/Servidor consta de tres componentes esenciales, todos ellos de
igual importancia y estrechamente ligados:

Plataforma Operativa.
Entorno de Desarrollo de Aplicaciones.
Gestin de Sistemas.


Plataforma Operativa.- La plataforma deber soportar todos los modelos de distribucin
Cliente/Servidor, todos los servicios de comunicacin, y deber utilizar, preferentemente,
componentes estndar de la industria para los servicios de distribucin. Los desarrollos
propios deben coexistir con las aplicaciones estndar y su integracin deber ser
imperceptible para el usuario. Igualmente, podrn acomodarse programas escritos
utilizando diferentes tecnologas y herramientas.
Entorno de Desarrollo de Aplicaciones. - Debe elegirse despus de la plataforma
operativa. Un entorno de aplicacin incremental, debe posibilitar la coexistencia de
procesos cliente y servidor desarrollados con distintos lenguajes de programacin y/o
herramientas, as como utilizar distintas tecnologas (por ejemplo, lenguaje procedural,
lenguaje orientado a objetos, multimedia), y que han sido puestas en explotacin en
distintos momentos del tiempo.
Gestin de Sistemas. - Estas funciones aumentan considerablemente el costo de una
solucin, pero no se pueden evitar. Siempre deben adaptarse a las necesidades de la
organizacin, y al decidir la plataforma operativa y el entorno de desarrollo, es decir, en
las primeras fases de la definicin de la solucin, merece la pena considerar los aspectos
siguientes:

Qu necesitamos gestionar?
Dnde estarn situados los procesadores y estaciones de trabajo?
Cuntos tipos distintos se soportarn?
Qu tipo de soporte es necesario y quin lo proporciona?

Una metodologa que permita definir una infraestructura para el sistema Cliente/Servidor y
evale la puesta en marcha del proyecto sobre una base racional.

El enfoque de dicha metodologa comprende los pasos siguientes:
Captacin de las necesidades. Definir, analizar y evaluar, aunando los
requerimientos del negocio con las aportaciones tecnolgicas.
Diseo conceptual en el que se sitan los principales bloques funcionales y de
datos del sistema, mostrando la relacin y comunicacin entre ambos.
Detalle de los principales componentes funcionales, seleccin de procesos,
determinando los principios que deben aplicarse a la seleccin de software o
diseo de los mdulos.
Al final de los tres pasos anteriores, se definen los conceptos del sistema y la infraestructura
tecnolgica, sin concretar, todava, en productos o plataformas especficos.
Por ltimo, se llega a la seleccin de plataformas y principales productos y componentes
para la implantacin. El resultado es la descripcin de una solucin que incluye
infraestructura tecnolgica, plataformas y productos.

Ventajas

Uno de los aspectos que ms ha promovido el uso de sistemas Cliente/Servidor, es la
existencia de plataformas de hardware cada vez ms baratas.
El esquema Cliente/Servidor facilita la integracin entre sistemas diferentes y comparte
informacin permitiendo, por ejemplo que las mquinas ya existentes puedan ser
utilizadas pero utilizando interfaces ms amigables al usuario.
Al favorecer el uso de interfaces grficas interactivas, los sistemas construidos bajo este
esquema tienen mayor interaccin y ms intuitiva con el usuario.
Una ventaja adicional del uso del esquema Cliente/Servidor es que es ms rpido el
mantenimiento y el desarrollo de aplicaciones.
La estructura inherentemente modular facilita adems la integracin de nuevas
tecnologas y el crecimiento de la infraestructura computacional, favoreciendo as la
escalabilidad de las soluciones.
El esquema Cliente/Servidor contribuye adems, a proporcionar, a los diferentes
departamentos de una organizacin, soluciones locales, pero permitiendo la integracin
de la informacin relevante a nivel global.
Desventajas

El mantenimiento de los sistemas es ms difcil pues implica la interaccin de diferentes
partes de hardware y de software, distribuidas por distintos proveedores, lo cual dificulta el
diagnstico de fallas.
Se cuenta con muy escasas herramientas para la administracin y ajuste del
desempeo de los sistemas.
Es importante que los clientes y los servidores utilicen el mismo mecanismo (por ejemplo
sockets o RPC), lo cual implica que se deben tener mecanismos generales que existan en
diferentes plataformas.
Adems, hay que tener estrategias para el manejo de errores y para mantener la
consistencia de los datos.
La seguridad de un esquema Cliente/Servidor es otra preocupacin importante.
El desempeo es otro de los aspectos que se deben tener en cuenta en el esquema
Cliente/Servidor.

Cundo implantar Cliente/Servidor
Que en el proyecto a desarrollar existan aplicaciones que necesiten comunicarse.
La aplicacin a desarrollar necesita unir entre s un gran nmero de usuarios.
El proyecto necesita compartir recursos.
El proyecto a desarrollar necesita conseguir un rendimiento considerablemente
superior con un aumento moderado del precio.
El proyecto necesita tener su informacin centralizada.
El proyecto requiere independencia de la plataforma hardware y software que se
emplee.
El proyecto requiere de escalabilidad horizontal (aadir clientes) y vertical (ampliar
potencia de los servidores).
Conclusin

En conclusin, Cliente/Servidor puede incluir mltiples plataformas, bases de datos, redes y
sistemas operativos. Estos pueden ser de distintos proveedores, en arquitecturas
propietarias y no propietarias y funcionando todos al mismo tiempo.
Por lo tanto, su implantacin involucra diferentes tipos de estndares: APPC, TCP/IP,
OSI, NFS, DRDA corriendo sobre DOS, OS/2, Windows o PC UNIX, en TokenRing, Ethernet,
FDDI o medio coaxial, slo por mencionar algunas de las posibilidades.

También podría gustarte