Professional Documents
Culture Documents
1 Capas de Middleware
Aplicaciones, servicios RMI, RPC y eventos Protocolo peticin - respuesta Empaquetado y representacin externa de datos Capas Middleware
Unidad 4
Middleware
Transparencia frente a ubicacin - no se necesita conocer la ubicacin del proceso. Protocolos de comunicacin - son independientes del protocolo de transporte que use, UDP/TCP. Hardware de los computadores se usa el empaquetado y desempaquetado de mensajes, oculta diferencias en Hardware. Sistemas operativos Diversos lenguajes de programacin permiten que las aplicaciones distribuidas sean escritas en ms de un lenguaje - IDL.
Permite a programas cliente llamar a procedimiento de programas servidores. Generalmente se encuentran en computadores separados. Se aprovecha uno de los paradigmas fundamentales de la programacin:
La descomposicin modular en funciones
RPC Ventajas:
Se ocultan detalles de la comunicacin No hay diferencias entre una llamada local y una remota Con RPC, una aplicacin distribuida consiste en:
Una batera de funciones que se ejecutan en un servidor Programas que llaman a esas funciones
Surgen de aplicar los conceptos de RPCs al paradigma de la orientacin a objetos Permiten la distribucin de objetos entre clientes y servidores
Los servidores implementan objetos Los clientes invocan objetos
Permiten separar el interface de los objetos de su implementacin Enmascaran los problemas de la heterogeneidad de los lenguajes Se utilizan para:
Definir tipos: Objetos y Datos intercambiados por los objetos
Interface remota: especifica los mtodos de un objeto que estn disponibles para su invocacin
// In file Person.idl struct Person { string name; string place; long year; }; interface PersonList { readonly attribute string listname; void addPerson(in Person p) ; void getPerson(in string name, out Person p); long number(); };
Algunas alternativas:
Java: RMI IDL o Interface Definition Language usado en CORBA
Permite la invocacin remota de mtodos en objetos que residen en diferentes procesos Permite la distincin entre objetos locales y remotos Facilita el desarrollo de aplicaciones distribuidas
Servidor:
Crea objeto remoto Crea referencia al objeto remoto Espera a que un cliente invoque un mtodo en el objeto remoto
Cliente:
Obtiene referencia a un objeto remoto en el servidor Invoca un mtodo remoto
RemoteObject RemoteServer
Activatable
UnicastRemoteObject
Una interfaz remota especifica los mtodos que pueden ser invocados remotamente
<servant class>