Está en la página 1de 5

Optativo V - Cliente / Servidor

Investigación - Clases del 07 y 08 de agosto de 2014

1. Introducción
1.1. Que significa el término Cliente - Servidor.
El término cliente-servidor tiene múltiples significados en informática. Puede referirse a una
arquitectura de red donde los computadores en una red realizan diferentes papeles para
compartir recursos. En una arquitectura cliente-servidor, a un computador se le denomina
servidor si se dedica a gestionar recursos, de manera que otros computadores, llamados
clientes, puedan acceder a estos recursos a través del servidor.
En la informática distribuida, cliente-servidor se refiere a un modelo de aplicaciones de red
donde los procesos juegan uno de dos diferentes papeles: un proceso servidor, se dedica a
gestionar el acceso a algunos servicios de la red, mientras que los procesos cliente, acceden al
servidor para obtener un servicio de red.
En la arquitectura cliente-servidor, los términos cliente y servidor están referidos a los
computadores, mientras que en el paradigma de computación distribuida cliente-servidor, los
términos se refieren a los procesos.
Es un modelo para el desarrollo de aplicaciones en el que las operaciones a realizar se dividen
en procesos independientes que cooperan entre sí para proporcionar un servicio o una
respuesta.
El modelo cliente/servidor C/S, la computación cliente/servidor, la arquitectura
cliente/servidor se refieren a un modelo de diseño que se pueden pensar como aplicaciones
que se ejecutan en una red de área local (LAN) [Análisis y Diseño de Sistemas de Kendall y
Kendall 6ta. Ed.].
Es un modelo de sistema en el que dicho sistema se organiza como un conjunto de servicios y
servidores asociados, más unos clientes que acceden y usan los servicios [Ingeniería de
Software, Lawrence, 2002].
Se debe pensar en el modelo cliente/servidor como un sistema que coloca a los usuarios como
el centro del trabajo, con su interacción con los datos (servidores).

1.2. Define los siguientes términos:


1.2.1.Procesamiento basado en host.
Un host no es más que un nodo, un ordenador o un conjunto de ellos, que ofrecen
servicios, datos al resto de ordenadores conectados a la red, sea esta local o global
como Internet. En el caso de las redes locales, el host suele coincidir con el
ordenador central que controla la red.
1.2.2.Procesamiento master - slave.
En una comunicación master/slave existe un equipo “Master” que se encarga de
interrogar a los demás “Slave” sobre su estado. Hay un nodo “Maestro” que es el
único que habla por iniciativa propia. Es el dispositivo de mayor nivel de la red,
normalmente un PLC o un ordenador.
Los demás nodos son denominados “Esclavos” y transmiten sólo en respuesta a las
preguntas del “Maestro”. Este método evita las colisiones entre mensajes.
Su inconveniente es que a medida en que se van incrementando el número de
equipos remotos se van degradando el rendimiento.

Procesamiento cliente - servidor.


Es la que predomina en la actualidad, permite descentralizar el procesamiento y
recursos, sobre todo, de cada uno de los servicios y de la visualización de la interfaz
gráfica de Usuario. Esto hace que ciertos servidores estén dedicados solo a una
aplicación determinada y por lo tanto ejecutarla en forma eficiente.

1.3. Que componentes tiene un modelo Cliente - Servidor?


Este tipo de arquitectura consta de tres componentes: al proceso el cual inicia el dialogo o la
solicitud de un servicio se lo denomina Cliente, generalmente son computadores personales o
estaciones de trabajo con capacidades limitadas para el procesamiento de información. El
proceso que atiende a las solicitudes realizadas por los clientes se lo denomina Servidor, las
cuales son computadoras más poderosas que los clientes. El ultimo componente de esta
arquitectura es el medio físico mediante el cual se comunican los clientes con el Servidor,
estos medios son generalmente redes de área local (LAN) o redes de área amplia (WAN)
[Murillo, 1997].
- Un conjunto de servidores que ofrecen servicios a otros subsistemas.
- Un conjunto de clientes que llaman a los servicios ofrecidos por los servidores. Estos son
normalmente subsistemas en sí mismos. Puede haber varias instancias de un programa
cliente ejecutándose concurrentemente.
Una red que permite a los clientes acceder a estos servicios. Esto no es estrictamente
necesario ya que los clientes y los servidores podrían ejecutarse sobre una misma máquina. En
la práctica, sin embargo la mayoría de los sistemas cliente/servidor se implementan como
sistemas distribuidos [Ingeniería de Software, Lawrence, 2002].

1.4. Que es un sistema de comunicación (a nivel genérico).


Su objetivo: Transferir información de un lugar a otro, por lo tanto se puede decir que un
sistema de comunicación son la transmisión, recepción y procesamiento de la
información entre dos o más lugares, mediante circuitos electrónicos; donde toda
información se debe convertir a energía electromagnética antes de ser propagada a
través de un sistema electrónico de comunicación.

1.5. Cuál es la diferencia entre una aplicación que utiliza RPC (Remote Procedure Call) y otra
basada en P2P (Peer to Peer)?
Peer to peer son sistemas descentralizados en los que los cálculos pueden llevarse a cabo
en cualquier nodo de la red y, al menos en principio, no se hacen distinciones entre
clientes y servidores. Los estándares y protocolos que posibilitan las comunicaciones a
través de los nodos están embebidos en la propia aplicación y cada nodo debe ejecutar
una copia de dicha aplicación [Ingeniería de Software, Lawrence, 2002].
Peer to peer permiten una comunicación directa o no (multipunto). Lo típico es que un
programa crea un mensaje y lo pone en la red, y después otro (o varios) reciben este
mensaje. Suelen estar orientados a objetos.
Los RPCs son llamadas a procedimientos remotos. No suelen estar orientados a objetos
sino a funcionalidades específicas. El programa que lanza un RPC recibirá una respuesta
de forma similar a como se invoca una función local.
El mayor problema de los RPCs es que están muy ligados al lenguaje de programación, un
RPC de un lenguaje de programación será difícil que se comunique con un RPC de otro
lenguaje, cada uno utiliza su propio protocolo de comunicación y no es fácil encontrar
nodos de unión.

1.6. Haz una analogía entre los distintos protocolos de transporte de datos de la pila OSI.
Situación: A, B, C, D personas involucradas directamente.
A que se encuentra en Paraguay envía una carta a B que se encuentra en Portugal.
Lo primero es que A escriba esa carta para enviarlo a B, junto con su dirección [Capa 7
Aplicación].
A no puede escribir dicha carta así que determina el contenido de la misma a otra
persona (C), quien escribe la carta a B. [Capa 6 – Presentación].
C ingresa la carta en un sobre y lo pone en el buzón y mete la carta [Capa 5 - Sesión]
Lo recibe un empleado del correo y decide tercerizar el servicio con una empresa de
logística para llevar el sobre, que a su vez pone todo en un sobre de seguridad de su
empresa con la dirección destino y lo envía por avión [Capa 3 - Red].
Los empleados de la aerolínea a su vez ponen el sobre dentro de una caja añadiendo una
etiqueta con la dirección de destino [Capa 2 - Enlace].
La caja viaja en el avión con destino a Portugal [Capa 1 - Física].
Al llegar a Portugal se inicia el proceso inverso, es decir la recepción.
La caja es descargada del avión, el sobre se retira dentro de la misma y es entregada a un
empleado de la empresa de logística en Portugal; que a su vez es el encargado de dirigir el
sobre al destino marcado en la etiqueta [Capa 2 - Enlace].
LA empresa de logística verifica la etiqueta del sobre y envía la misma a la empresa de
correos en Portugal [Capa 3 - Red].
Un empleado de la empresa de correos en Portugal recibe el sobre del empleado de la
empresa de logística y este a su vez verifica la dirección marcada y entrega la misma a B
[Capa 4 - Transporte].
D recibe el sobre con la letra original del empleado de correos local [Capa 5 - Sesión].
A continuación D lee el contenido de la carta a B [Capa 6 - Presentación].
Por ultimo B se informa del contenido de la carta escrita por A [Capa 7 – Aplicación].
2. Tecnología Cliente - Servidor
2.1. Qué es SQL?
Es un servidor de base de datos relacional y como tal proporciona todos los elementos
para almacenar de forma estructurada los datos, pero también las herramientas
necesarias para trabajar con los datos mediante SQL.

2.2. Un servidor SQL (Base de datos) que arquitectura usual tiene?


Usualmente utiliza la arquitectura Cliente/Servidor (RDBMS) que utiliza Transact-SQL para
enviar peticiones entre un cliente y el SQL Server. Es decir SQL utiliza esta arquitectura
para separar la carga de trabajo en tareas que corran en computadores de tipo Servidor de
las tareas que corran en computadores de tipo Cliente.

2.3. SQL tiene un middleware, ¿qué es eso?


El middleware es un software de propósito general que normalmente se compra como un
componente comercial más que escribirse especialmente por los desarrolladores de
programación.
Algunos son software para gestionar comunicaciones con bases de datos,
administradores de transacciones, convertidores de datos y controladores de
comunicación.

2.4. Que significan las propiedades ACID?


Son siglas que significan Atomicity, Consistency, Isolation, Durability, en español:
Atomicidad, Consistencia, Aislamiento y Durabilidad. En informática es un conjunto de
características o propiedades que garantizan que las transacciones en una base de datos
son fiables. Si un sistema supera la prueba ACID, es decir cumple con estas propiedades
significa que es fiable.
Atomicidad: Cualquier cambio de estado que produce una transacción es atómico. Es
decir una operación se realiza o no.
Consistencia: Propiedad que asegura que una transacción no romperá con la integridad
de una base de datos, pues respeta todas las reglas y directrices de esta.
Aislamiento: Propiedad que asegura que no se afectaran entre si las transacciones.
Durabilidad: Propiedad que asegura la persistencia de una transacción, es decir, una vez
que la transacción quedó aceptada no podrá deshacerse aunque falle el sistema.

2.5. Que son las transacciones distribuidas?


Una transacción es un conjunto de tareas relacionadas que se ejecutan correctamente
(confirman) o dan error (anulan) como una unidad. Una transacción distribuida es una
transacción que afecta a varios recursos. Para que esta se confirme todos los participantes
deben garantizar que los cambios en los datos serán permanentes. Estos cambios deberán
permanecer a pesar de los bloqueos del sistema u otros imprevistos. Si alguno no cumple
con estas garantías, toda la transacción da error y se revertirán los cambios en los datos en
el ámbito de la transacción.
Este permite el almacenamiento de datos en lugares donde no estorben a las
transacciones de tiempo real en línea.

Bibliografía.

[Ingeniería de Software, Lawrence, 2002].

[SQL Server 2008 SQL, Transact SQL, Gabillaud]

[Análisis y Diseño de Sistemas de Kendall y Kendall 6ta. Ed.]


[Bravo Murillo, 1997].

También podría gustarte