You are on page 1of 12

UNIVERSIDAD

POLITCNICA DE
TAPACHULA
ALUMNO:
Jhonathan Raziel Nuo Lopez
Jessica De Aquino Cisneros
Luis Alberto Hernndez Escobar

DOCENTE:
Uvaldo Vicente Mrida

CARRERA:
Ingeniera En Software

MATERIA:
Desarrollo De Sistemas Cliente/Servidor

TEMA:
Computacin Distribuida (RMI, COM/DCOM, SERVICIOS WEB)

GRADO: 7 GRUPO: A

TAPACHULA, CHIS ENERO DE 2015

ndice
Tema
Pag.
Computacin Distribuida

Introduccin
Este trabajo est elaborado con el propsito de dar a conocer que es
la computacin distribuida y para qu sirve, de igual manera dar
informacin sobre que es (RMI Remote Method Invocation) y cules
son sus funciones de esta al ser invocado en mtodos remotos de
java, que es lo que ofrece, sus caractersticas, y al igual la
comparacin con otro sistema dando as su ventaja e inconvenientes,
de igual manera vamos a explicar un poco sobre COM/DCOM
(Component Object Model/ Distributed Component Object Model) los
cuales son el resultado de la evolucin y de dos nuevas tecnologas,
como la comunicacin entre procesos en el ambiente de Windows y el
desarrollo de un mecanismo para la invocacin de procedimientos
remotos, otro tema muy importante es de cmo se generan los
servicios WEB, para que sirven y cmo funcionan.

Justificacion
En los actuales momentos, los sistemas distribuidos, particularmente
la Web y otras aplicaciones y servicios basados en Internet, son de un
inters e importancia sin precedentes. El propsito de este trabajo es
proporcionar los principios que dan soporte al diseo de sistemas
distribuidos de forma que las personas que lean este trabajo estn en
capacidad de evaluar sistemas distribuidos existentes o disear unos
nuevos.

Las tcnicas relacionadas con sistemas distribuidos desarrolladas


durante las ltimas tres dcadas, tales como la comunicacin entre
procesos, la invocacin remota, seguridad, replicacin de datos y
mecanismos para el manejo de transacciones distribuidas
proporcionan la infraestructura que da soporte a las aplicaciones que
integran los recursos de hardware y de software que se tienen
disponibles en un ambiente de Red.

Objetivo
Proporcionar a las personas un conocimiento de las tcnicas bsicas
disponibles en sistemas computacionales distribuidos con el propsito
de que puedan desempearse efectivamente en cualquier prctica o
problema con conexiones remotas.

Computacin Distribuida
La computacin distribuida es un nuevo modelo para resolver problemas de
computacin masiva utilizando un gran nmero de ordenadores organizados en
clsteres incrustados en una infraestructura de telecomunicaciones distribuida.
Un sistema distribuido se define como una coleccin de computadoras separadas
fsicamente y conectadas entre s por una red de comunicaciones; cada mquina
posee sus componentes de hardware y software que el programador percibe como
un solo sistema (no necesita saber qu cosas estn en qu mquinas).
Los sistemas distribuidos deben ser muy confiables, ya que si un componente del
sistema se descompone otro componente debe ser capaz de reemplazarlo. Esto
se denomina tolerancia a fallos.
El tamao de un sistema distribuido puede ser muy variado, ya sean decenas de
hosts (red de rea local), centenas de hosts (red de rea metropolitana), o miles, o
millones de hosts (Internet); esto se denomina escalabilidad.

Caractersticas
1. Para cada uno de los usuarios debe ser similar al trabajo en el Sistema
Centralizado.

2. Seguridad interna en el sistema distribuido.


3. Se ejecuta en mltiples computadoras.
4. Tiene varias copias del mismo sistema operativo o de diferentes sistemas
operativos que proveen los mismos servicios.
5. Entorno de trabajo cmodo.
6. Dependiente de redes (LAN, MAN, WAN, etc.).
7. Compatibilidad entre los dispositivos conectados.
8. Transparencia (el uso de mltiples procesadores y el acceso remoto debe
ser invisible).
9. Interaccin entre los equipos.
10. Diseo de software compatible con varios usuarios y sistemas operativos.

RMI (Remote Method Invocation)


RMI: invocacin de mtodos remotos de Java, Es un sistemas distribuidos
basados en objetos => RMI (Remote method invocation) Accin de invocar un
mtodo de un interfaz remoto en un objeto remoto.

RMI ofrece:
Mecanismos para crear servidores y objetos cuyos mtodos se puedan
invocar remotamente.
Mecanismos que permiten a los clientes localizar los objetos remotos.
Servicio de directorios:
rmiregistry, servicio de directorios de Java
Se ejecuta en la mquina servidor objeto
El soporte para RMI en Java est basado en las interfaces y clases definidas en
los paquetes java.rmi y java.rmi.server

Caractersticas de RMI:

No requiere un IDL (Interface Definition Language).

La transferencia de objetos de tipos de datos complejos se lleva a cabo


mediante mecanismos de serializacin.
Es necesario tratar mayor nmero de excepciones que en el caso de
invocacin de mtodos locales.

Comparacin RMI y sockets


Ventajas:

Los programas RMI son ms sencillos de disear


Servidor RMI concurrente

Inconvenientes:

Sockets tienen menos sobrecarga


RMI slo para plataformas Java

Arquitectura de Java RMI

Nivel de transporte: se encarga de las comunicaciones y de establecer las


conexiones necesarias

Nivel de gestin de referencias remotas: trata los aspectos relacionados


con el comportamiento esperado de las referencias remotas (mecanismos
de recuperacin, etc.)

Nivel de resguardo/esqueleto (proxy/skeleton) que se encarga del


aplanamiento (serializacin) de los parmetros

proxy: resguardo local. Cuando un cliente realiza una invocacin


remota, en realidad hace una invocacin de un mtodo del resguardo
local.

Esqueleto (skeleton): recibe las peticiones de los clientes, realiza la


invocacin del mtodo y devuelve los resultados.

Diseo de aplicaciones RMI

COM/DCOM (Component Object Model/ Distributed


Component Object Model)
COM (Component Object Model) es el resultado de la evolucin y convergencia de
dos tecnologas:

La comunicacin inter-procesos en los ambientes Windows de Microsoft.


El desarrollo de un mecanismo para la invocacin de procedimientos
remotos (RPC: Remote Procedure Calls) por parte de la (OSF: Open
Software Foundation) como parte de un ambiente de computacin
distribuida (DCE: Distributed Computing Environment) en particular un
protocolo para la invocacin de procesos remotos (RPC, Remote Procedure
Calls).

COM permite interaccin entre componentes COM que residen en un computador


DCOM (Distributed COM) agrega la posibilidad de que estos objetos este
distribuidos en la red

Por qu y para qu COM/DCOM?


COM viene incluido como parte de Windows. Es ms, muchas partes de Windows
son objetos COM. Si el programador quiere realizar una extensin del sistema
operativo, tendr que realizar un objeto COM. El desarrollo de un Sistema
Operativo lo realizan multitud de personas. Encontrar un modelo que se adapte al
desarrollo global del sistema es difcil. La programacin orientada a objetos es una
alternativa. COM realiza esta programacin a nivel de programas binarios, en
contra de lo que suele ser normal. Es decir, no hace falta tener los cdigos fuentes
del objeto para poder usarlo.
DCOM se puede usar en redes de una forma muy transparente, lo que nos
permite la programacin a varios niveles.
Podemos aprovechar las ventajas de las DLLs (Libreras de Enlace
Dinmico) en el modelo de componentes. Entre estas ventajas estn:
Minimizar el uso de memoria de programas ( al existir slo una
copia de las funciones en memoria )
- Las actualizaciones de las libreras realizan mejoras sobre todos
los programas que las usan ( aunque esto es un inconveniente,
pues todas las nuevas versiones deben de ser compatibles 100%
con las anteriores )
- Se pueden usar y escribir funciones de/desde distintos lenguajes
de programacin.
Sin embargo, la principal desventaja es la complejidad del tema.
-

Modelo Cliente/Servidor (COM/DCOM)


El uso de los componentes COM es un claro ejemplo de la arquitectura
Cliente/Servidor. El objeto COM en s es el servidor, y es usado por un programa
que hace de cliente. Existen varias formas de realizar la comunicacin. Podemos
encontrar los componentes como partes de un ejecutable (como el caso de los
productos de Microsoft Office, o si implementamos nuestro propio componente y lo
incluimos con un programa que los use), dentro de una librera de enlace dinmico
(DLL) o incluso en otra mquina (DCOM).

Servicios WEB
Qu son los Servicios Web?
Es un conjunto de aplicaciones o de tecnologas con capacidad para interoperar
en la Web. Estas aplicaciones o tecnologas intercambian datos entre s con el
objetivo de ofrecer unos servicios. Los proveedores ofrecen sus servicios como
procedimientos remotos y los usuarios solicitan un servicio llamando a estos
procedimientos a travs de la Web.

Para qu sirven?

Estos servicios proporcionan mecanismos de comunicacin estndares entre


diferentes aplicaciones, que interactan entre s para presentar informacin
dinmica al usuario. Para proporcionar interoperabilidad y extensibilidad entre
estas aplicaciones, y que al mismo tiempo sea posible su combinacin para
realizar operaciones complejas, es necesaria una arquitectura de referencia
estndar.

Cmo funcionan?
El siguiente grfico muestra cmo interacta un conjunto de Servicios Web:

Servicios WEB en funcionamiento

Segn el ejemplo del grfico, un usuario (que juega el papel de cliente dentro de
los Servicios Web), a travs de una aplicacin, solicita informacin sobre un viaje
que desea realizar haciendo una peticin a una agencia de viajes que ofrece
sus servicios a travs de Internet. La agencia de viajes ofrecer a su cliente
(usuario) la informacin requerida. Para proporcionar al cliente la informacin que
necesita, esta agencia de viajes solicita a su vez informacin a otros recursos
(otros Servicios Web) en relacin con el hotel y la compaa area. La agencia de
viajes obtendr informacin de estos recursos, lo que la convierte a su vez en
cliente de esos otros Servicios Web que le van a proporcionar la informacin
solicitada sobre el hotel y la lnea area. Por ltimo, el usuario realizar el pago del
viaje a travs de la agencia de viajes que servir de intermediario entre el usuario
y el servicio Web que gestionar el pago.
En todo este proceso intervienen una serie de tecnologas que hacen posible esta
circulacin de informacin. Por un lado, estara SOAP (Protocolo Simple de
Acceso a Objetos). Se trata de un protocolo basado en XML, que permite la
interaccin entre varios dispositivos y que tiene la capacidad de transmitir
informacin compleja. Los datos pueden ser transmitidos a travs
de HTTP , SMTP , etc. SOAP especifica el formato de los mensajes. El mensaje

SOAP Simple Object Access Protocol est compuesto por un envelope (sobre),
cuya estructura est formada por los siguientes elementos: header (cabecera)
y body (cuerpo).

Para optimizar el rendimiento de las aplicaciones basadas en Servicios Web,


se han desarrollado tecnologas complementarias a SOAP, que agilizan el
envo de los mensajes (MTOM Message Transmission Optimization
Mechanism) y los recursos que se transmiten en esos mensajes (SOAPRRSHB).
Por otro lado, WSDL (Lenguaje de Descripcin de Servicios Web), permite
que un servicio y un cliente establezcan un acuerdo en lo que se refiere a los
detalles de transporte de mensajes y su contenido, a travs de un
documento procesable por dispositivos. WSDL representa una especie de
contrato entre el proveedor y el que solicita. WSDL especifica la sintaxis y los
mecanismos de intercambio de mensajes.
Durante la evolucin de las necesidades de las aplicaciones basadas en
Servicios Web de las grandes organizaciones, se han desarrollado
mecanismos que permiten enriquecer las descripciones de las operaciones
que realizan sus servicios mediante anotaciones semnticas y con directivas

que definen el comportamiento. Esto permitira encontrar los Servicios Web


que mejor se adapten a los objetivos deseados. Adems, ante la complejidad
de los procesos de las grandes aplicaciones empresariales, existe una
tecnologa que permite una definicin de estos procesos mediante la
composicin de varios Servicios Web individuales, lo que se conoce como
coreografa.

Referencias
RMI

Distributed Systems. Concepts and Design. 2 edicin G. Coulouris, J.


Dollimore, T. Kindberg. Addison-Wesley, 1994
http://www.dcs.qmw.ac.uk/research/distrib/book.html

Informacin on-line de Sun (Remote Method Invocation Specification):


http://java.sun.com/products/jdk/1.1/docs/guide/rmi/spec/rmiTOC.doc.html
http://profesores.elo.utfsm.cl/~agv/elo330/2s05/projects/CesarVasquez/sitio
_web/que_es.html

COM/DCOM

http://www.ica.luz.ve/cstufano/CursoDeRedes/DCOMdoc.pdf
http://www.ica.luz.ve/cstufano/CursoDeRedes/DCOM.pdf

Servicios WEB

http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb
http://www.hipertexto.info/documentos/serv_web.htm

You might also like