domingo, 29 de junio de 2008

REMOTING

A continuación algunos conceptos básicos de remoting.

Remoting nos permite llamar objetos que existentes en diferentes maquinas ,solo si residen en la misma aplicación .Los objetos son pasados desde un application domain a otro.


Tipos de Remote Objects :

Existen dos tipos de objetos del tipo Server-Activated (Single call y Singleton).Estos manejan la vida de los objetos remotos en el Server .El tipo Client-Activated maneja la vida en el cliente.
Tipos de Objetos :

  • Single Call : Los objetos implican una sola llamada en la que el estado no se mantiene entre las llamadas de los métodos .Solo una petición es atendida a la vez y cuando el objeto no es utilizado , este es descartado.(Se crean y destruyen en cada llamada)
  • Singleton : Estos objetos son usados para servir múltiples clientes y mantienen el estado entre las llamadas al método .Este tipo tiene ventaja a nivel de performance cuando el costo de crear objetos todo el tiempo es alto.(el estado del objeto permanece para todos los cliente ,solo hay un objeto)
  • Client-Activate : Estos objetos solo se activan cuando son llamados por el cliente.

Hosting a Remote Server Application :

Es el responsable de registrar los objetos ,en el cual escucharemos las llamadas de los clientes. Existen 4 opciones para hostear un remote object.

  • Console Application
  • Windows Executable
  • ASP.NET application
  • Windows Services

Seleccionando un canal de Comunicación :

Los canales son usados para conectar los objetos remotos y realizar el transporte de los mensajes .Existen tres tipos de canales:

  • TCP : Procesa los mensajes en forma binaria .Es la mejor opción si la aplicación corre en una intranet.
  • HTTP : Este usa el protocolo SOAP para transportar mensajes .Este utiliza el xml serealizer para procesar los mensajes.
  • IPC: Es la mejor opción para cuando el proceso de comunicación es dentro de la misma maquina.

No hay comentarios: