: : : : :
Lisbeth Fredes Jesenia Salazar Navarro Andrs Silva EL !"## $edes de co%&utadores ' Agust(n )onz*lez +niversidad Federico Santa ,ar(a "-.-/.#-'#
ndice
'0 1ndice #
#0 $esu%en
"
50 ,odelo ,ulti&lanos
60 4oo&eracin 4.S
70 8enta9as : ;esventa9as
/0 4onclusin
<
<0 Ane=os
>
14
Resumen
En relacin a la arquitectura cliente-servidor, es posible distinguir 3 clasificaciones: segn carga (Fat Client, Fat Server), servicio que entrega (de !!, fic"eros, #eb, pro$%, ob&etos % transacciones) % segn distribucin de funciones ('resentacin distribuida, 'resentacin re(ota, )cceso a datos re(oto, !! distribuidas, lgica o proceso distribuido)*
+na i(portante clasificacin de las arquitecturas cliente-servidor consiste en el (odelo (ultiplanos, que corresponde a una divisin de la clasificacin por ta(a,o de co(ponentes, tanto a nivel soft#are co(o "ard#are* En el pri(er caso, se refiere a servidores de aplicacin distribuidos a lo largo de una red, pudiendo reali-arse en . % 3 capas, segn el (odo de env/o de (ensa&es desde el cliente, % la respuesta generada en relacin a la devolucin de infor(acin* Cada siste(a presenta venta&as % desventa&as de acuerdo a variables co(o el tr0fico de infor(acin ocasionado o la si(ple-a del lengua&e utili-ado* En el segundo caso, el (odelo se enfoca en la distribucin de los procesos % ele(entos entre los co(ponentes, donde la ad(inistracin de la interfa- gr0fica se asocia a los clientes 'C % la seguridad e integridad de los datos se asocian a servidores locales %1o centrales* Se reali-a igual(ente en . % 3 capas segn el (odo de acceso a la base de datos*
Con el ob&eto de obtener pti(os resultados de los siste(as, se busca la e$istencia de cooperacin entre cliente % servidor, en la (edida en que el servidor pueda actuar co(o cliente* En estos casos, se "abla de un C"ained Server, capa- de llevar a cabo la accin tanto a corto co(o a largo pla-o* !e este (odo, el servidor controla el acceso a sus datos, protegiendo la integridad del siste(a % facilitando la actuali-acin de los (is(os, sin estar 2ste siste(a e$ento de inconvenientes*
14
3a lgica de acceso a datos* Funciones que gestionan todas las interacciones entre el S5 % los al(acenes de datos*
3a lgica de presentacin Funciones que gestionan la interfa- entre los usuarios del siste(a % el S5*
14
Presentaci"n Distribuida: El cliente asu(e parte de las funciones de presentacin de la aplicacin, %a que siguen e$istiendo progra(as en el servidor dedicados a esta tarea* El resto de funciones de la aplicacin residen en el servidor*
Presentaci"n remota: 7oda la lgica de negocio % acceso a datos se e&ecuta en el servidor* 7odas las funciones de presentacin son e&ecutadas en el cliente*
#"$ica o proceso distribuido: 3a lgica de los procesos se divide entre los distintos co(ponentes del cliente % del servidor* El dise,ador de la aplicacin debe definir los servicios % las interfaces del siste(a de infor(acin de for(a que los papeles de cliente % servidor sean interca(biables, e$cepto en el control de los datos que es responsabilidad e$clusiva del servidor*
%cceso a datos remoto: El cliente reali-a tanto las funciones de presentacin co(o los procesos* El servidor al(acena % gestiona los datos que per(anecen en una base de datos centrali-ada* En esta situacin se dice que "a% una gestin de datos remota.
Bases de datos distribuidas: Si(ilar al (odelo anterior, pero ade(0s el gestor de base de datos divide sus co(ponentes entre el cliente % el servidor* 3as interfaces entre a(bos est0n dentro de las funciones del gestor de datos %, por lo tanto, no tienen i(pacto en el desarrollo de las aplicaciones* En este nivel se da lo que se conoce co(o bases de datos distribuidas*
Modelos Multiplanos
+na de las clasificaciones (e&or conocidas de las arquitecturas Cliente1Servidor se basa en la idea de planos, la cual es una variacin sobre la divisin o clasificacin por ta(a,o de co(ponentes* !entro de esta categor/a tene(os las aplicaciones en dos planos, tres planos % (ulti-planos* Este t2r(ino se utili-a indistinta(ente para referirse tanto a aspectos lgicos (Soft#are) co(o f/sicos (8ard#are)*
% nivel de Soft&are: 'er(ite "ablar de servidores de aplicacin distribuidos a lo largo de una red* Dos Capas: Cone$in directa entre el proceso cliente % un ad(inistrador de bases de datos* !ependiendo de donde se localice el grupo de tareas correspondientes se pueden tener a su ve-: 'mplementado con S(# remoto: El cliente env/a (ensa&es con solicitudes S93 al servidor de bases de datos % el resultado de cada instruccin S93 es devuelto por la red: % es el (is(o cliente quien debe procesar todos los 14
registros que le fueron devueltos, segn el requeri(iento que 2l (is(o "i-o* )entaja: Estructura de desarrollo si(ple, %a que el progra(ador (ane&a un nico a(biente de desarrollo* Desventaja: 3a gran cantidad de infor(acin que via&a al cliente congestiona el tr0fico de red, lo que provoca un ba&o rendi(iento, li(it0ndose a la construccin de siste(as no cr/ticos* 'mplementado con Procedimientos %lmacenados: El cliente env/a lla(adas a funciones que residen en la base de datos, % es 2sta quien resuelve % procesa la totalidad de las instrucciones S93* )entaja: 3a (is(a venta&a del anterior, pero reduce el tr0fico por la red al procesar los datos en la (is(a base de datos, "aciendo via&ar slo el resultado final* 'nconvenientes: Se pierde fle$ibilidad % escalabilidad en las soluciones i(plantadas* ;bliga a basar el peso de la aplicacin en S93 e$tendido, propios del proveedor de la base de datos que se eli&a*
Tres Capas: Cliente env/a (ensa&es directo al servidor de aplicacin el cual debe ad(inistrar % responder todas las solicitudes* El servidor es quien accede % se conecta )entajas:
la
base
de
datos*
<ndependencia entre el cdigo de la aplicacin % los datos, (e&orando la portabilidad de las aplicaciones*
3os lengua&es de las aplicaciones son est0ndares* 'er(ite construir siste(as cr/ticos de alta fiabilidad* 6educe (anteni(iento, ca(bios de lti(a "ora o (e&oras al siste(a* !is(inu%e el n(ero de usuarios (licencias) conectados a la base de datos*
'nconvenientes:
!ependiendo del lengua&e de desarrollo, puede presentar (a%or co(ple&idad que Cliente1Servidor dos planos* E$isten pocos proveedores de "erra(ientas integradas de desarrollo de dos planos, % nor(al(ente son de alto costo*
14
% nivel de hard&are: Se basa en la distribucin de los procesos % ele(entos entre sus co(ponentes en el que la ad(inistracin de la interfa- gr0fica se asocia a los clientes 'C % la seguridad e integridad de los datos quedan asociados a servidores locales %1o centrales* Dos Capas: 3os clientes son conectados v/a 3)= a un servidor de aplicaciones local, el cual, dependiendo de la aplicacin puede dar acceso a los datos ad(inistrados por 2l* Tres Capas: 3os clientes son conectados v/a 3)= a un servidor de aplicaciones local, el cual a su ve- se co(unica con un servidor central de bases de datos* El servidor local acta co(o cliente o servidor en funcin de la direccin de la co(unicacin*
Cooperacin Cliente-Servidor
'ara opti(i-ar los siste(as no e$iste una estructura est0tica por lo que (uc"as veces un servidor se co(porta co(o cliente, este tipo de acciones es lo que se deno(ina cooperaciones cliente servidor, entre estos tene(os:
Chained Server: Estos servidores son aquellos que de ve- en cuando se co(portan co(o clientes, %a sea a corto o largo pla-o*
Temporal: Servidores se co(portan co(o clientes para un proceso en particular, una veter(inado dic"o proceso vuelve a su estado nor(al* E&: Servidor !=S* #ar$o Plazo Servidores se co(portan co(o clientes por (uc"o (0s tie(po que en la categor/a anterior para reali-ar varias transacciones orientadas a la aplicacin para la que est0 "ec"o* E&: Servidor 5eb
*+ltiple Server 'ara un (e&or servicio, se utili-an (ltiples servidores para que realicen tarea que reali-ar/a un solo servidor, incre(entando rapide- % confiabilidad*
Cooperaci"n de base de datos )l requerir infor(acin e$istente, interacta % la aprovec"a en ve- de crearla*
Ventajas y Desventajas
)entajas:
14
Servidor controla los accesos a sus datos protegiendo asi la integridad del siste(a % facilitando la actuali-acin de los datos* Escalabilidad* F0cil (anteni(iento: al estar distribuidas las funciones % responsabilidades entre varios ordenadores independientes, es posible ree(pla-ar, reparar, actuali-ar, o incluso trasladar un servidor, (ientras que sus clientes no se ver0n afectados por ese ca(bio* Esta independencia de los ca(bios ta(bi2n se conoce co(o encapsulacin*
Desventajas:
Congestin: Cuando una gran cantidad de clientes env/an peticiones si(ult0neas al (is(o servidor, puede ser que cause (uc"os proble(as para 2ste* El paradig(a de C1S cl0sico es (enos robusto que una red '.'* Se necesita soft#are % "ard#are espec/fico para que el servidor pueda satisfacer el traba&o* 'or supuesto, esto au(entar0 el coste*
14
Conclusin
)l finali-ar este traba&o llega(os a la conclusin de que el (odelo cliente servidor es (odelo fle$ible adaptable al servicio que se quiera i(ple(entar lo que nos per(ite au(entar el rendi(iento, Cliente1Servidor puede envolver variadas platafor(as, bases de datos, redes % siste(as operativos que pueden ser de diferentes distribuidores, en arquitecturas propietarias % no propietarias % funcionando todos al (is(o tie(po* Es un siste(a venta&oso en cuanto a seguridad, %a que el servidor controla el acceso a sus datos, se necesita que el servidor nos autorice a acceder a 2l* Es escalable % ante una gran de(anda el uso de balanceadores de carga en siste(as redundantes soluciona la congestin*
14
14
Anexos
Anexo 1: Servidor ELASTIX
Paso ,: descargar E3)S7<> desde el siguiente lin? : http://www.elastix.org/index.php/es/descargas/distro-principal.html Paso -: <nstalar E3)S7<> 3uego de ba&ar la i(agen se procede a grabarla en un disco1pendrive booteable e inicia(os desde este, al "acerlo se abrir0 una pantalla de caracter/sticas si(ilares a la (ostrada a continuacin, en la que solo bastar0 con presionar E=7E6 para iniciar su instalacin*
Selecciona(os el idio(a @Spanis"A % luego el teclado @la-latinBA 7ras lo anterior el progra(a pedir0 que seleccionen donde quieren instalar el S;, en este caso se usar0 todo el disco de la (aquina bac/a, pero se puede crear una particin para esto*
14
3uego "abr0 que seleccionar la -ona "oraria en la que debe(os buscar )(erica1Santiago
14
Paso .: Configurar E3)S7<> +na ve- instalado el progra(a, aparecer0 un recuadro que pedir0 un usuario % contrase,a para acceder, 2stos ser0n: usuario: root contrase,a: @la ingresada durante la instalacinA
'ara configurar E3)S7<> se debe conectar a la interfa- #eb de configuracin tipeando su direccin <' en cualquier navegador desde un ordenador (la <' aparecer0 auto(0tica(ente al ingresar, pero se puede ver de igual for(a al tipear el co(ando @ifconfigA)
3a interfa- #eb se ver0 co(o sigue, en ella se ingresar0 co(o @ad(inA con la contrase,a que usa(os en la instalacin*
)l entrar se observar0 una interfa- co(o la siguiente, en la cual se seleccionar0 la pesta,a ' > (destacada con a(arillo en la i(agen) +na ve- en esta
pinc"a(os la opcin E$tensions, donde se seleccionar0 @Ceneric S<' !eviceA % luego Sub(it*
14
)c0 rellena(os los ca(pos +ser E$tension, !ispla% =a(e, S<' )lias, ;utbound C<! % secret*
14
Cuarda(os*
14
6epeti(os lo anterior(ente reali-ado para el siguiente cliente* +na ve- ter(inado se observa a la derec"a de la pantalla algo si(ilar a la i(agen ad&unta a continuacin*
<D';67)=7E Se debe "abilitar la cone$in de virtualbo$ co(o @)daptador puenteA % @Dodo pro(iscuoA
Paso /: Configuracin de cliente 'ara este e&e(plo se usar0 el cliente E;<' Foiper para 5indo#s, el cual pueden descargar del siguiente lin?* http:00&&&1zoiper1com0do&nload2intermediate1php3 os4Windo&s5ap4z-5location4zoiper2free2-2installer2zip +na ve- reali-ada la descarga se debe desco(pri(ir para e(pe-ar a usarlo* 14
3a configuracin es bastante si(ple* +na ve- abierto Foiper selecciona(os la "erra(ienta configuracin (destacada en a(arillo)
En ella selecciona(os @)dd ne# S<' accountA % le da(os un no(bre cualquiera (este tutorial usa GH para si(plificar)
Final(ente ingresa(os en !o(ain la direccin de nuestro servidor E3)S7<> % los datos del cliente creado en 2l % listoI =uestro cliente est0 listo para lla(ar % recibir lla(adas (repeti(os los (is(os pasos para el otro cliente en caso de e$istir)*
14