La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Remoting.Net Michel Rener. TEMARIO ¿Qué es una Aplicación Distribuida? ¿Qué es una Aplicación basada en Cliente/Servidor? ¿Qué es la Tecnología de Objetos.

Presentaciones similares


Presentación del tema: "Remoting.Net Michel Rener. TEMARIO ¿Qué es una Aplicación Distribuida? ¿Qué es una Aplicación basada en Cliente/Servidor? ¿Qué es la Tecnología de Objetos."— Transcripción de la presentación:

1 Remoting.Net Michel Rener

2 TEMARIO ¿Qué es una Aplicación Distribuida? ¿Qué es una Aplicación basada en Cliente/Servidor? ¿Qué es la Tecnología de Objetos Distribuidos? ¿Qué es Remoting.Net? Utilización de Interfaces dentro de Remoting.Net Marshalling Server-Activated Objects

3 ¿Qué es una Aplicación Distribuida? Una aplicación distribuida es aquella en la cual el procesamiento de la misma se encuentra dividido entre dos o más máquinas. La división del procesamiento implica que los datos involucrados también se encuentran distribuidos en diferentes máquinas.

4 ¿Qué es una Aplicación basada en Cliente/Servidor? Arquitectura que consta de un componente Cliente que requiere servicios de un componente Servidor. Componente Cliente: responsable de la capa de presentación-Interfaz de Usuario. Componente Servidor: responde a las peticiones del Cliente por medio (por ejemplo) de la interacción con BD, Sistemas de Archivos, etc.

5

6 ¿Qué es la tecnología de Objetos Distribuidos? Se puede realizar una distinción entre dos tipos de Objetos: Objetos locales: son aquellos que residen en la computadora sobre la cual se está trabajando Objetos remotos: son aquellos que residen en otra computadora perteneciente a la red La tecnología de Objetos Distribuidos permite que los Objetos remotos aparenten ser locales y sean tratados como tales.

7 ¿Qué es Remoting.Net? “Es una tecnología OO que facilita el desarrollo de aplicaciones distribuidas utilizando MS VisualStudio.Net. Provee una poderosa manera de utilizar Objetos remotos como si los mismos existiesen localmente por medio de Interfaces”.

8 ¿Qué es una Interfaz? Colección de operaciones que permiten describir el comportamiento de una Clase, un Componente u otra Entidad. La misma no indica como deben implementarse las operaciones. La/s Clase/s que la realizan se encargan de la implementación.

9 Representación de Interfaz en UML

10 Utilización de Interfaces dentro de Remoting.Net En el contexto de Remoting.Net, las Interfaces cumplen la función de un “contrato” alcanzado entre el Cliente y el Servidor. Provee el contacto entre los anteriores y les permite interactuar sin ningún tipo de inconvenientes. La Interfaz se comporta como una “versión simbólica” del Objeto remoto que reside en el Servidor y el Cliente accede por medio de la misma.

11 Marshalling Remoting.Net crea un Objeto en el componente Servidor disponible para ser utilizado en el componente Cliente, esto es denominado marshalling. Se pueden identificar dos procedimientos fundamentales: Marshal-By-Value Marshal-By-Reference

12 Marshal-By-ValueMarshal-By-Reference El componente Servidor crea una copia del estado del Objeto existente en el mismo y transfiere dicha copia al componente Cliente, quien crea un nuevo Objeto basado en tal estado El componente Cliente crea un representante (proxy) del Objeto real existente en el Servidor y utiliza dicho representante para acceder al Objeto. El manejo de los representantes es por medio de Interfaces.

13 Marshal-By-Value Marshal-By-Reference

14 Marshal-By-ValueMarshal-By-Reference Cualquier cambio realizado en el Objeto Servidor no afectará la estructura del Objeto Cliente. Cualquier cambio realizado en el Objeto Servidor afectará al Cliente.

15 Marshal-By-ValueMarshal-By-Reference Para implementarlo se debe hacer que la Clase deseada implemente la Interfaz Iserializable ó utilice el atributo [Serializable] [Serializable] Class NombreClaseSerializable { ------------- } Para implementarlo se debe hacer que la Clase deseada herede de System.MarshalByRefObject Class NombreClase : MarshalByRefObject { --------------------------------- -------------------------------- }

16 Server-Activeted Objects Características: Objetos que residen en el componente Servidor new No son creados cuando el Cliente utiliza el operador new El tiempo de vida de los mismos es gerenciado por el Servidor, no es el Cliente quien gobierna Well Known Objects También denominados “Objetos bien conocidos” (Well Known Objects)

17 Server-Activated Objects (cont.) Remoting.Net permite dos modelos de “Objetos bien conocidos”: SingleCall Singleton

18 SingleCall Mode La infraestructura Remoting.Net construye una nueva instancia de un Objeto remoto por cada invocación a método que el Cliente realice. Luego de obtenido el retorno del método, el Objeto Servidor se encuentra disponible para ser tomado por el Garbage Collector.

19 SingleCall Mode

20 Singleton Mode La infraestructura Remoting.Net construye una nueva instancia de un Objeto remoto en el momento que el Cliente realiza una invocación a método y el mismo no existe. En caso contrario, no se construye la nueva instancia y se utiliza la existente.

21 Singleton Mode

22 Cierre Remoting.Net: permite manejar dos canales de comunicación: TCP/HTTP. en el framework 2003 existen altos niveles de seguridad para la transferencia de datos.

23 Bibliografía y Sitios “Microsoft.Net Remoting”, Scott McLean, James Naftel. “Writing for Advanced.Net Remoting Clients”, David Talbot. http://www.eggheadcafe.com http://developer.com/net/vb/article.php http://msdn.Microsoft.com

24 PREGUNTAS????


Descargar ppt "Remoting.Net Michel Rener. TEMARIO ¿Qué es una Aplicación Distribuida? ¿Qué es una Aplicación basada en Cliente/Servidor? ¿Qué es la Tecnología de Objetos."

Presentaciones similares


Anuncios Google