Sunteți pe pagina 1din 2

Introduccin

Sockets como infraestructura de


desarrollo de sistemas
distribuidos

Sockets es una API de bajo red TCP/IP por parte de


un programador.
Como un cliente localiza un servidor en Sockets?

Tiene que conocer EXPLICITAMENTE:


Dir IP, Puerto, Protocolo (TCP nivel
Primer nivel de acceso a los servicios de una UDP)

Que tipo de LOGICA DE COMUNICACIONES


provee Sockets?

Con TCP establece TUBOS entre dos procesos.


Que se intercambian los procesos a travs de ese TUBO?

Uhmmm, depende de los procesos.


Es decir, NO hay semntica de contenido ni de sesin.

Proceso de Desarrollo con


Sockets

Introduccin (2)

1. Tengo un problema a resolver


2. Anlisis y Diseo del problema
3. Implementacin de la Lgica del Negocio
4. Implementacin de la Lgica de

Con UDP, se intercambian paquetes entre dos o ms


procesos

Que se intercambian? Lo mismo que en TCP

Uno como programador, cuando utilizara TCP o


UDP?
Quien es usuario a nivel de programacin de
Sockets?

Comunicaciones

5. Implementacin de la Lgica de

Otras APIs de ms alto nivel


Pocas veces programadores de aplicaciones distribuidas
Uno puede implementar muchos tipos de modelos de
sistemas distribuidos adems del Cliente/Servidor

Presentacin y de Persistencia si la tiene

Proceso de Desarrollo con


Sockets (2)

El rol del Lenguaje de


Programacin en Sockets

4. Implementacin de la Lgica de

La mayora de lenguajes de
programacin tienen APIs para Sockets
Un Cliente implementado en Sockets

Comunicaciones

Definir que protocolo emplear (TCP o UDP)


Independizar el servicio de red de la Lgica de

con VB en Microsoft puede hablar sin


ningn problema con un Servidor en C
en Unix, por ejemplo.

negocio

Simular proxies/stubs

Manejar explcitamente los tipos de datos

El problema es: Cuanto se demor y cual

Marshalling

es la flexibilidad en cambios en VB que en


C? o Java vs C++?

Localizacin explcita del servicio mediante


direccin IP y puerto
5

Rol del Lenguaje (2)

Ventajas y Desventajas de
Sockets

Ventajas:

Sockets originalmente fue desarrollado para Unix (Berkeley


Sockets, BSD) en lenguaje C modo procedimental.

Sockets posteriormente se utiliza en S.O. Windows con


WinSock 1.x, similar a Berkeley Sockets, WinSock 2.x cambio
totalmente, pero es compatible con Sockets.

Rendimiento
Flexibilidad en el tipo de aplicaciones que se

Dura la programacin

pueden desarrollar.

Ms dura la programacin, a parte de conocer de Sockets, de C,


debo conocer el modelo de desarrollo en Windows.

Altamente compatible entre S.O, Lenguajes, hw

Desventajas:

Con la llegada de Java, facilita la programacin en Sockets ya


que utiliza objetos para abstraer las funciones de bajo nivel,
pero sigue conservando las mismas VENTAJAS y
DESVENTAJAS de los Sockets para desarrollo Distribuido.

Seleccin explicita del protocolo, puerto, dir ip.


Manejo de tipos de datos
Programacin pesada

S-ar putea să vă placă și