Objetos Distribuidos - Componentes Middleware
Middleware Component Oriented Development Arquitecturas 3 Tier Middleware es el software que: conecta y comunica los componentes de una aplicacion distribuida conecta clientes y servidores
Middleware Software Incluye Protocolos de Red Servicios de Nombre Servicios de Autenticacion Servicios de Reloj de Red Servicios de Archivos Distribuidos Servicios de Impresion
Tipos de Middleware Remote Procedure Calls (RPCs) write code that treated calls to a remote system as though they were calling a local subroutine Distributed Computing Environment (DCE) Network File System (NFS) Message Oriented Middleware (MOM) Remote Synchronous Asynchronous Transaction Processing
Tipos de Middleware Impact of ORBs Mayor avance se dio al combinar los conceptos de RPC con los paradigmas Orientados a Objetos RPC + OO = ORB Object Request Broker (ORB) ORBs provide a higher level of abstraction beyond RPC and allow programmers to simply invoke a method on an object and let the infrastructure handle the distribution
Middleware - ORBs ORBs Permite que los clientes invoquen en forma transparente metodos en un objeto server. El ORB intercepta la llamada y es responsable de encontrar un objeto que tenga implementada la interfaz en cuestion. El cliente no se preocupa de donde reside el objeto servidor Puede proveer interoperabilidad entre aplicaciones de diferentes equipos, en ambientes distribuidos heterogeneos.
Middleware - IDL Interface Definition Language (IDL) Es la herramienta utilizada para definir el protocolo de comunicacion entre los objetos cliente y los servidores. Antes de que un cliente pueda hacerle un pedido a un objeto, necesita conocer los tipos de operaciones que soporta. La interfaz de un objeto especifica las operaciones y tipos que permite, definiendo así qué pedidos se le pueden realizar. El OMG ha definido una serie de language mapping estándar para varios de los lenguajes de programación n más m conocidos como C, C++, COBOL, Java, etc.
Tipos de Middleware Enterprise Application Integration (EAI) Technology for making all of these different enterprise applications work together Distributed Object Middleware CORBA DCOM RMI / EJB Object Management Group (OMG).NET Microsoft J2EE - Sun Microsystems
OMG - CORBA CORBA Common Object Request Broker Architecture Open Specification Object Management Group (OMG) OMG is a consortium dedicated to the standarization of distributed object computing OMG's architecture supports heterogeneity,providing the mechanisms for applications written in any language (running on any OS, any hardware platform) to communicate and collaborate with each other, that is in essence, the development of a "Software Bus" (Middleware) to allow and support implementation diversity (as a hardwarebus does for expansion cards)
Microsoft - DCOM DCOM MS's proprietary distributed-object technology. Build on top COM (Component Object Model) architecture Provides a framework for application interoperation within a Windows environment. DCOM is similar to CORBA, both define an IDL, provide support services such as persistence, security and transaction. CORBA vs DCOM CORBA is an Open Specification while DCOM is not
Sun - Java RMI / EJB Remote Method Invocation (RMI) CORBA vs RMI RMI model takes advantage of Java Virtual Machine, so it's designed to operate in Java. This can be a serious drawback because it requires writing all parts of an RMIbased distributed application in a single language (Java).