sábado, 22 de septiembre de 2012

2.1.1 COMUNICACION CON CLIENTE/SERVIDOR (SOCKET)

Cliente -servidor  es el modelo  que actualmente  domina  el ambito  de comunicacion  ya que descentraliza los procesos  y los recursos

servicios  como :

* ejecucion  de un programa

* acceso  a una base de datos

* acceso a un dispositivo de hadware

Los sockets pueden unir un proceso cliente  y un proceso servidor  de manera semejante  a como se  puede unir  un enchufe  de un dispositivo electronico  a su respectivo zocalo.

De los mecanismos  de sockets el mas conocidos es referente al API de berkeley y esta implementacion  en practicamente  todos los sistemas unix por lo que se maneja , pero  tambien esta portado a otras  arquitecturas como windows (winsock) y otros lenguajes como java.


Para lograr tener un socket  para la comunicacion e intercambio de informacion necesita :
1.- que  un programa sea capaz  de localizar al otro
2.- que ambos programas sean capaces de intercambiar informacion


2.1 COMUNICACION


COMUNICACION 

la diferencia  mas importante  entre un sistema  distribuido y un sistema de un único procesador  en la comunicacion  entre procesos.

En un sistema  de un solo procesador  la comunicacion supone implícitamente la existencia de la memoria  compartida:

* EJEMPLO :  problema  de los productores y los consumidores, donde un proceso escribe un  buffer  compartido  y otro proceso lee de el.

En un sistema distribuido no existe  la memoria  compartida  y por ello  toda la naturaleza de la comunicacion  entre procesos debe  replantarse.


Los procesos para comunicarse deben  apegarse a reglas  conocidas  como protocolos 

para los sistemas  distribuidos en una área amplia  estos protocolos  toman frecuente mente la forma  de varias capas y cada capa tiene sus propias metas  y reglas 

los mensajes  se intercambian de diversas formas , existiendo muchas opciones de diseño al respecto, una importante  opción  es la "llamada  a un procedimiento remoto" 


También es importante considerar las posibilidades de comunicacion entre grupos  de procesos , no solo entre dos procesos.