Está en la página 1de 13

Definición de Cliente/Servidor:

Cuando decimos Cliente/Servidor, nos referimos a aplicaciones que se utilizan en una red,
donde todos pueden acceder a la misma información (un poco como sería Internet). Hay
muchos motores de bases de datos Clientes/Servidor, entre los que están SQL Server,
Oracle, Informix, etc...

Además, es una arquitectura de sistemas de información en la que los procesos de una


aplicación se dividen en componentes que se pueden ejecutar en máquinas diferentes. Es el
modo de funcionamiento de una aplicación en la que se diferencian dos tipos de procesos y
su soporte se asigna a plataformas diferentes.

Cliente/Servidor es el modelo de base utilizado en la mayoría de las redes de


computadoras. El término servidor se aplica a cualquier programa que ofrece un servicio y
que puede ser accesado a través de la red. Los servidores aceptan peticiones recibidas a
través de la red, realizan el servicio y regresan el resultado al que generó la petición. Un
programa en ejecución, se convierte en cliente cuando envía una petición a un servidor y
espera una respuesta.

Los servidores pueden realizar tareas simples o bastante complejas. Si el principal objetivo
de una máquina es el de soportar un programa servidor en particular; entonces, el término
"servidor" puede ser aplicado también a dicha máquina.

Diferencia entre Cliente y Servidor:

El servidor trabaja en un computador remoto; éste provee la seguridad y la autorización


para obtener los archivos. El cliente trabaja en un computador local; puede enviar archivos
a otros programas para visualizarlos.

Un servidor comienza su ejecución antes del inicio de cualquier interacción y, usualmente,


continúa aceptando peticiones y enviando respuestas indefinidamente. Un cliente es
cualquier programa que efectúa una petición y espera una respuesta; generalmente, termina
después de usar un servidor un número finito de veces.

Un servidor espera una petición sobre un puerto bien conocido, el cual ha sido reservado
para un cierto servicio. Un cliente reserva un puerto arbitrario y no usado para poder
comunicarse.
Arquitectura Cliente/Servidor:

Es una arquitectura hardware y software adecuada para el proceso distribuido, en el que la


comunicación se establece de uno a varios.

Un proceso es un programa en ejecución. El proceso cliente es el que solicita un servicio,


mientras que el proceso servidor es el capaz de proporcionar un servicio. Un proceso
cliente se puede comunicar con varios procesos servidores y un servidor se puede
comunicar con varios procesos servidores y con varios clientes.

Los procesos pueden ejecutarse en la misma máquina o en distintas máquinas comunicadas a


través de una red. Por lo general, la parte de la aplicación correspondiente al cliente se
optimiza para la interacción con el usuario, ejecutándose en su propia máquina, mientras que
la parte correspondiente al servidor proporciona la funcionalidad multiusuario centralizada
y se ejecuta en una máquina remota.

Una aplicación Cliente/Servidor típica es un servidor de base de datos al que varios


usuarios realizan consultas simultáneamente. El proceso cliente realiza una consulta, el
proceso servidor le envía las tablas resultantes de la consulta y el proceso cliente las
interpreta y muestra el resultado en pantalla

Modelo Cliente/Servidor:

Es el modelo de interacción más común entre aplicaciones en una red. No forma parte de los
conceptos de la Internet como los protocolos IP, TCP o UDP; sin embargo, todos los
servicios estándares de alto nivel propuestos en Internet funcionan según este modelo.

Un servidor es un programa que ofrece un servicio en la red; es decir, que realiza una
función específica. En ciertas circunstancias, este término designará a una máquina; éste
será el caso si dicha máquina está dedicada a un servicio particular , por ejemplo:
servidores de impresión, servidor de archivos, servidor de correo electrónico, etc.

Un cliente es un programa que dirige una petición específica a un servidor que responde a
una demanda de servicio.

El modelo de desarrollo Cliente/Servidor nació como una evolución de las aplicaciones


corporativas estilo "Host", persiguiendo tres objetivos claros:

1- Mejorar la calidad de la comunicación con el usuario, mediante nuevos "Interfaces


gráficos".
2- Reducir los costes, mediante la utilización de las llamadas "herramientas de alta
productividad".
3- Racionalizar el tiempo de los procesos, repartiendo el juego entre el servidor y sus
clientes "inteligentes".

De estos beneficios, sólo se ha conseguido el primero; la calidad de la comunicación con el


usuario es superior en el aspecto gráfico, al poderse incluir imágenes y todo tipo de
elementos multimedia.

En cuanto a la esperada reducción de costes, las empresas han descubierto que no sólo no
era así, sino que, además, se les han incrementado sensiblemente los costes de
mantenimiento de los sistemas.

Por último, el tercer objetivo perseguido, que era el de aprovechar al máximo los recursos
hardware, ha quedado minimizado por la pasmosa evolución de la industria hardware, la cual
pulveriza continuamente sus últimos récords de velocidad de proceso y capacidades de
almacenamiento.

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.

En realidad, el cambio hacia tecnologías Cliente/Servidor está aún en sus comienzos, pero
de ninguna manera debe ignorarse.

La forma de asegurar la futura utilización productiva de sistemas Cliente/Servidor,


asumiendo un bajo riesgo, debe considerar:

 Comenzar por el downsizing: Utilizar redes de área local y familiarizar a los usuarios
con el uso de ordenadores personales.
 Estudiar las herramientas Cliente/Servidor que se encuentren disponibles y aquellas
que se encuentren en fase de desarrollo; la mayoría están basadas en algún sistema
de gestión de base de datos en red local.

 Permitir el acceso de los usuarios a los datos de la organización, conectando las


redes locales entre sí.

 Añadir interfaces de usuario amigables al equipo lógico del ordenador central y


desarrollar prototipos.

Una organización tiene que decidir cuándo y cómo debe migrar en su caso, hacia un entorno
Cliente/Servidor, teniendo en cuenta la evolución de las herramientas Cliente/Servidor y
desarrollando una estrategia que se base en los estándares predominantes en el mercado.

¿Qué es una red cliente/servidor?

Si tiene que conectar seis o más nodos y trabajar con archivos de gran tamaño, como por
ejemplo bases de datos, o con información que se actualiza a menudo, la mejor elección es
una red Cliente/Servidor. La presencia de un equipo central o servidor en esta
configuración, le ofrece numerosas ventajas. Los archivos son más fáciles de actualizar,
soportar y archivar con resultados fiables, porque se almacenan en un único lugar. El
servidor en sí mismo es un PC de alto rendimiento que garantiza acceso a los datos y
transmisiones veloces, proporcionando a su empresa la plataforma para incorporar otras
prestaciones, como por ejemplo un software para administración de inventarios y
contabilidad centralizada.

Una red Cliente/Servidor permite a cualquier compañía compartir archivos y recursos


comunes, tener acceso a la información en forma más eficiente; garantiza la seguridad y
confiabilidad de los datos. Además, permite a todo el personal tener acceso a Internet, sin
que esto represente un costo adicional.

En una red Cliente/Servidor, los "clientes" (computadoras personales normales) se


conectan a un "servidor" (una computadora con más poder que "sirve" o facilita a los
clientes datos, dispositivos y aplicaciones de software). Estas redes brindan grandes
ventajas a los negocios. El servidor es típicamente una máquina de alto rendimiento que
facilita compartir archivos grandes y permite a múltiples usuarios estar en la red, sin que
esto ocasione demoras o problemas con el desempeño. También hace posible tener un alto
grado de seguridad, para evitar que personal no autorizado use sus recursos. De igual
forma, permite hacer respaldos de la información en forma centralizada. Además, brinda
una plataforma para ejecutar aplicaciones compartidas, como soluciones de contabilidad o
software de línea de negocios (como soluciones para inventarios o para manufactura).
Esta clase de red puede ser instalada en su empresa usando el software para servidor
Microsoft NT Server y una variedad de software para cliente, ya sea Windows NT
Workstation, Windows 95 o Windows 98.

¿Cómo saber si su organización requiere una red Cliente/Servidor con Windows NT


Server?:

Muy sencillo, su empresa requiere una red Cliente/Servidor si más de 5 PCs deben ser
conectadas a la red o si su personal necesita:

 Compartir archivos grandes o con gran cantidad de gráficos.

 Tener acceso remoto a la red.

 Compartir aplicaciones, archivos, impresoras y periféricos.

 Usar Internet regularmente.

Además, una vez instalada la red, podrá agregar otras aplicaciones para brindar al personal
de su empresa correo electrónico y servicios de colaboración.

¿Qué necesita?:

Aunque los requerimientos pueden variar dependiendo de las características de la empresa,


si desea instalar una red con Windows NT Server necesita:

 Sistema Intel o compatible, con procesador Pentium o Pentium PRO y 486/33 MHz o
superior. 125 megabytes (MB) disponibles en el disco duro. O un sistema basado en
RISC con procesador compatible con Windows NT Server 4.0, 160 MB disponibles
en el disco duro y 16 MB de memoria (RAM).

 Un hub o concentrador; su capacidad depende del número de puertos que se


requieran para la conexión.

 Tarjetas de red.

 Cables para conexión en red.

 Software para el servidor Microsoft Windows NT Server.


 Software para cliente (Windows 95, Windows 98 o Windows NT Workstation).

 Licencias de Acceso del Cliente para Windows NT Server (para las computadoras
que utilicen los servicios de Windows NT Server).

Si además desea contar con servicios de mensajería y colaboración, se necesita:

 Microsoft Exchange Server

 Software de cliente, como Microsoft Outlook.

 Licencias de Acceso del Cliente para Microsoft Exchange.

Recuerde que usted también puede optar por la suite Microsoft Small Business Server, la
cual incluye tanto Microsoft Windows NT Server, como Microsoft Exchange, y representa
la opción más conveniente para empresas con 25 PCs o menos.

Esta lista no es definitiva y es necesario consultar a su proveedor de hardware y software


antes de realizar cualquier compra.

¿Cuáles son los pasos a seguir?:

 Lo primero es definir claramente sus necesidades, de esta forma estará seguro de


que se instalarán los productos requeridos por su empresa. Asimismo, es
recomendable que elabore un plan de actividades.

 Contacte a un profesional. Aunque el software para redes actual es fácil de instalar,


es conveniente contar con el apoyo de un profesional para asegurar que todo el
proceso se lleve a cabo adecuadamente.

 Elija a la persona que se encargará de administrar su red. Esta persona será


responsable de la seguridad de la misma, agregará nuevos usuarios a la red y
administrará los recursos comunes, como impresoras.

 Determine quién tendrá acceso a qué recursos de la red. Esto le permitirá


establecer niveles de acceso y de seguridad.

 Piense en sus dispositivos periféricos, como impresoras. Ya que su red le permitirá


compartir tales recursos, quizás resulte conveniente adquirir aditamentos de mayor
calidad, como una impresora de color.
 Establezca la clase de respaldos que llevarán a cabo para proteger su información.
Aunque una red basada en un servidor es una excelente forma de respaldar los
datos de las computadoras personales, si no se realiza un respaldo de la información
del servidor y se guarda en un lugar seguro, usted puede perder todos sus datos.
Asegúrese de realizar estos respaldos con regularidad y encuentre un lugar seguro
para guardarlos.

¿Qué es el WebCyS?:

Es la creación de aplicaciones Cliente/Servidor por medio del Web; es decir, aplicaciones


donde el cliente simplemente es un browser de Web, en vez de una aplicación específica.

El WebCyS también es conocido como Cliente/Servidor de 2 da Generación, o como


Cliente/Cliente/Servidor, ya que existen tres niveles de distribución: el servidor, el
servidor de Web y el cliente del Web. El servidor de Web se comporta, entonces, como
cliente del servidor.

La forma más sencilla de comprender cómo funciona y para qué sirve, es plantearse algunas
preguntas:

a) ¿Por qué?:

Para cierto tipo de aplicaciones, este esquema de distribución presenta muchas ventajas
sobre el esquema más tradicional Cliente/Servidor.

 Fácilmente trasportable: Podemos utilizar un único código desde todo tipo de


clientes (Macs, PCs, PDAs (Newton), etc). Por el contrario, la mayoría de 4GLs
apenas soportan dos o tres plataformas diferentes y con diferencias sustanciables
entre ellas.

 Muy escalable: El sistema puede crecer tanto como sea necesario, tanto en número
de clientes como en complejidad de la aplicación; si falta potencia, añadir más
memoria al servidor puede solucionar el problema. Frecuentemente, las aplicaciones
clientes tradicionales, escritas sobre potentes 4GLs, crecen tanto en funcionalidad,
que acaba siendo necesario que los clientes sean casi tan potentes como los
servidores.

 Muy barato: Los clientes pueden ser sencillos ordenadores, con apenas memoria y
capacidad de proceso. Además, crear paginas HTML es más sencillo que vérselas con
algunos 4GL o APIS.
b) ¿Para qué no sirve?:

La tendencia general indica que cada vez serán más las aplicaciones en las que este modelo
será válido. Con el uso de applets de Java y la mejora de los browsers (a los que se les da la
posibilidad de ser fácilmente extensibles), el campo de aplicaciones supcetibles de
desarrollarse por medio de WebCyS será mayor.

Actualmente, aún son mayoría las aplicaciones donde es difícil aplicar este enfoque. Por lo
general, aplicaciones con interfaces potentes, muy personalizadas y complicadas, con gran
necesidad de interaccionar con el sistema operativo, son todavía totalmente imposibles de
realizar por medio de WebCyS.

c) ¿Cómo se hace?:

La creación de una aplicación C/C/S es tan sencillo como crear un servidor de Web. La clave
está en conectar el servidor de Web por medio de CGIs, con un servidor de base de datos
relacional, que podamos programar en algún lenguaje PL/SQl, Pro*C, etc.

La base de datos, como en el modelo Cliente/Servidor, contendrá el modelo de datos


relacional y la reglas de integridad de la empresa. Programaremos los procesos necesarios
en nuestro servidor. Estos se encargarán de dar la funcionalidad a la aplicación.

Empiezan a aparecer productos que integran totalmente la base de datos y el servidor de


Web, como el Oracle Web System o WEB.SQL de Sysbase.

Si ya se tiene una base de datos relacional, una buena solución es usar Wow, una cgi que
conecta un servidor del Web (hhtp 1.*) con una base de datos relacional Oracle. Con
sencillas llamadas a PL/SQL, podemos programar las páginas y las consultas que éstas
deben realizar.

Wow consiste en un shell script (wow) que hace la función de cgi, un stub (wowstub) que
ejecuta un proceso PL/SQL en la base de datos y recoge la salida de este proceso, y unos
packages que permiten programar las páginas de Web.

Wow ha sido probado en múltiples plataformas Unix (SunOS, Solaris, etc) y Windows NT.
Otras soluciones comunes son:

 Perl 4.036 y Oraperl: El "método antiguo" de conectar bases de datos Oracle a


páginas Web.

 Oracel WWW Interface Kit: Sin duda, la forma de moda. Actualmente disponible
para Solaris.

 Netscape Publishing System: Un paquete compuesto por un servidor Netscape y un


montón de scripts integrados para acceder a una base de datos Oracle.

 Dynamo: Una base de datos "relacional", especialmente pensada para browsers y con
generación dinámica de páginas.

 AppleScript, DataScript: Para los servidores WebStar (MacOS) es un mecanismo


fácil que permite hacer scripts (cgi's) que conecten con una base de datos Oracle,
Butler o FileMaker.

d) ¿Cómo comenzar?:

Si te propones hacer una aplicación WebCyS rápidamente, la mejor manera es usar


WebStar. Fácilmente, con Apple Script y FileMaker, te puedes construir algunas CGI's
para acceder a las base de datos. Con esto tendrás un servidor Web capaz de acceder a
una base de datos.

El paso siguiente es crear aplicaciones enteras, capaces de generar páginas de Web


dinámicamente, según los resultados de la base de datos. Es decir, construir verdaderas
aplicaciones C/C/S. Oracle WWW Interface Kit es un gran candidato a tener en cuenta
para este tipo de aplicaciones. Con el Oracle Web Browser, que cuenta con una base de
datos local y es capaz de acceder directamente con SQL*Net a una base datos Oracle (por
ejemplo un servidor local a una zona), y programable con Oracle Basic, podemos desarrollar
verdaderas aplicaciones Cliente/Servidor de 2da Generación.

Informe general del Cliente/Servidor:

Introducción:
Las necesidades de información de las empresas aumentan día a día, y la creciente y
necesaria especialización de sus distintos departamentos nos empujan a desear un mayor
control de los datos disponibles. Hoy es raro encontrar una empresa que no cuente con un
ordenador que maneje sus datos comerciales, administrativos, etc y el reto, consiste en
sacar el máximo provecho de la información que posee.

A medida que la empresa crece, crecen también sus necesidades informáticas y requieren
soluciones ágiles que den respuesta a los requerimientos de cada momento. Hasta ahora, la
única solución era dotar nuestro ordenador central con más programas hasta su saturación.
Con la concepción clásica del ordenador, en el que las pantallas son simples terminales, la
carga de más programas o más pantallas, significa disminuir su rendimiento. Téngase en
cuenta que, en este tipo de arquitectura, tanto los datos como los programas residen en un
único ordenador central encargado de ejecutar los programas, atender a los usuarios y
mantener los datos de los ficheros. Como consecuencia, dicho ordenador tiende a crecer
desmesuradamente y no siempre al ritmo adecuado para la empresa, debido a los elevados
costes tanto de compra como de mantenimiento.

Cliente/Servidor:

La arquitectura de redes y la tecnología Cliente/Servidor rompe con esta tendencia,


propiciando lo que se ha denominado el rightsizing de nuestro entorno informático o, lo que
es lo mismo, el dimensionamiento correcto.

En una estructura Cliente/Servidor, el servidor solamente gestiona los datos atendiendo


las peticiones de los programas, denominados ahora clientes; la parte cliente la soporta un
ordenador personal que se encarga de ejecutar los programas que el usuario precisa; esto
libera al servidor de la ejecución de los programas y del control de los usuarios, tareas que
podían ocuparle hasta un 80% de su tiempo.

La ventaja de este sistema es clara. La distribución de tareas permite aumentos


extraordinarios de rendimiento con unos costes menores. A este menor coste, tanto de
compra como de mantenimiento, contribuye además, el que en esta arquitectura se usan
básicamente ordenadores compatibles, de los que existe una gran oferta en el mercado.

Independencia de plataformas:

Las instalaciones Cliente/Servidor permiten muy diversas configuraciones para los


servidores de datos y para los clientes, sin modificar en absoluto la programación de dichos
clientes, ni alterar los datos del servidor.
Para el servidor pueden utilizarse sistemas Windows 3.11, Windows 95, Novell, Windows
NT o Unix, con cualquiera de las bases de datos que funcionan en estos sistemas; para los
clientes puede usarse Windows 3.11 o Windows 95.
Por consiguiente, la empresa puede cambiar de plataforma en el momento en que sus
necesidades reales lo requieran, sin cambio alguno en los programas y con un
aprovechamiento íntegro de sus datos, y planificar de una forma muy flexible sus
inversiones informáticas, con la total garantía de que sus programas y datos no serán
alterados.

Información departamental:

La posibilidad de acceder de forma directa a la información del servidor permite el análisis


de los datos a nivel departamental, evitando en muchos casos, el coste de desarrollo de
aplicaciones específicas para el servidor.

La forma de acceder a los datos es tan directa y fácil como se desee; en efecto, con una
estructura Cliente/Servidor se consigue que una hoja de cálculo, por ejemplo, acceda a la
base de datos del servidor, lea una selección de datos, nos los muestre automáticamente en
forma de filas y columnas de la hoja y que, al abrirla en el futuro, actualice dichos datos de
forma automática.

La explotación de los datos estadísticos, confección de informes, resúmenes, gráficos, etc,


puede realizarse de forma flexible, personalizada y por el propio usuario, eliminando así,
una parte substancial de las limitaciones que imponen los sistemas de información clásicos.

La red:

En una arquitectura basada en una red, no pueden olvidarse las ventajas añadidas que ésta
nos aporta en cuanto a flexibilidad de montaje, ubicación física, crecimiento paulatino,
integración ofimática y compartición de todo tipo de recursos.

El uso de una red simplifica el conexionado de periféricos y reduce, por tanto, su coste.
Permite en los ordenadores cliente, el uso de todo tipo de programas ofimáticos, como
hojas de cálculo, procesadores de texto, agendas personales, etc y, si se desea, pueden
compartirse recursos (fax, módem, impresoras, discos, etc) y ficheros. La compartición
evita duplicación de recursos, la información redundante y la circulación de documentación
no controlada; asimismo, contribuye a unificar criterios y beneficia, por tanto, la imagen de
la empresa (carátulas de fax comunes, documentos maestros para formatos de cartas, etc).
Ahorro de recursos:

 Programas: Los programas y aplicaciones pueden adquirirse por licencias


corporativas para ser instalados en un único equipo, y usados por todos los usuarios
de la red. El ahorro es aún más evidente en el mantenimiento, ya que dispondremos
de una copia única, en lugar de una en cada terminal de la red.

 Ocupación de discos: Concentrar los datos en un servidor, y los programas y


aplicaciones en un mismo equipo, disminuye las ocupaciones del disco duro y, por
tanto, también la necesidad de incrementar los tamaños del disco sin justificación.

 Impresoras: Tal vez es el periférico más costoso del ordenador. La red nos permite
utilizar y compartir cualquier impresora conectada a un terminal de la misma.

 Periféricos especiales: Una tarjeta de módem/fax y otros periféricos especiales


pueden compartirse en la red y ser usados desde cualquier terminal.

 Conexión de terminales de pantalla: Los terminales de pantalla acceden al servidor y


se conectan entre sí, a través del cable de la red, evitando la necesidad de
ampliación de las salidas del servidor, al incrementar los terminales de pantalla
conectados.

El correo electrónico:

Una red permite mantener buzones de correo para los usuarios y departamentos. Esta
característica resulta especialmente útil si existe una necesidad de información y
comunicación rápida, y en organizaciones cuyos usuarios estén ubicados en zonas extensas o
en diversos edificios. Vía el correo electrónico, pueden dejarse avisos a un departamento o
usuario con la seguridad de que serán leídos y, si se desea, con obligación de ser
contestados.

Seguridad:

Un software de gestión de red no hubiera tenido éxito si no dispusiera de unos exhaustivos


controles de seguridad. La información puede protegerse de manera que solamente los
usuarios autorizados puedan accederla, tanto a nivel de modificación como de consulta.
Cada usuario tiene permisos para acceder solamente a aquella información para la que ha
sido autorizado.

Las copias de seguridad de los archivos, aplicaciones y datos se realiza de forma


centralizada, para evitar la dispersión de responsabilidades y minimizar los riesgos.

Un elemento de seguridad recomendado es la desconexión de los dispositivos de copia de


los ordenadores personales, excepto aquellos en que su presencia sea absolutamente
necesaria. Esta práctica elimina la posibilidad de aparición en la red de programas no
deseados.

Margarita Dubocq
mamadues@hotmail.com

Este manual ha sido descargado de La Web del Programador


http://www.lawebdelprogramador.com

También podría gustarte