- Elementos
principales - En resumen
- Algunos antecedentes,
¿Por qué fue creado? - Evolución de la
arquitectura cliente servidor - Que es una
arquitectura - Que es un
cliente - Que es un
servidor - Elementos de la arquitectura
cliente/servidor - Características del
modelo cliente/servidor - Tipos de clientes, de
servidor - Estilos del modelo cliente
servidor - Presentación
remota - Lógica
distribuida - Administración de datos
remota - Base de datos
distribuida - Definición de
Middleware - Funciones de un programa
servidor - Bibliografía
En vista del aprendizaje que
tenemos diariamente en el aula de clases, nos vemos desafiados
por un mundo lleno de conocimientos que invoca a la investigación.
Este trabajo fue
realizado precisamente para llenar las expectativas y ansias de
intelectualidad que nos brinda la carrera, desde bases de datos,
vemos la importancia de la arquitectura cliente servidor.
Es exactamente lo que se plasmara en el siguiente
trabajo, la forma de
Conocer una arquitectura que en este momento es una de
las más importantes y utilizadas en el ámbito de
enviar y recibir información, también es una
herramienta potente para guardar los datos en una
base de datos
como servidor.
————————————-
Con respecto a la definición de arquitectura
cliente/servidor se encuentran las siguientes
definiciones:
- Cualquier combinación de sistemas que
pueden colaborar entre si para dar a los usuarios toda la
información que ellos necesiten sin que tengan que saber
donde esta ubicada. - Es una arquitectura de procesamientos cooperativo
donde uno de los componentes pide servicios a
otro. - Es un procesamiento de
datos de índole colaborativo entre dos o más
computadoras
conectadas a una red. - El término cliente/servidor es originalmente
aplicado a la arquitectura de software que
describe el procesamiento entre dos o más programas: una
aplicación y un servicio
soportante. - IBM define al modelo
Cliente/Servidor. "Es la tecnología que proporciona al usuario
final el acceso transparente a las aplicaciones, datos,
servicios de cómputo o cualquier otro recurso del
grupo de
trabajo y/o, a través de la
organización, en múltiples plataformas. El
modelo soporta un medio
ambiente distribuido en el cual los requerimientos de
servicio hechos por estaciones de trabajo inteligentes o
"clientes'',
resultan en un trabajo realizado por otros computadores
llamados servidores". - "Es un modelo para construir sistemas de
información, que se sustenta en la idea de repartir
el tratamiento de la información y los datos por todo el
sistema
informático, permitiendo mejorar el rendimiento del
sistema global de información"
"Los elementos principales de la arquitectura cliente
servidor son justamente el elemento llamado cliente y el otro
elemento llamado servidor". Por ejemplo dentro de un ambiente
multimedia, el
elemento cliente seria el dispositivo que puede observar el
vídeo, cuadros y texto, o
reproduce el audio distribuido por el elemento
servidor.
Por otro lado el cliente también puede ser una
computadora
personal o una
televisión
inteligente que posea la capacidad de entender datos digitales.
Dentro de este caso el elemento servidor es el depositario del
vídeo digital, audio, fotografías digitales y texto
y los distribuye bajo demanda de ser
una maquina que cuenta con la capacidad de almacenar los datos y
ejecutar todo el software que brinda éstos al
cliente.
C/S es una relación entre procesos
corriendo en máquinas
separadas
El servidor (S) es un proveedor de servicios.
El cliente (C) es un consumidor de
servicios.
C y S Interactúan por un mecanismo de pasaje de
mensajes:
Pedido de servicio.
Respuesta
ALGUNOS
ANTECEDENTES, ¿PORQUE FUE CREADO?
Existen diversos puntos de vista sobre la manera en que
debería efectuarse el procesamiento de datos, aunque la
mayoría que opina, coincide en que nos encontramos en
medio de un proceso de
evolución que se prolongará
todavía por algunos años y que cambiará la
forma en que obtenemos y utilizamos la información
almacenada electrónicamente.
El principal motivo detrás de esta
evolución es la necesidad que tienen las organizaciones
(empresas o
instituciones
públicas o privadas), de realizar sus operaciones
más ágil y eficientemente, debido a la creciente
presión
competitiva a la que están sometidas, lo cual se traduce
en la necesidad de que su personal sea mas productivo, que se
reduzcan los costos y gastos de
operación, al mismo tiempo que se
generan productos y
servicios más rápidamente y con mejor calidad.
En este contexto, es necesario establecer una
infraestructura de procesamiento de información, que
cuente con los elementos requeridos para proveer
información adecuada, exacta y oportuna en la toma de
decisiones y para proporcionar un mejor servicio a los
clientes.
El modelo Cliente/Servidor reúne las
características necesarias para proveer esta
infraestructura, independientemente del tamaño y
complejidad de las operaciones de las organizaciones
públicas o privadas y, consecuentemente desempeña
un papel importante en este proceso de
evolución.
Evolución de la arquitectura cliente
servidor
La era de la computadora
central
"Desde sus inicios el modelo de administración de datos a través de
computadoras se basaba en el uso de terminales remotas, que se
conectaban de manera directa a una computadora central". Dicha
computadora central se encargaba de prestar servicios
caracterizados por que cada servicio se prestaba solo a un grupo
exclusivo de usuarios.
La era de las computadoras
dedicadas
Esta es la era en la que cada servicio empleaba su
propia computadora que permitía que los usuarios de ese
servicio se conectaran directamente. Esto es consecuencia de la
aparición de computadoras pequeñas, de fácil
uso, más baratas y más poderosas de las
convencionales.
La era de la conexión
libre
Hace mas de 10 años que la computadoras
escritorio aparecieron de manera masiva. Esto permitió que
parte apreciable de la carga de trabajo de cómputo tanto
en el ámbito de cálculo
como en el ámbito de la presentación se lleven a
cabo desde el escritorio del usuario. En muchos de los casos el
usuario obtiene la información que necesita de alguna
computadora de servicio. Estas computadoras de escritorio se
conectan a las computadoras de servicio empleando software que
permite la emulación de algún tipo de terminal. En
otros de los casos se les transfiere la información
haciendo uso de recursos
magnéticos o por trascripción.
La era del cómputo a través de
redes
Esta es la era que esta basada en el concepto de
redes de
computadoras, en la que la información reside en una o
varias computadoras, los usuarios de esta información
hacen uso de computadoras para laborar y todas ellas se
encuentran conectadas entre si. Esto brinda la posibilidad de que
todos los usuarios puedan acceder a la información de
todas las computadoras y a la vez que los diversos sistemas
intercambien información.
La era de la arquitectura cliente
servidor
"En esta arquitectura la computadora de cada uno de los
usuarios, llamada cliente, produce una demanda de
información a cualquiera de las computadoras que
proporcionan información, conocidas como servidores"estos
últimos responden a la demanda del cliente que la
produjo.
Los clientes y los servidores pueden estar conectados a
una red local o una
red amplia, como la que se puede implementar en una empresa o a
una red mundial como lo es la Internet.
Bajo este modelo cada usuario tiene la libertad de
obtener la información que requiera en un momento dado
proveniente de una o varias fuentes
locales o distantes y de procesarla como según le
convenga. Los distintos servidores también pueden
intercambiar información dentro de esta
arquitectura.
Una arquitectura es un entramado de componentes
funcionales que aprovechando diferentes estándares,
convenciones, reglas y procesos, permite integrar una amplia gama
de productos y servicios informáticos, de manera que
pueden ser utilizados eficazmente dentro de la organización.
Debemos señalar que para seleccionar el modelo de
una arquitectura, hay que partir del contexto tecnológico
y organizativo del momento y, que la arquitectura
Cliente/Servidor requiere una determinada especialización
de cada uno de los diferentes componentes que la
integran.
Es el que inicia un requerimiento de servicio. El
requerimiento inicial puede convertirse en múltiples
requerimientos de trabajo a través de redes LAN o
WAN. La ubicación de los datos o de las aplicaciones es
totalmente transparente para el cliente.
Es cualquier recurso de cómputo dedicado a
responder a los requerimientos del cliente. Los servidores pueden
estar conectados a los clientes a través de redes LANs o WANs, para
proveer de múltiples servicios a los clientes y ciudadanos
tales como impresión, acceso a bases de datos, fax,
procesamiento de imágenes,
etc.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
Este es el ejemplo gráfico de la
arquitectura cliente servidor.
ELEMENTOS DE LA
ARQUITECTURA CLIENTE/SERVIDOR
En esta aproximación, y con el objetivo de
definir y delimitar el modelo de referencia de una arquitectura
Cliente/Servidor, debemos identificar los componentes que
permitan articular dicha arquitectura, considerando que toda
aplicación de un sistema de
información está caracterizada por tres
componentes básicos:
- Presentación/Captación de
Información - Procesos
- Almacenamiento de la Información
Los cuales se suelen distribuir tal como se presenta en
la figura:
Aplicaciones Cliente/Servidor
Para ver el gráfico seleccione la opción
"Descargar" del menú superior
Y se integran en una arquitectura Cliente/Servidor en
base a los elementos que caracterizan dicha arquitectura, es
decir:
- Puestos de Trabajo
- Comunicaciones
- Servidores
Tal como se presenta en la figura:
Arquitectura
Cliente/Servidor
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
De estos elementos debemos destacar:
El Puesto de Trabajo o Cliente
Una Estación de trabajo o microcomputador (PC:
Computador
Personal) conectado a una red, que le permite acceder y gestionar
una serie de recursos» el cual se perfila como un puesto de
trabajo universal. Nos referimos a un microcomputador conectado
al sistema de información y en el que se realiza una parte
mayoritaria de los procesos.
Se trata de un fenómeno en el sector
informático. Aquellos responsables informáticos que
se oponen a la utilización de los terminales no
programables, acaban siendo marginados por la presión de
los usuarios.
Debemos destacar que el puesto de trabajo basado en un
microcomputador conectado a una red, favorece la flexibilidad y
el dinamismo en las organizaciones. Entre otras razones, porque
permite modificar la ubicación de los puestos de trabajo,
dadas las ventajas de la red.
Los Servidores o Back-end
Una máquina que suministra una serie de servicios
como Bases de Datos, Archivos,
Comunicaciones,…).
Los Servidores, según la especialización y los
requerimientos de los servicios que debe suministrar pueden
ser:
- Mainframes
- Miniordenadores
- Especializados (Dispositivos de Red, Imagen,
etc.)
Una característica a considerar es que los
diferentes servicios, según el caso, pueden ser
suministrados por un único Servidor o por varios
Servidores especializados.
Las Comunicaciones
En sus dos vertientes:
- Infraestructura de redes
- Infraestructura de comunicaciones
Infraestructura de redes
Componentes Hardware y Software que
garantizan la conexión física y la
transferencia de datos entre los distintos equipos de la
red.
Infraestructura de comunicaciones
Componentes Hardware y Software que permiten la
comunicación y su gestión, entre los clientes y los
servidores.
La arquitectura Cliente/Servidor es el resultado de la integración de dos culturas. Por un lado,
la del Mainframe que aporta capacidad de almacenamiento,
integridad y acceso a la información y, por el otro, la
del computador que aporta facilidad de uso (cultura de
PC), bajo costo,
presentación atractiva (aspecto lúdico) y una
amplia oferta en
productos y aplicaciones.
CARACTERISTICAS
DEL MODELO CLIENTE/SERVIDOR
En el modelo CLIENTE/SERVIDOR podemos encontrar las
siguientes características:
1. El Cliente y el Servidor pueden actuar como una sola
entidad y también pueden actuar como entidades separadas,
realizando actividades o tareas independientes.
2. Las funciones de
Cliente y Servidor pueden estar en plataformas separadas, o en la
misma plataforma.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
3. Un servidor da servicio a múltiples clientes
en forma concurrente.
4. Cada plataforma puede ser escalable
independientemente. Los cambios realizados en las plataformas de
los Clientes o de los Servidores, ya sean por
actualización o por reemplazo tecnológico, se
realizan de una manera transparente para el usuario
final.
5. La interrelación entre el hardware y el
software están basados en una infraestructura poderosa, de
tal forma que el acceso a los recursos de la red no muestra la
complejidad de los diferentes tipos de formatos de datos y de los
protocolos.
6. Un sistema de servidores realiza múltiples
funciones al mismo tiempo que presenta una imagen de un solo
sistema a las estaciones Clientes. Esto se logra
combinando los recursos de cómputo que se encuentran
físicamente separados en un solo sistema lógico,
proporcionando de esta manera el servicio más efectivo
para el usuario final.
También es importante hacer notar que las
funciones Cliente/Servidor pueden ser dinámicas. Ejemplo,
un servidor puede convertirse en cliente cuando realiza la
solicitud de servicios a otras plataformas dentro de la
red.
Su capacidad para permitir integrar los equipos ya
existentes en una organización, dentro de una arquitectura
informática descentralizada y
heterogénea.
7. Además se constituye como el nexo de
unión mas adecuado para reconciliar los sistemas de
información basados en mainframes o minicomputadores, con
aquellos otros sustentados en entornos informáticos
pequeños y estaciones de trabajo.
8. Designa un modelo de construcción de sistemas
informáticos de carácter distribuido.
- Su representación típica es un centro
de trabajo (PC), en donde el usuario dispone de sus propias
aplicaciones de oficina y sus
propias bases de datos, sin dependencia directa del sistema
central de información de la organización, al
tiempo que puede acceder a los - recursos de este host central y otros sistemas de la
organización ponen a su servicio.
En conclusión, Cliente/Servidor puede incluir
múltiples 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 implantación
involucra diferentes tipos de estándares: APPC, TCP/IP,
OSI, NFS, DRDA
corriendo sobre DOS, OS/2, Windows o PC
UNIX, en
TokenRing, Ethernet, FDDI o
medio coaxial, sólo por mencionar algunas de las
posibilidades.
- "cliente flaco":
- Servidor rápidamente saturado.
- Gran circulación de datos de interfase en la
red.
- "cliente gordo":
- Casi todo el trabajo
en el cliente. - No hay centralización de la gestión de
la BD. - Gran circulación de datos inútiles en
la red.
Servidores de archivos
Servidor donde se almacena archivos y aplicaciones de
productividad
como por ejemplo procesadores de
texto, hojas de
cálculo, etc.
Servidores de bases de datos
Servidor donde se almacenan las bases de datos, tablas,
índices. Es uno de los servidores que más carga
tiene.
Servidores de transacciones
Servidor que cumple o procesa todas las transacciones.
Valida primero y recién genera un pedido al servidor de
bases de datos.
Servidores de Groupware
Servidor utilizado para el seguimiento de operaciones
dentro de la red.
Servidores de objetos
Contienen objetos que deben estar fuera del servidor de
base de datos. Estos objetos pueden ser videos, imágenes,
objetos multimedia en general.
Servidores Web
Se usan como una forma inteligente para comunicación entre empresas a través
de Internet.
Este servidor permite transacciones con el
acondicionamiento de un browser específico.
Estilos del
modelo cliente servidor
PRESENTACIÓN
DISTRIBUIDA
- Se distribuye la interfaz entre el cliente y la
plataforma servidora. - La aplicación y los datos están ambos
en el servidor. - Similar a la arquitectura tradicional de un Host y
Terminales. - El PC se aprovecha solo para mejorar la interfaz
gráfica del usuario.
Ventajas
- Revitaliza los sistemas antiguos.
- Bajo costo de desarrollo.
- No hay cambios en los sistemas
existentes.
Desventajas
- El sistema sigue en el Host.
- No se aprovecha la GUI y/o LAN.
- La interfaz del usuario se mantiene en muchas
plataformas.
- La interfaz para el usuario esta completamente en el
cliente. - La aplicación y los datos están en el
servidor.
Ventajas
- La interfaz del usuario aprovecha bien la GUI y la
LAN. - La aplicación aprovecha el Host.
- Adecuado para algunos tipos de aplicaciones de apoyo
a la toma de decisiones.
Desventajas
- Las aplicaciones pueden ser complejas de
desarrollar. - Los programas de la aplicación siguen en el
Host. - El alto volumen de
tráfico en la red puede hacer difícil la
operación de aplicaciones muy pesadas.
- La interfaz esta en el cliente.
- La base de datos esta en el servidor.
- La lógica de la aplicación esta
distribuida entre el cliente y el servidor.
Ventajas
- Arquitectura mas corriente que puede manejar todo
tipo de aplicaciones. - Los programas del sistema pueden distribuirse al nodo
mas apropiado. - Pueden utilizarse con sistemas
existentes.
Desventajas
- Es difícil de diseñar.
- Difícil prueba y mantenimiento si los programas del cliente y el
servidor están hechos en distintos lenguajes de
programación. - No son manejados por la GUI 4GL.
ADMINISTRACIÓN DE DATOS
REMOTA
- En el cliente residen tanto la interfaz como los
procesos de la aplicación. - Las bases de datos están en el
servidor. - Es lo que comúnmente imaginamos como
aplicación cliente servidor
Ventajas
- Configuración típica de la herramienta
GUI 4GL. - Muy adecuada para las aplicaciones de apoyo a las
decisiones del usuario final. - Fácil de desarrollar ya que los programas de
aplicación no están distribuidos. - Se descargan los programas del Host.
Desventajas
- No maneja aplicaciones pesadas
eficientemente. - La totalidad de los datos viaja por la red, ya que no
hay procesamiento que realice el Host.
- La interfaz, los procesos de la aplicación, y
, parte de los datos de la base de datos están en
cliente. - El resto de los datos están en el
servidor.
Ventajas
- Configuración soportada por herramientas
GUI 4GL. - Adecuada para las aplicaciones de apoyo al usuario
final. - Apoya acceso a datos almacenados en ambientes
heterogéneos. - Ubicación de los datos es transparente para la
aplicación.
Desventajas
- No maneja aplicaciones grandes
eficientemente. - El acceso a la base de datos distribuida es
dependiente del proveedor del software administrador
de bases de datos.
"Es un termino que abarca a todo el software distribuido
necesario para el soporte de interacciones entre Clientes y
Servidores".
Es el enlace que permite que un cliente obtenga un
servicio de un servidor.
Este se inicia en el modulo de API de la parte del
cliente que se emplea para invocar un servicio real; esto
pertenece a los dominios del servidor. Tampoco a la interfaz del
usuario ni la a la lógica de la aplicación en los
dominios del cliente.
Tipos de Middleware
Existen dos tipos de middleware:
Este tipo permite la impresión de documentos
remotos, manejos de transacciones, autenticación de
usuarios, etc.- Middleware general
- Middleware de servicios
específicos
Generalmente trabajan orientados a mensajes. Trabaja
uno sola transacción a la vez.
Funciones de un programa
servidor
- Espera las solicitudes de los clientes.
- Ejecuta muchas solicitudes al mismo
tiempo. - Atiende primero a los clientes VIP.
- Emprende y opera actividades de tareas en segundo
plano. - Se mantiene activa en forma permanente.
- www.elrincondelvago.com
- Taller de Sistemas de Información
1 - InCo – Facultad de Ingeniería
- 2005
- www.ciber-tec.com/ads.htm
- www.virtual.unal.edu.co/cursos/sedes/manizales/4060029/lecciones/cap6-3.html
- www.pcm.gob.pe/portal_ongei/publicaciones/cultura/Lib5038
JOSE GUILLERMO VALLE
JAMES GILDARDO GUTIERREZ
UNIMINUTO
TECNOLOGÍA EN INFORMÁTICA
Bases de datos
BELLO
2005