Você está na página 1de 8

Elaborado por:

Cruz Callejas Diana


Gonzlez Resndiz Jonathan
Ibarra Badillo Joel

Diseo de
Software
Arquitectura Cliente-Servidor
Contenido
Introduccin
El principal motivo detrs de la evolucin del procesamiento de datos es la necesidad !ue tienen
las or"anizaciones #empresas o instituciones p$blicas o privadas%& de realizar sus operaciones ms
"il ' e(icientemente& debido a la creciente presin competitiva a la !ue estn sometidas& lo cual se
traduce en la necesidad de !ue su personal sea ms productivo& !ue se reduzcan
los costos ' "astos de operacin& al mismo tiempo !ue se "eneran productos ' servicios ms
rpidamente ' con mejor calidad)
En este conte*to& es necesario establecer una in(raestructura de procesamiento de in(ormacin&
!ue cuente con los elementos re!ueridos para proveer in(ormacin adecuada& e*acta ' oportuna
en la toma de decisiones ' para proporcionar un mejor servicio a los clientes)
El modelo Cliente+,ervidor re$ne las caracter-sticas necesarias para proveer esta in(raestructura&
independientemente del tama.o ' complejidad de las operaciones de las or"anizaciones p$blicas o
privadas '& consecuentemente desempe.a un papel importante en este proceso de evolucin)
Antecedentes
En el mundo de las comunicaciones entre computadoras se ri"en bsicamente por lo !ue se llama
modelo Cliente/,ervidor& ste es un modelo !ue intenta proveer usabilidad& (le*ibilidad&
interoperabilidad ' escalabilidad en las comunicaciones)
El trmino Cliente+,ervidor (ue usado por primera vez en 0123 para re(erirse a 4C5s en red)
Este modelo Cliente+,ervidor empez a ser aceptado a (inales de los 235s)
En "eneral& la tecnolo"-a de los servidores de base de datos ha evolucionado mucho en los $ltimos
a.os ' todos los (abricantes trabajan con tecnolo"-a sensiblemente e!uivalente) 4arecen& mucho
ms importantes para la eleccin& elementos !ue estn (uera de la tecnolo"-a: la con(ianza !ue nos
despierta el (abricante& su compromiso con el producto& su tendencia a mantenerse siempre
actualizado& su situacin econmico+(inanciera& las "arant-as !ue nos brinde el soporte local '& en
menor medida& el precio) 6un!ue inicialmente (ueron los propios usuarios !uienes impulsaron esta
nueva tecnolo"-a& la situacin ha cambiado drsticamente) 7o' en d-a& el modelo Cliente+,ervidor
se considera clave para abordar las necesidades de las empresas) El proceso distribuido se
reconoce actualmente como el nuevo paradi"ma de sistemas de in(ormacin& en contraste con los
sistemas independientes) Este cambio (undamental ha sur"ido como consecuencia de importantes
(actores #ne"ocio& tecnolo"-a& proveedores%& ' se apo'a en la e*istencia de una "ran variedad de
aplicaciones estndar ' herramientas de desarrollo& (ciles de usar !ue soportan un entorno
in(ormtico distribuido)
Concepto
8a ar!uitectura cliente+servidor es un modelo para el desarrollo de sistemas de in(ormacin& en el
!ue las transacciones se dividen en procesos independientes !ue cooperan entre s- para
intercambiar in(ormacin& servicios o recursos) ,e denomina cliente al proceso !ue inicia el dilo"o
o solicita los recursos ' servidor& al proceso !ue responde a las solicitudes) Es el modelo de
interaccin ms com$n entre aplicaciones en una red) #Instituto 9ecnol"ico de Colima%
Caractersticas
8as caracter-sticas bsicas de una ar!uitectura Cliente+,ervidor son:
: Combinacin de un cliente !ue interact$a con el usuario& ' un servidor !ue interact$a con
los recursos compartidos)
: 8as tareas del cliente ' del servidor tienen di(erentes re!uerimientos en cuanto a recursos
de cmputo como velocidad del procesador& memoria& velocidad ' capacidades del disco '
dispositivos de entrada+salida)
: ,e establece una relacin entre procesos distintos& los cuales pueden ser ejecutados en la
misma m!uina o en m!uinas di(erentes distribuidas a lo lar"o de la red)
: E*iste una clara distincin de (unciones basada en el concepto de ;servicio;& !ue se
establece entre clientes ' servidores)
: 8a relacin establecida puede ser de muchos a uno& en la !ue un servidor puede dar
servicio a muchos clientes& re"ulando su acceso a recursos compartidos)
: 8os clientes corresponden a procesos activos en cuanto a !ue son stos los !ue hacen
peticiones de servicios a los servidores)
: <o e*iste otra relacin entre clientes ' servidores !ue no sea la !ue se establece a travs
del intercambio de mensajes entre ambos)
: El ambiente es hetero"neo) 8a plata(orma de hard=are ' el sistema operativo del cliente '
del servidor no son siempre la misma)
: El concepto de escalabilidad tanto horizontal como vertical es aplicable a cual!uier sistema
Cliente+,ervidor)
Diagrama
>n sistema cliente+servidor (unciona tal como se detalla en el si"uiente dia"rama:
El cliente env-a una solicitud al servidor mediante su direccin I4 ' el puerto& !ue est
reservado para un servicio en particular !ue se ejecuta en el servidor)
El servidor recibe la solicitud ' responde con la direccin I4 del e!uipo cliente ' su puerto)
8a idea es tratar a una computadora como un instrumento& !ue por s- sola pueda realizar muchas
tareas& pero con la consideracin de !ue realice a!uellas !ue son ms adecuadas a sus
caracter-sticas) ,i esto se aplica tanto a clientes como servidores se entiende !ue la (orma ms
estndar de aplicacin ' uso de sistemas Cliente+,ervidor es mediante la e*plotacin de las 4C5s a
travs de inter(aces "r(icas de usuario? mientras !ue la administracin de datos ' su se"uridad e
inte"ridad se deja a car"o de computadoras centrales tipo main(rame) >sualmente la ma'or-a del
trabajo pesado se hace en el proceso llamado servidor ' el o los procesos cliente slo se ocupan
de la interaccin con el usuario #aun!ue esto puede variar%) En otras palabras la ar!uitectura
Cliente+,ervidor es una e*tensin de pro"ramacin modular en la !ue la base (undamental es
separar una "ran pieza de so(t=are en mdulos con el (in de hacer ms (cil el desarrollo ' mejorar
su mantenimiento)
Elementos
Cliente
Conjunto de ,o(t=are ' 7ard=are !ue invoca los servicios de uno o varios servidores) 8os Clientes
interact$an con el usuario& usualmente en (orma "r(ica) @recuentemente se comunican con
procesos au*iliares !ue se encar"an de establecer cone*in con el servidor& enviar el pedido&
recibir la respuesta& manejar las (allas ' realizar actividades de sincronizacin ' de se"uridad)
Caractersticas:
El Cliente oculta al ,ervidor ' la Red)
Detecta e intercepta peticiones de otras aplicaciones ' puede re direccionarlas)
Dedicado a la sesin del usuario #Inicia)))9ermina%)
El mtodo ms com$n por el !ue se solicitan los servicios es a travs de R4C #Remote
4rocedure Calls%)
Funciones Comunes del Cliente:
Aantener ' procesar todo el dialo"o con el usuario)
Aanejo de pantallas)
Aen$s e interpretacin de comandos)
Entrada de datos ' validacin)
4rocesamiento de a'udas)
Recuperacin de errores)
Generacin de consultas e in(ormes sobre las bases de datos)
Servidor
Conjunto de 7ard=are ' ,o(t=are !ue responde a los re!uerimientos de un cliente) 8os ,ervidores
proporcionan un servicio al cliente ' devuelven los resultados) En al"unos casos e*isten procesos
au*iliares !ue se encar"an de recibir las solicitudes del cliente& veri(icar la proteccin& activar un
proceso servidor para satis(acer el pedido& recibir su respuesta ' enviarla al cliente) 6dems& deben
manejar los interblo!ueos& la recuperacin ante (allas& ' otros aspectos a(ines)
Caractersticas
6l iniciarse esperan a !ue lle"uen las solicitudes de los clientes& desempe.an entonces un
papel pasivo en la comunicacin #dispositivo esclavo%)
9ras la recepcin de la solicitud& la procesan ' lue"o env-an la respuesta al cliente)
4or lo "eneral& aceptan cone*iones desde un "ran n$mero de clientes)
<o es (recuente !ue interact$en directamente con los usuarios)
Funciones Comunes del Servidor:
6cceso& almacenamiento ' or"anizacin de datos)
6ctualizacin de datos almacenados)
6dministracin de recursos compartidos)
Ejecucin de toda la l"ica para procesar una transaccin)
4rocesamiento com$n de elementos del servidor #Datos& capacidad de C4>&
almacenamiento en disco& capacidad de impresin& manejo de memoria ' comunicacin%)
Gestin de peri(ricos compartidos)
Control de accesos concurrentes a bases de datos compartidas)
Enlaces de comunicaciones con otras redes de rea local o e*tensa
Red
,e encar"a de transmitir la in(ormacin entre clientes ' servidores) @-sicamente consiste en un
cableado #coa*ial& par trenzado& (ibra ptica& etc)% o en cone*iones mediante se.ales de radio o
in(rarrojas& dependiendo de !ue la red sea local #86< o R68%& metropolitana #A6<% o de rea
e*tensa #B6<%)
9oda comunicacin& 'a sea cara a cara o por una red& est re"ida por re"las predeterminadas
denominadas protocolos) >n ejemplo del uso de protocolos en comunicaciones de red es la
interaccin entre un servidor Beb ' un e*plorador Beb) Esta interaccin utiliza una cantidad de
protocolos ' estndares en el proceso de intercambio de in(ormacin entre ellos) 8os distintos
protocolos trabajan en conjunto para ase"urar !ue ambas partes reciben ' entienden los mensajes)
6l"unos ejemplos de estos protocolos son:
Protocolo de aplicacin:
4rotocolo de trans(erencia de hiperte*to #7994% es un protocolo com$n !ue re"ula la (orma en !ue
interact$an un servidor Beb ' un cliente Beb)
Protocolo de transporte:
4rotocolo de control de transmisin #9C4% es el protocolo de transporte !ue administra las
conversaciones individuales entre servidores Beb ' clientes Beb)
Protocolo de internetwork:
El protocolo internet=orC ms com$n es el 4rotocolo de Internet #I4%)
Protocolos de acceso a la red:
Estos protocolos describen dos (unciones principales: administracin de enlace de datos '
transmisin (-sica de datos en los medios
Protocolo CP!IP: Especi(ica los detalles ' mecanismos para la transmisin de datos entre dos
aplicaciones comunicantes& pero no dictamina cuando ni por!ue deben interactuar ambas
aplicaciones)
>na in(raestructura Cliente+,ervidor consta de tres componentes esenciales& todos ellos de i"ual
importancia ' estrechamente li"ados:
Plata"orma #perativa$
Entorno de Desarrollo de Aplicaciones$
%estin de Sistemas$

: Plata"orma #perativa$& 8a plata(orma deber soportar todos los modelos de distribucin
Cliente+,ervidor& todos los servicios de comunicacin& ' deber utilizar& pre(erentemente&
componentes estndar de la industria para los servicios de distribucin) 8os desarrollos propios
deben coe*istir con las aplicaciones estndar ' su inte"racin deber ser imperceptible para el
usuario) I"ualmente& podrn acomodarse pro"ramas escritos utilizando di(erentes tecnolo"-as '
herramientas)
: Entorno de Desarrollo de Aplicaciones$ / Debe ele"irse despus de la plata(orma operativa)
>n entorno de aplicacin incremental& debe posibilitar la coe*istencia de procesos cliente ' servidor
desarrollados con distintos len"uajes de pro"ramacin '+o herramientas& as- como utilizar distintas
tecnolo"-as #por ejemplo& len"uaje procedural& len"uaje orientado a objetos& multimedia%& ' !ue han
sido puestas en e*plotacin en distintos momentos del tiempo)
: %estin de Sistemas$ / Estas (unciones aumentan considerablemente el costo de una solucin&
pero no se pueden evitar) ,iempre deben adaptarse a las necesidades de la or"anizacin& ' al
decidir la plata(orma operativa ' el entorno de desarrollo& es decir& en las primeras (ases de la
de(inicin de la solucin& merece la pena considerar los aspectos si"uientes:
DEu necesitamos "estionarF
DDnde estarn situados los procesadores ' estaciones de trabajoF
DCuntos tipos distintos se soportarnF
DEu tipo de soporte es necesario ' !uin lo proporcionaF
>na metodolo"-a !ue permita de(inir una in(raestructura para el sistema Cliente+,ervidor ' eval$e
la puesta en marcha del pro'ecto sobre una base racional)
El en(o!ue de dicha metodolo"-a comprende los pasos si"uientes:
Captacin de las necesidades) De(inir& analizar ' evaluar& aunando los re!uerimientos del
ne"ocio con las aportaciones tecnol"icas)
Dise.o conceptual en el !ue se sit$an los principales blo!ues (uncionales ' de datos del
sistema& mostrando la relacin ' comunicacin entre ambos)
Detalle de los principales componentes (uncionales& seleccin de procesos& determinando
los principios !ue deben aplicarse a la seleccin de so(t=are o dise.o de los mdulos)
6l (inal de los tres pasos anteriores& se de(inen los conceptos del sistema ' la in(raestructura
tecnol"ica& sin concretar& todav-a& en productos o plata(ormas espec-(icos)
4or $ltimo& se lle"a a la seleccin de plata(ormas ' principales productos ' componentes para la
implantacin) El resultado es la descripcin de una solucin !ue inclu'e in(raestructura tecnol"ica&
plata(ormas ' productos)
'enta(as
: >no de los aspectos !ue ms ha promovido el uso de sistemas Cliente+,ervidor& es la e*istencia
de plata(ormas de hard=are cada vez ms baratas)
: El es!uema Cliente+,ervidor (acilita la inte"racin entre sistemas di(erentes ' comparte
in(ormacin permitiendo& por ejemplo !ue las m!uinas 'a e*istentes puedan ser utilizadas pero
utilizando inter(aces ms ami"ables al usuario)
: 6l (avorecer el uso de inter(aces "r(icas interactivas& los sistemas construidos bajo este
es!uema tienen ma'or interaccin ' ms intuitiva con el usuario)
: >na ventaja adicional del uso del es!uema Cliente+,ervidor es !ue es ms rpido el
mantenimiento ' el desarrollo de aplicaciones)
: 8a estructura inherentemente modular (acilita adems la inte"racin de nuevas tecnolo"-as ' el
crecimiento de la in(raestructura computacional& (avoreciendo as- la escalabilidad de las soluciones)
: El es!uema Cliente+,ervidor contribu'e adems& a proporcionar& a los di(erentes departamentos
de una or"anizacin& soluciones locales& pero permitiendo la inte"racin de la in(ormacin
relevante a nivel "lobal)
Desventa(as
: El mantenimiento de los sistemas es ms di(-cil pues implica la interaccin de di(erentes partes de
hard=are ' de so(t=are& distribuidas por distintos proveedores& lo cual di(iculta el dia"nstico de
(allas)
: ,e cuenta con mu' escasas herramientas para la administracin ' ajuste del desempe.o de los
sistemas)
: Es importante !ue los clientes ' los servidores utilicen el mismo mecanismo #por ejemplo socCets
o R4C%& lo cual implica !ue se deben tener mecanismos "enerales !ue e*istan en di(erentes
plata(ormas)
: 6dems& ha' !ue tener estrate"ias para el manejo de errores ' para mantener la consistencia de
los datos)
: 8a se"uridad de un es!uema Cliente+,ervidor es otra preocupacin importante)
: El desempe.o es otro de los aspectos !ue se deben tener en cuenta en el es!uema
Cliente+,ervidor)
Cu)ndo implantar Cliente!Servidor
Eue en el pro'ecto a desarrollar e*istan aplicaciones !ue necesiten comunicarse)
8a aplicacin a desarrollar necesita unir entre s- un "ran n$mero de usuarios)
El pro'ecto necesita compartir recursos)
El pro'ecto a desarrollar necesita conse"uir un rendimiento considerablemente superior
con un aumento moderado del precio)
El pro'ecto necesita tener su in(ormacin centralizada)
El pro'ecto re!uiere independencia de la plata(orma hard=are ' so(t=are !ue se emplee)
El pro'ecto re!uiere de escalabilidad horizontal #a.adir clientes% ' vertical #ampliar potencia
de los servidores%)
Conclusin
En conclusin& Cliente+,ervidor puede incluir m$ltiples plata(ormas& bases de datos& redes '
sistemas operativos) Estos pueden ser de distintos proveedores& en ar!uitecturas propietarias ' no
propietarias ' (uncionando todos al mismo tiempo)
4or lo tanto& su implantacin involucra di(erentes tipos de estndares: 644C& 9C4+I4&
G,I& <@,& DRD6 corriendo sobre DG,& G,+H& Bindo=s o 4C ><II& en 9oCenRin"& Ethernet& @DDI
o medio coa*ial& slo por mencionar al"unas de las posibilidades)

Você também pode gostar