Java RPC-03: Capa Sesión

agosto 24th, 2009 by Enrique Leave a reply »

Hoy veremos la capa Sesión. Como el nombre lo indica, la idea de esta capa es la de representar la sesión, tanto para el cliente como para el servidor. En el cliente va a haber una única sesión, mientras en el servidor van a existir una por cada cliente conectado. La principal responsabilidad de esta capa es mantener el estado del cliente del lado del servidor.

Esta capa es bastante sencilla está compuesta por tres clases y una interfaz. Al igual que en la capa conexión, hay clases que se comparten entre el cliente y el servidor y hay clases que solo se usan del lado del servidor, en realidad hay una sola que se usa exclusivamente del lado del servidor: la clase SessionManager.

El diseño sigue la misma filosofía que el de la capa Conexión: tiene su propio paquete, se basa en el patron Observer para notificar la llegada de mensajes y tiene la primitiva send(p) para enviar mensajes.

Java-RPC-03-fig1

Diseño de la capa Sesión

La clase Session es el centro del diseño; cada instancia va a escuchar por ConectionPacket a través de la Connection asociada y va a notificar al SessionPacketListener. Este es el funcionamiento tanto del lado del cliente como del lado del servidor para el envío y recepción de paquetes.

Además, el servidor acepta conexiones mediante el SessionManager, ya que es un ConnectionListener. Cuando se acepta la conexión este crea la Session para esta nueva conexión.

En el próximo artículo vamos a ver la capa Pedido, que tiene bastante jugo.

Feliz nostalgia ;)

Blogger PostDiggRedditGoogle ReaderShare
Advertisement

Deja un comentario

Spam protection by WP Captcha-Free