el modelo cliente servidor

9
 El Modelo Cliente Servidor El modelo cliente-servidor de un sistema distribuido es el modelo más conocido y más ampliamente adoptado en la actualidad. Hay un conjunto de procesos servidores, cada uno actuando como un gestor de recursos para una colección de recursos de un tipo, y una colección de procesos clientes, cada uno llevando a cabo una tarea que requiere acceso a algunos recursos hardware y software compartidos. Los gestores de recursos a su vez podrían necesitar acceder a recursos compartidos manejados por otros procesos, así que algunos procesos son ambos clientes y servidores. En el modelo, cliente-servidor, todos los recursos compartidos son mantenidos y manejados por los procesos servidores. Los procesos clientes realizan peticiones a los servidores cuando necesitan acceder a algún recurso. Si la petición es valida, entonces el  servidor lleva a cabo la acción requerida y envía una respuesta al proceso cliente. El termino proceso se usa aquí en el sentido clásico de los sistemas operativos. Un proceso es un programa en ejecución. Consiste en un entorno de ejecución con al menos un thread de control. El modelo cliente-servidor nos da un enfoque  efectivo y de propósito general para la compartición de información y de recursos en los sistemas distribuidos. El modelo  puede ser imple ment ado en una gran varied ad de entorn os softwa re y hardware. Las compu tado ras que ejecut en los   progra mas cli entes y servi dores pu eden ser d e muchos tipos y no ex iste la nece sidad de d isting uir entre el las; los proc esos cliente y servidor pueden incluso residir en la misma maquina. En esta visión simple del modelo cliente-servidor, cada proceso servidor podría ser visto como un proveedor centralizado de los recursos que maneja. La provisión de recursos centralizada no es deseable en los sistemas distribuidos. Es por esta razón por lo que se hace una distinción entre los servicios proporcionados a los clientes y los servidores encargados de  provee r dichos servic ios. Se consid era un servicio como una entidad abs tracta que pue de ser provista por vario s procesos  servidores ejecutándose en computadoras separadas y cooperando vía red. El modelo cliente-servidor se ha extendido y utilizado en los sistemas actuales con servicios manejando muchos diferentes tip os de recu rso s compart idos - correo elec tró nic o y men saj es de not icia s, fich ero s, sincron iza ció n de relo jes, almacenamiento en disco, impresoras, comunicaciones de área extensa, e incluso las interfaces gráficas de usuario. Pero no es posible que todos los recursos que existen en un sistema distribuido sean manejados y compartidos de esta manera; algunos tipos de recursos deben permanecer locales a cada computadora de cara a una mayor eficiencia - RAM,  proces ador, interfaz de red local -. Estos recursos clave son manejados separad amen te por un sistema operativo en cada maquina; solo podrían ser compartidos entre procesos localizados en el mismo ordenador. Aunque el modelo cliente-servidor no satisface todos los requisitos necesarios para todas las aplicaciones distribuidos, es  adecuado para muchas de las aplicaciones actuales y provee una base efectiva para los sistemas operativos distribuidos de  propó sito g eneral . APLICACIONES Lenguajes del lado servidor o cliente. El navegador es una especie de aplicación capaz de interpretar las órdenes recibidas en forma de código HTML fundamentalmente y convertirlas en las páginas que son el resultado de dicha orden.

Upload: jorman-morillo-ruiz

Post on 20-Jul-2015

228 views

Category:

Documents


0 download

TRANSCRIPT

5/17/2018 El Modelo Cliente Servidor - slidepdf.com

http://slidepdf.com/reader/full/el-modelo-cliente-servidor 1/9

El Modelo Cliente Servidor 

El modelo cliente-servidor de un sistema distribuido es el modelo más conocido y más ampliamente adoptado actualidad. Hay un conjunto de procesos servidores, cada uno actuando como un gestor de recursos para una colecció

recursos de un tipo, y una colección de procesos clientes, cada uno llevando a cabo una tarea que requiere accalgunos recursos hardware y software compartidos. Los gestores de recursos a su vez podrían necesitar acceder a recu

compartidos manejados por otros procesos, así que algunos procesos son ambos clientes y servidores. En el mocliente-servidor, todos los recursos compartidos son mantenidos y manejados por los procesos servidores. Los proc

clientes realizan peticiones a los servidores cuando necesitan acceder a algún recurso. Si la petición es valida, entonc

servidor lleva a cabo la acción requerida y envía una respuesta al proceso cliente.

El termino proceso se usa aquí en el sentido clásico de los sistemas operativos. Un proceso es un programa en ejecu

Consiste en un entorno de ejecución con al menos un thread de control. El modelo cliente-servidor nos da un enf

efectivo y de propósito general para la compartición de información y de recursos en los sistemas distribuidos. El mo puede ser implementado en una gran variedad de entornos software y hardware. Las computadoras que ejecute

 programas clientes y servidores pueden ser de muchos tipos y no existe la necesidad de distinguir entre ellas; los procliente y servidor pueden incluso residir en la misma maquina.

En esta visión simple del modelo cliente-servidor, cada proceso servidor podría ser visto como un proveedor centrali

de los recursos que maneja. La provisión de recursos centralizada no es deseable en los sistemas distribuidos. Es por

razón por lo que se hace una distinción entre los servicios proporcionados a los clientes y los servidores encargad proveer dichos servicios. Se considera un servicio como una entidad abstracta que puede ser provista por varios pro

servidores ejecutándose en computadoras separadas y cooperando vía red.

El modelo cliente-servidor se ha extendido y utilizado en los sistemas actuales con servicios manejando muchos difer

tipos de recursos compartidos - correo electrónico y mensajes de noticias, ficheros, sincronización de re

almacenamiento en disco, impresoras, comunicaciones de área extensa, e incluso las interfaces gráficas de usuario.

no es posible que todos los recursos que existen en un sistema distribuido sean manejados y compartidos de esta maalgunos tipos de recursos deben permanecer locales a cada computadora de cara a una mayor eficiencia - R

 procesador, interfaz de red local -. Estos recursos clave son manejados separadamente por un sistema operativo enmaquina; solo podrían ser compartidos entre procesos localizados en el mismo ordenador.

Aunque el modelo cliente-servidor no satisface todos los requisitos necesarios para todas las aplicaciones distribuido

adecuado para muchas de las aplicaciones actuales y provee una base efectiva para los sistemas operativos distribuid

 propósito general.

APLICACIONES

Lenguajes del lado servidor o cliente. El navegador es una especie de aplicación capaz de interpretar las órdenes recien forma de código HTML fundamentalmente y convertirlas en las páginas que son el resultado de dicha orden.

5/17/2018 El Modelo Cliente Servidor - slidepdf.com

http://slidepdf.com/reader/full/el-modelo-cliente-servidor 2/9

Cuando nosotros pinchamos sobre un enlace hipertexto, en realidad lo que pasa es que establecemos una petición d

archivo HTML residente en el servidor (un ordenador que se encuentra continuamente conectado a la red) el cu

enviado e interpretado por nuestro navegador (el cliente). Así pues, podemos hablar de lenguajes de lado servidor qu

aquellos lenguajes que son reconocidos, ejecutados e interpretados por el propio servidor y que se envían al cliente e

formato comprensible para él. Por otro lado, los lenguajes de lado cliente (entre los cuales no sólo se encuentra el HT

sino también el Java y el JavaScript los cuales son simplemente incluidos en el código HTML) son aquellos que pu

ser directamente "digeridos" por el navegador y no necesitan un pretratamiento.

5/17/2018 El Modelo Cliente Servidor - slidepdf.com

http://slidepdf.com/reader/full/el-modelo-cliente-servidor 3/9

Cada uno de estos tipos tiene por supuesto sus ventajas y sus inconvenientes. Así, por ejemplo, un lenguaje de lado cl

es totalmente independiente del servidor, lo cual permite que la página pueda ser albergada en cualquier sitio sin nece

de pagar más ya que, por regla general, los servidores que aceptan páginas con scripts de lado servidor son en su ma

de pago o sus prestaciones son muy limitadas. Inversamente, un lenguaje de lado servidor es independiente del client

lo que es mucho menos rígido respecto al cambio de un navegador a otro o respecto a las versiones del mismo.

 

Lenguajes del lado cliente

HTML

El lenguaje llamado HTML indica al navegador donde colocar cada texto, cada imagen o cada video y

forma que tendrán estos al ser colocados en la página. Elel lenguaje consta de etiquetas que tienen eforma <B> o <P>. Cada etiqueta significa una cosa, por ejemplo <B> significa que se escriba en negr

(bold) o <P> significa un párrafo, <A> es un enlace, etc. Casi todas las etiquetas tienen su correspondienetiqueta de cierre, que indica que a partir de ese punto no debe de afectar la etiqueta. Por ejemplo </B>

utiliza para indicar que se deje de escribir en negrita. Así que el HTML no es más que una serie

etiquetas que se utilizan para definir la forma o estilo que queremos aplicar a nuestro documento. <B>Eestá en negrita</B>. Esta página es un claro ejemplo de uso del HTML.

JAVASCRIPT

Javascript es un lenguaje de programación utilizado para crear pequeños programitas encargadde realizar acciones dentro del ámbito de una página web. Se trata de un lenguaje de programaci

del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Su uso  basa fundamentalmente en la creación de efectos especiales en las páginas y la definición

interactividades con el usuario. Las sentencias escritas en javascript se encapsulan entre letiquetas <script> y </script>. por ejemplo, si en el código de una página Web incluimos

sentencia<script>

window.alert("Bienvenido a mi sitio web. Gracias...")</script>

al abrir la página con el navegador se nos mostrará una ventana de bienvenida

APPLETS DE JAVA

Es otra manera de incluir código a ejecutar en los clientes que visualizan una página web. Se tra

de pequeños programas hechos en Java, que se transfieren con las páginas web y que el navegadejecuta en el espacio de la página. Los applets de Java están programados en Java

 precompilados, es por ello que la manera de trabajar de éstos varía un poco con respecto a l

lenguajes de script como Javascript. Los applets son más difíciles de programar que los scripts

Javascript y requerirán unos conocimientos básicos o medios del lenguaje Java. La principventaja de utilizar applets consiste en que son mucho menos dependientes del navegador que l

scripts en Javascript, incluso independientes del sistema operativo del ordenador donde

5/17/2018 El Modelo Cliente Servidor - slidepdf.com

http://slidepdf.com/reader/full/el-modelo-cliente-servidor 4/9

ejecutan. Además, Java es más potente que Javascript, por lo que el número de aplicaciones de l

applets podrá ser mayor. Como desventajas en relación con Javascript cabe señalar que los appl

son más lentos de procesar y que tienen espacio muy delimitado en la página donde se ejecutan,decir, no se mezclan con todos los componentes de la página ni tienen acceso a ellos. Es por e

que con los applets de Java no podremos hacer directamente cosas como abrir ventan

secundarias, controlar Frames, formularios, capas, etc.

VISUAL BASIC SCRIPT

Es un lenguaje de programación de scripts del lado del cliente, pero sólo compatible con InternExplorer. Es por ello que su utilización está desaconsejada a favor de Javascript. Está basado

Visual Basic, un popular lenguaje para crear aplicaciones Windows. Tanto su sintaxis comomanera de trabajar están muy inspirados en él. Sin embargo, no todo lo que se puede hacer

Visual Basic lo podremos hacer en Visual Basic Script, pues este último es una versión reduci

del primero. El modo de funcionamiento de Visual Basic Script para construir efectos especia

en páginas web es muy similar al utilizado en Javascript y los recursos a los que se puede accedtambién son los mismos: el navegador.

FLASH

Flash es una tecnología, y un programa, para crear efectos especiales en páginas web. Con Fla

también conseguimos hacer páginas dinámicas del lado del cliente. Flash en realidad no es ulenguaje; Sin embargo, si tuvieramos que catalogarlo en algún sitio quedaría dentro del ámbito

las páginas dinámicas de cliente.

Para visualizar las "películas" Flash, nuestro navegador debe tener instalado un programita (plu

in) que le permita visualizarlas.

CSS

CSS, es una tecnología que nos permite crear páginas web de una manera más exacta. Gracias a lCSS somos mucho más dueños de los resultados finales de la página, pudiendo hacer muchas cos

que no se podía hacer utilizando solamente HTML, como incluir márgenes, tipos de letra, fondocolores... Incluso podemos definir nuestros propios estilos en un archivo externo a nuestr

 páginas; así, si en algún momento queremos cambiar alguno de ellos, automáticamente se n

actualizarán todas las páginas vinculadas de nuestro siti

CSS son las siglas de Cascading Style Sheets, en español Hojas de estilo en Cascada.

Lenguajes del lado servidor 

CGI

Es el sistema más antiguo que existe para la programación de las páginas dinámicas de servidor.Actualmente se encuentra un poco desfasado por diversas razones entre las que destaca la

dificultad con la que se desarrollan los programas y la pesada carga que supone para el servidor que los ejecuta. Los CGI se escriben habitualmente en el lenguaje Perl, sin embargo, otros

lenguajes como C, C++ o Visual Basic pueden ser también empleados para construirlos.

PERL

5/17/2018 El Modelo Cliente Servidor - slidepdf.com

http://slidepdf.com/reader/full/el-modelo-cliente-servidor 5/9

Perl es un lenguaje de programación interpretado, al igual que muchos otros lenguajes de Internetcomo Javascript o ASP. Esto quiere decir que el código de los scripts en Perl no se compila sino

que cada vez que se quiere ejecutar se lee el código y se pone en marcha interpretando lo que hay

escrito. Además es extensible a partir de otros lenguajes, ya que desde Perl podremos hacer 

llamadas a subprogramas escritos en otros lenguajes. También desde otros lenguajes podremosejecutar código Perl.

ASP

ASP (Active Server Pages) es la tecnología desarrollada por Microsoft para la creación de páginas

dinámicas del servidor. ASP se escribe en la misma página web, utilizando el lenguaje VisualBasic Script o Jscript (Javascript de Microsoft).

PHP

PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado delservidor gratuito e independiente de plataforma, rápido, con una gran librería de funciones ymucha documentación.

JSP

JSP es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como Páginas de

Servidor Java. Es, pues, una tecnología orientada a crear páginas web con programación en Java.

Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web, de

múltiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Por tanto, las JSP podremos escribirlas con nuestro editor HTML/XML habitual.

Lenguajes del lado cliente-servidor 

DHTML

DHTML no es precisamente un lenguaje de programación. Más bien se trata de una nuevcapacidad de la que disponen los navegadores modernos, por la cual se puede tener un mayo

control sobre la página que antes. Cualquier página que responde a las actividades del usuario

realiza efectos y funcionalidades se puede englobar dentro del DHTML, pero en este caso noreferimos más a efectos en el navegador por los cuales se pueden mostrar y ocultar elementos de  página, se puede modificar su posición, dimensiones, color, etc.

DHTML nos da más control sobre la página, gracias a que los navegadores modernos incluyen un

nueva estructura para visualizar en páginas web denominada capa. Las capas se pueden ocultamostrar, desplazar, etc. Para realizar las acciones sobre la página, como modificar la apariencia d

una capa, seguimos necesitando un lenguaje de programación del lado del cliente como Javascript VBScript. En la actualidad, DHTML también puede englobar la programación en el servido

Dentro del concepto de DHTML se engloban también las Hojas de Estilo en Cascada o CS

(Cascade Style Sheets), que veremos a continuación.

5/17/2018 El Modelo Cliente Servidor - slidepdf.com

http://slidepdf.com/reader/full/el-modelo-cliente-servidor 6/9

XML

XML es una tecnología en realidad muy sencilla que tiene a su alrededor otras tecnologías que l

complementan y la hacen mucho más grande y con unas posibilidades mucho mayores. XML, cotodas las tecnologías relacionadas, representa una manera distinta de hacer las cosas, má

avanzada, cuya principal novedad consiste en permitir compartir los datos con los que se trabaja todos los niveles, por todas las aplicaciones y soportes.

 MODELOS CLIENTE/SERVIDORUna de las clasificaciones mejor conocidas de las arquitecturas Cliente/Servidor se basa en la idea de planos (tier), la c

es una variación sobre la división o clasificación por tamaño de componentes. Esto se debe a que se trata de definir el

modo en que las prestaciones funcionales de la aplicación serán asignadas, y en qué proporción, tanto al cliente como

servidor. Dichas prestaciones se deben agrupar entre los tres componentes clásicos para Cliente/Servidor: interfaz de

usuario, lógica de negocios y los datos compartidos, cada uno de los cuales corresponde a un plano. Ni que decir tiene

la mala elección de uno u otro modelo puede llegar a tener consecuencias fatales. Dentro de esta categoría tenemos las

aplicaciones en dos planos (two-tier), tres planos (three-tier) y multi-planos (multi-tier). Dado que este término ha sido

sobrecargado de significados por cuanto se lo utiliza indistintamente para referirse tanto a aspectos lógicos (Software)

como físicos (Hardware), aquí se esquematizan ambas acepciones.

A NIVEL DE SOFTWAREEste enfoque o clasificación es el más generalizado y el que más se ajusta a los enfoques modernos, dado que se

fundamenta en los componentes lógicos de la estructura Cliente/Servidor y en la madurez y popularidad de la comput

distribuida. Por ejemplo, esto permite hablar de servidores de aplicación distribuidos a lo largo de una red, y no tiene

mucho sentido identificar a un equipo de hardware como servidor, si no más bien entenderlo como una plataforma físi

sobre la cual pueden operar uno o más servidores de aplicaciones.

MODELO CLIENTE/SERVIDOR 2 CAPAS

Esta estructura se caracteriza por la conexión directa entre el proceso cliente y un administrador de bases de datos.

Dependiendo de donde se localice el grupo de tareas correspondientes a la lógica de negocios se pueden tener a su veztipos distintos dentro de esta misma categoría:

 IMPLEMENTADO CON SQL REMOTO

En este esquema el cliente envía mensajes con solicitudes SQL al servidor de bases de datos y el resultado de cada

instrucción SQL es devuelto por la red, no importando si son uno, diez, cien o mil registros. Es el mismo cliente quien

debe procesar todos los registros que le fueron devueltos por el servidor de base de datos, según el requerimiento que

mismo hizo. Esto hace que este tipo de estructura se adecue a los requerimientos de aplicaciones orientadas a los siste

de apoyo y gestión, pero resultan inadecuados para los sistemas críticos en que se requieran bajos tiempos de respuest

Ventajas:• Presenta una estructura de desarrollo bastante simple ya que el programador maneja un único ambiente de

desarrollo (es más simple respecto al Cliente/Servidor en tres planos, puesto que reduce una capa de

 programación, como se verá más adelante).

• Inconvenientes:

• La gran cantidad de información que viaja al cliente congestiona demasiado el tráfico de red, lo que se traen bajo rendimiento.

• Por su bajo rendimiento esta estructura tiene un bajo espectro de aplicación, limitándose a la construcción

sistemas no críticos.

 IMPLEMENTADO CON PROCEDIMIENTOS ALMACENADOS 

5/17/2018 El Modelo Cliente Servidor - slidepdf.com

http://slidepdf.com/reader/full/el-modelo-cliente-servidor 7/9

En este esquema el cliente envía llamadas a funciones que residen en la base de datos, y es ésta quien resuelve y proce

totalidad de las instrucciones SQL agrupadas en la mencionada función. Ventajas: Presenta las mismas ventajas de un

arquitectura dos planos con procedimientos almacenados, pero mejora considerablemente el rendimiento sobre ésta, d

que reduce el tráfico por la red al procesar los datos en la misma base de datos, haciendo viajar sólo el resultado final d

un conjunto de instrucciones SQL. Inconvenientes: Si bien la complejidad de desarrollo se ve disminuida, se pierde

flexibilidad y escalabilidad en las soluciones implantadas. Obliga a basar el peso de la aplicación en SQL extendido,

 propios del proveedor de la base de datos que se elija. Debiera considerarse que sí bien los procedimientos almacenad

(stored procedures), los desencadenantes (triggers) y las reglas (constraint) son útiles, en rigor son ajenos al estándar d

SQL

MODELO CLIENTE/SERVIDOR 3 CAPAS

Esta estructura se caracteriza por elaborar la aplicación en base a dos capas principales de software, más la capa

correspondiente al servidor de base de datos. Al igual que en la arquitectura dos capas, y según las decisiones de diseñ

que se tomen, se puede balancear la carga de trabajo entre el proceso cliente y el nuevo proceso correspondiente al

servidor de aplicación. En este esquema el cliente envía mensajes directamente al servidor de aplicación el cual debe

administrar y responder todas las solicitudes. Es el servidor, dependiendo del tipo de solicitud, quien accede y se cone

con la base de datos. Ventajas:

• Reduce el tráfico de información en la red por lo que mejora el rendimiento de los sistemas (especialmenterespecto a la estructura en dos planos).

• Brinda una mayor flexibilidad de desarrollo y de elección de plataformas sobre la cual montar las aplicaciones

Provee escalabilidad horizontal y vertical.

• Se mantiene la independencia entre el código de la aplicación (reglas y conocimiento del negocio) y los datos,

mejorando la portabilidad de las aplicaciones.

• Los lenguajes sobre los cuales se desarrollan las aplicaciones son estándares lo que hace más exportables las

aplicaciones entre plataformas.

• Dado que mejora el rendimiento al optimizar el flujo de información entre componentes, permite construir 

sistemas críticos de alta fiabilidad.

• El mismo hecho de localizar las reglas del negocio en su propio ambiente, en vez de distribuirlos en la capa de

interfaz de usuario, permite reducir el impacto de hacer mantenimiento, cambios urgentes de última hora o meal sistema.

• Disminuye el número de usuarios (licencias) conectados a la base de datos.

• Inconvenientes:

• Dependiendo de la elección de los lenguajes de desarrollo, puede presentar mayor complejidad en comparaciócon Cliente/Servidor dos planos.

• Existen pocos proveedores de herramientas integradas de desarrollo con relación al modelo Cliente/Servidor d

 planos, y normalmente son de alto costo.

A NIVEL DE HARDWARE

Esta clasificación del modelo Cliente/Servidor se basa igualmente en la distribución de los procesos y elementos entrecomponentes, pero centrándose en la parte física del mismo, en el que la administración de la interfaz gráfica se asocia

los clientes PC y la seguridad e integridad de los datos quedan asociados a ambientes mainframe o por lo menos a

servidores locales y/o centrales.

MODELO CLIENTE / SERVIDOR 2 CAPAS

Los clientes son conectados vía LAN a un servidor de aplicaciones local, el cual, dependiendo de la aplicación puede

acceso a los datos administrados por él.

5/17/2018 El Modelo Cliente Servidor - slidepdf.com

http://slidepdf.com/reader/full/el-modelo-cliente-servidor 8/9

MODELO CLIENTE / SERVIDOR 3 CAPAS

Los clientes son conectados vía LAN a un servidor de aplicaciones local, el cual a su vez se comunica con un servidor

central de bases de datos. El servidor local tiene un comportamiento dual, dado que actúa como cliente o servidor en

función de la dirección de la comunicación.

MODELOS CLIENTE / SERVIDOR SEGÚN EL REPARTO DE FUNCIONES ENTRE CLIENTE YSERVIDOR.

Separación de funciones.

Las distintas arquitecturas cliente/servidor presentan variaciones acerca de cómo son distribuidas las diferentes funcio

de las aplicaciones de sistemas entre el cliente y el servidor, sobre la base de los conceptos de los tres componentes

generales de cualquier SI:

• La lógica de acceso a datos. Funciones que gestionan todas las interacciones entre el SW y los almacenes de d

(archivos, bases de datos, etc.) incluyendo recuperación/consulta, actualización, seguridad y control deconcurrencia.

• La lógica de presentación. Funciones que gestionan la interfaz entre los usuarios del sistema y el SW, incluyen

la visualización e impresión de formas y reportes, y la posibilidad de validar entradas del sistema.• La lógica de negocio o lógica de la aplicación. Funciones que transforman entradas en salidas, incluyendo des

simples sumas hasta complejos modelos matemáticos, financieros, científicos, de ingeniería, etc.

• Según cómo se distribuyan las funciones correspondientes a estas tres lógicas o funciones de un sistema entre

cliente, middleware y servidor (los principales componentes de un sistema con arquitectura distribuída) nos

 podemos encontrar con los siguientes tipos de arquitectura cliente / servidor (conforme a la célebre clasificaci

hecha por el Gartner Group):

• Presentación Distribuida.

• Presentación remota.

• Acceso a datos remoto.

Lógica o procesamiento distribuídas.• Bases de datos distribuídas.

La importancia de esta clasificación radica en que permite jugar con el ancho de banda de la red y con la capacidadproceso de los componentes hardware del sistema para repartir entre ellos la carga de proceso de las lógicas de la

aplicación. Seguidamente entraremos en más detalle sobre estos tipos de arquitectura.

Presentación distribuída.

El cliente asume parte de las funciones de presentación de la aplicación, ya que siguen existiendo programas en el serv

dedicados a esta tarea. El resto de funciones de la aplicación (negocio, acceso a datos) residen en el servidor. Esta

arquitectura se utiliza para construir emuladores de terminal, aplicaciones de control remoto, front ends gráficos de

aplicaciones que residen en un host, etc. Algunos ejemplos de productos que siguen esta filosofía son VLC, MicrosoftTerminal Server, Cytrix Metaframe, emulador de host para sistemas operativos modernos como Windows, etc. La gran

ventaja de esta arquitectura es que permite revitalizar sistemas antiguos. Así, las aplicaciones antiguas que funcionaba

entornos host pueden ser empleadas desde modernas estaciones de trabajo Windows o Microsoft (que solamente hace

función de términal del host incrustada en un entorno de trabajo de escritorio moderno). El principal problema es que

elimina la dependencia del host, no siendo posible la aplicación de los conceptos de downsizing o rightsizing.

Presentación remota.

Toda la lógica de negocio y acceso a datos se ejecuta en el servidor, que en esta ocasión no realiza ninguna función

relacionada con la presentación. Todas las funciones de presentación son ejecutadas en el cliente. Un ejemplo de este

5/17/2018 El Modelo Cliente Servidor - slidepdf.com

http://slidepdf.com/reader/full/el-modelo-cliente-servidor 9/9

de aplicaciones son las aplicaciones web, las de los terminales de cajeros automáticos, etc. La principal ventaja es que

interfaz de usuario se adapta bien a las capacidades del entorno cliente (en la presentación distribuída el servidor tenía

ejecutar funciones dentro de un entorno que podría no ser el más apropiado para el cliente). La principal desventaja es

toda la información necesaria para la presentación tiene que circular por la red desde el servidor al cliente.

Lógica o proceso distribuido.

La lógica de los procesos se divide entre los distintos componentes del cliente y del servidor. El diseñador de la aplica

debe definir los servicios y las interfaces del sistema de información de forma que los papeles de cliente y servidor sea

intercambiables, excepto en el control de los datos que es responsabilidad exclusiva del servidor. En este tipo de

situaciones se dice que hay un proceso distribuido o cooperativo. La principal ventaja de esta arquitectura es que cada

de los nodos/servidores puede especializarse en un área determinada, de forma que cada proceso se ejecutará en el nod

más apropiado. Además, se pueden reutilizar los sistemas ya existentes (es una especie de antesala delconcepto de SO

En contrapartida, este tipo de sistemas son más dificiles de diseñar, de mantener y de probar.

Acceso a datos remoto.El cliente realiza tanto las funciones de presentación como los procesos. Por su parte, el servidor almacena y gestiona

datos que permanecen en una base de datos centralizada. En esta situación se dice que hay una gestión de datos remoLa principal ventaja de esta arquitectura radica en su sencillez de uso, y su proliferación al ser adaptada por lenguajes

cuarta generación (como Oracle Forms). La desventaja es la latencia de red introducida. Al descargarse toda la lógica  proceso en los aplicativos clientes, estos necesitan descargar los datos necesarios (entradas al proceso) que circulan po

red.

Bases de datos distribuidas.

Este modelo es similar al de Acceso a Datos Remoto, pero además el gestor de base de datos divide sus componentes

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. En este nivel se da lo que se conoce como bases de datos distribuid

La principal ventaja de este modelo es que facilita el acceso a los datos desde entornos heterogéneos. Los componente

acceso a datos ubicados en el cliente permiten independizar la base de datos del entorno en el que corren las aplicacion

cliente. Además, permite implementar la "transparencia de ubicación". Este sistema presenta dos importantes

inconvenientes:

• Las bases de datos distribuídas son más difíciles de implementar, y son dependientes del gestor de base de datos(siempre que no existan acuerdos y estándares)

• La integridad de los datos puede verse comprometida.