Para poder comprender adecuadamente los retos planteados cuando se habla de sistemas distribuidos, es necesario tener en claro una serie de términos clasificándolos en el ámbito que corresponde para incursionar en su implementación y aún mas si deseamos hacer comparaciones durante una evaluación.
Es un estandar la OMG (Object Managment Group), el cual establece las especificaciones para construir software interoperativo utilizando tecnología orientada a objetos.
La especificación puede ser implementada o no en su totalidad por cada plataforma. Pero debemos considerar para aquello que se implemente, que debe hacerse de la manera que está especificado.
¿Que nos brinda CORBA?
- Independencia en el lenguaje de programación y sistema operativo: CORBA fue diseñado para liberar a los ingenieros de las limitaciones en cuanto al diseño del software.
- Posibilidad de interacción entre diferentes tecnologías: uno de los principales beneficios de la utilización de CORBA es la posibilidad de normalizar las interfaces entre las diversas tecnologías y poder así combinarlas.
- Transparencia de distribución: ni cliente ni servidor necesitan saber si la aplicación está distribuida o centralizada, pues el sistema se ocupa de todo eso.
- Transparencia de localización: el cliente no necesita saber donde ejecuta el servicio y el servicio no necesita saber donde ejecuta el cliente.
- Integración de software existente: se amortiza la inversión previa reutilizando el software con el que se trabaja, incluso con sistemas heredados.
- Activación de objetos: los objetos remotos no tienen por qué estar en memoria permanentemente, y se hace de manera invisible para el cliente.
Arquitectura de un sistema CORBA
Un sistema CORBA es un conjunto de objetos que interactúan entre ellos, los cuales pueden interactuar también con servicios y utilidades CORBA:
- La interacción real se da a través del ORB (Object Request Broker)
- Si en el sistema intervienen distintos ORBs, estos interactuan mediante protocolo IIOP
- Adaptador de objetos AO actua como interfaz entre ORB y objetos.
Esta especificación define la interfaz de una serie de servicios de utilidad para cualquier aplicación, los cuales, se comportan de forma similar a cualquier otro objeto del sistema.
- Servicio de nombre: permite registrar y localizar objetos asociándole un nombre
- Servicio de localización: permite localizar objetos a través de su interfaz
- Servicio de eventos: permite enviar/recibir eventos entre objetos
- Servicio de propiedades: permite añadir propiedades (pares nombre/valor) a los objetos en tiempo de ejecución
Alternativas a CORBA
- Programación mediante interfaz de sockets
- RPC (Remote Procedure Call)
- DCE (Distributed Computing Environment)
- DCOM (Distributed Component Object Model)
- PVM (Parallel Virtual Machine)
- SR (Synchronizing Resources)
- MPD (Multithreaded, Parallel and Distributed)
- Java RMI
- .NET Remoting
- Servicios Web
No hay comentarios:
Publicar un comentario