Está en la página 1de 33

trabajo en grupo

Integrantes:
Erick Alejandro Ayala Churo
Luis David Clavijo Santacruz
Carlos Eduardo Soria Peña
Andres Fernando Lituma Sarmiento
Temas
- corba
- rpc
- rmi
- sockets
corba
Common Object Request Broker Architecture (CORBA) es una
arquitectura y especificación para crear, distribuir y administrar
objetos de programa distribuidos en una red.

Permite que los programas en diferentes ubicaciones y


desarrollados por diferentes proveedores se comuniquen en una
red a través de un intermediario de interfaz.

Fue desarrollado por un consorcio de proveedores a través del


Object Management Group (OMG), que actualmente incluye a
más de 500 empresas miembros.
COMPONENTES
Para construir componentes que utilicen el entorno CORBA se deben seguir los siguientes pasos:

1. Definir la interfaz remota en un entorno remoto de IDL permitirá generar, de manera automática, el código fuente del
stub y el skeleton así como todo el código necesario para comunicarse con el ORB.
2. Compilar la interfaz remota.
3. Implementar el servidor de los esqueletos que genera el compilador además de los métodos que implementan la
interfaz remota, el código del servidor crea un mecanismo para arrancar el ORB
4. El cliente hace uso de los stubs generados al encontrar el servidor utilizando el servicio de objeto remoto e invocar sus
métodos.
5. Arrancar los programas o servicio nombrado.
ARQUITECTURA

Se tiene que tener una referencia en el objeto (IOR) donde esté el la operación que el cliente
puede iniciar por medio de una arquitectura IDL o una construcción de forma dinámica DII donde
el ORB se encarga de encontrar el código para transmitir parámetros a la interfaz esqueleto IDLo
del DII.
1.1. Objetos CORBA
Las implementaciones de los objetos reciben las invocaciones como llamadas hacia arriba (up-call), desde el ORB
hacia la Implementación de la interfaz:

● Localizados en alguna Red.


● Ejecutados desde cualquier plataforma
● Escrito en cualquier lenguaje

1.2. ORB object request broker


Componente que permite que clientes y objetos puedan comunicarse en un ambiente distribuido por medio de
interfaces que el ORB manipula:

● Object Services: Son interfaces para servicios generales


● Common Facilities: Son interfaces orientadas al usuario final
● Domain Interfaces: Son interfaces de dominio específicas para las aplicaciones.
● Application Interfaces: Este tipo de interfaz acepta interfaces que no sean estandarizadas
1.3. El adaptador de objetos (OA)
Es el módulo que permite a las implementaciones de los objetos acceder a servicios ofrecidos por el ORB, éste genera las
referencias a los objetos donde se exporta una interfaz pública y una interfaz privada.

Las funciones que realiza este adaptador son:

● Generación e interpretación de las referencias a objetos.


● Invocación de métodos.
● Seguridad en las interacciones.
● Registro de las implementaciones.
1.4. IDL (Interface Definition Language)
Se especifica los servicios que ofrecen los objetos que forman parte de un sistema abierto y distribuido donde se necesita contar
con algún lenguaje preciso

La norma ISO/IEC 14750 (ITUT X.920) define dicho lenguaje, al que se conoce como lenguaje de definición de interfaces de
ODP, o ODP IDL por su acrónimo en inglés.

En IDL, una interfaz es una descripción de un conjunto de posibles operaciones que un cliente puede solicitar de un objeto.

Los tipos de datos que manipula CORBA en IDL son:

● Tipos básicos : long, short, ushort, ulong, float, double char, boolean, enum, string, octect, any
● Tipos compuestos: struct, union, array
● Tipos derivados: sequence <tipo>
● Tipos de objeto: interface, referencia a objetos
El repositorio de interfaces
El repositorio de interfaces (IR) es un servicio que ofrece objetos persistentes que representan la información IDL de las
interfaces disponibles en CORBA, de una forma accesible en tiempo de ejecución (runtime).

La interfaz de invocación dinámica


El DII (Dynamic Invocation Interface) es una interfaz que nos permite la construcción dinámica de invocaciones para un
determinado objeto. Ello garantiza que el cliente pueda especificar el objeto, la invocación y los parámetros que se pasan al
servidor

1. Stub
● El Stub recoge del cliente llamadas a métodos y las transmite al ORB. Se requiere una clase de stub por cada clase
remota

2. Esqueleto
● Recibe llamadas del ORB y ejecuta los métodos correspondientes en el servidor sobre el objeto que corresponda un
objeto local por intermedio del protocolo de comunicaciones IIOP a través del ORB.
VENTAJAS

Heterogeneidad

● Un sistema heterogéneo consiste en conjuntos de elementos interconectados de hardware y software de diferente fabricante y que puede integrar
aplicaciones de diferente tecnología.

Movilidad

● La migración de procesos en sistemas distribuidos tradicionales es muy útil para mejorar el reparto de carga de los diferentes computadores.

Eficiencia

● La red lleva menos mensajes, menos trabajo realiza el servidor.

Adaptación al cliente

● El cliente puede extender la funcionalidad del servidor, Fácil instalación dinámica de los procedimientos del cliente en el servidor.

Tiempo de desempeño

● Además, la ejecución asíncrona permite que los procesos controlen la gestión y terminación de tarea y que el cliente pueda finalizar o continuar.

Robusto

● Los procesos se ejecutan realizando tareas específicas en lugares diferentes se Automatizan de las tareas distribuidas.
Desventajas

Precisamente, éste es un campo de investigación actual donde las redes son indispensables para la comunicación entre máquinas
sin embargo pueden plantear problemas de saturación, embotellamiento, interrupción o pérdidas de mensajes pero se manejan
protocolos de seguridad.
rpc
La RPC o Remote Procedure Call (en español, llamada a
procedimiento remoto) es una herramienta básica para establecer
estructuras colaborativas y operativas en redes y arquitecturas
cliente-servidor.

Las llamadas a procedimiento remoto siempre se ejecutan siguiendo un patrón


determinado: por ejemplo, un cliente contacta con un servidor de base de datos central
para buscar una pieza de repuesto. El servidor remoto revisa entonces la base de datos y
envía el resultado al cliente. Este último procesa los datos recibidos y muestra, por
ejemplo, una lista con los datos del inventario en un software de gestión.
El stub del cliente actúa como sustituto del procedimiento del servidor remoto en el lado del
cliente, mientras que el stub del servidor sustituye al código del cliente que realiza la llamada en
el lado del servidor.
Donde se UTILIZAN
Se utilizan en muchos ámbitos: son Windows las utiliza en muchas
uno de los componentes rutinas que se llevan a cabo
fundamentales de los servicios web constantemente, como el servicio
(por ejemplo, como protocolo de fax, la cola de impresión o las
XML-RPC para llamadas a conexiones de red configuradas,
funciones remotas a través de que utilizan un servicio de sistema
HTTP) denominado “llamada a
procedimiento remoto”.
Ventajas y Desventajas

El protocolo RPC gestiona la comunicación entre procesos de manera fiable


y requiere un tiempo de procesamiento relativamente corto. Así, se facilita
mucho la programación de procesos de comunicación entre ordenadores
remotos

Los niveles de transferencia de los sistemas basados en RPC conllevan una cierta
pérdida de velocidad, al contrario que las llamadas a procedimiento puramente
locales.
rmi
Es un mecanismo que permite realizar llamadas a métodos de objetos remotos situados en
distintas máquinas virtuales Java, compartiendo así recursos y carga de procesamiento a
través de varios sistemas.RMI es una tecnología desarrollada por Sun para permitir la
colaboración de objetos que están localizados remotamente.
Objetivos de RMI
Proporcionar una lógica de intercambio de información
(middleware) para el desarrollo de aplicaciones distribuidas
manteniendo el estilo de programación utilizado en Java:

• Mecanismos para crear servidores y objetos cuyos métodos


se puedan invocar remotamente.

• Mecanismos que permiten a los clientes localizar los objetos


remotos.

Funciones

- Localizar objetos remotos


- Comunicarse con objetos remotos.
Arquitectura RMI

1. Capa de aplicación: corresponde con la


implementación real de las aplicaciones cliente y
servidor. Aquí tienen lugar las llamadas a alto nivel
para acceder y exportar objetos remotos.
2. Capa de resguardo/esqueleto (proxy/skeleton):
que se encarga del aplanamiento (serialización) de
los parámetros
3. Capa de gestión de referencias remotas: trata los
aspectos relacionados con el comportamiento
esperado de las referencias remotas (mecanismos
de recuperación, etc.)
4. Capa de transporte: en esta capa gestiona todo lo
referente a las comunicaciones
Ventajas
- En entorno Java permite distribuir una aplicación de forma
muy transparente, sin realizar demasiados cambios en el
código.
- Las invocaciones remotas son más eficientes que las
peticiones via http que se usan con CGIs o son servlets.
Desventajas
- Se consume tiempo para realizar la serialización y
deserialización de parámetros.
·
Seguridad
Proporciona un mecanismo alterno basado en el protocolo
http, para permitir a los clientes que se encuentren detrás
del firewall, invocar métodos de objetos que se encuentren
del otro lado.
·
Diferencia de RMI con RCP

- RMI admite la programación orientada a objetos, que es la


característica de Java. Se permite un hilo para decidir la
estrategia en un objeto extraño. En RMI, los objetos se pasan
como un parámetro en lugar de datos ordinarios.

- RPC y RMI es que RPC admite la programación de


procedimientos, por otro lado, RMI admite la programación
orientada a objetos .
· Ejemplo
sockets
¿Qué es y para qué sirve?
Consiste en una abstracción que
permite la comunicación de datos
en una aplicación.

Permite a un componente conectarse


a una red la cual tiene otros
componentes conectados con el fin
de comunicarse simultáneamente.

Es un punto final de enlace de


comunicación de dos caminos entre
dos programas por medio de una
red.
Características
- Existen dos tipos de Sockets (Stream Socket & Datagram Sockets).
- El Stream Socket ofrece un servicio eficaz que funciona sobre el
protocolo TCP, con el protocolo IP por debajo.
- Se identifica por una dirección Única.
- Los Datagram Sockets funcionan sobre el protocolo UDP en conjunto
con el protocolo IP por debajo.
- Un socket puede ser referenciado por varias aplicaciones y una
aplicación puede escuchar varios puertos.
- En programación es un fichero que se ejecuta de manera especial.
- Los datos llegan en el orden que se envían.
Sockets y Streams en Java
Jerarquia de envio de datos (Reader and Writer)
Sockets Orientados a conexión
Diseña un camino virtual entre el
cliente y el servidor, garantizando
evitar la pérdida de datos ni
duplicados mientras se envían.

El cliente abre una sesión dentro


del servidor y este mismo guarda un
estado del cliente.

- El cliente usa la clase


Socket.
- El servidor usa la clase - Dominios
ServerSocket.
- Protocolo
- Tipo
WebSocket
- Es una tecnología de comunicación bidireccional y
full-duplex que corre sobre un TCP.
- Implementado en navegadores y servidores Web.
- Uso recurrente en aplicaciones cliente/servidor.
- Normalización del API y Protocolo WebSocket.
- Permite la multiconexión en puertos distintos,
multiplexando varios servicios sobre un único puerto TCP.
Ejemplo de WebSocket

También podría gustarte