Вы находитесь на странице: 1из 17

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament dArquitectura de Computadors

Comparativa de programacin cliente/servidor con Java y Corba


(apunts de lassignatura en format transparncia)

Comparativa de programacin cliente/servidor con Java y Corba

1. Qu herramientas conocemos para la programacin Cliente/Servidor? 2. Qu es Corba? 3. Qu ofrece Java para aplicaciones Cliente/Servidor? 4. Corba us Java Sockets 5. Corba us RMI 6. RMI + JINI 7. Qu le falta a Corba y a RMI? 8. Qu nos depara el futuro? 9. Bibliografa
CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 2

Qu herramientas conocemos para la programacin Cliente/Servidor?

Sockets
Implementados en todos los S.O. Modernos Comunican dos procesos que pueden estar alojados en dos mquinas diferentes El cliente debe conocer la mquina y puerto donde se ubica el servidor Se debe establecer un protocolo cliente/servidor para el correcto funcionamiento de la aplicacin.

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 3

Qu herramientas conocemos para la programacin Cliente/Servidor?

RPCs
Basado en Sockets Abstrae al programador del uso de Sockets
Mquina Host Puerto Protocolo

Sigue siendo necesaria la distincin del cdigo cliente y del cdigo servidor Requiere del Port-Mapper
Publicar RPC Preguntar por RPC, etc...
CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 4

Qu es Corba?

Corba es:
Un producto de la O.M.G. (Object Management Group) Un entorno para la ejecucin de P.O.O. Distribuido. Como aadir a las RPCs el paradigma de la P.O.O.
Herencia Poliformismo ...

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 5

Qu es Corba?

Corba se puede implementar en multitud de lenguajes:


Java C++ Eiffel ...

Es necesario que exista una versin de Corba para la plataforma donde se quiere implementar

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 6

Qu es Corba?

Estructura parecida a las RPCs:


Fragmento IDL -> Stub Cliente Esqueleto IDL -> Stub Servidor ORB -> Port-Mapper + Marshall/Unmarshall, ...

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 7

Qu ofrece Java para aplicaciones Cliente/Servidor?

Java Sockets
...

RMI
Remote Method Invocation Solucin que aporta Sun (Java) para la P.O.O. Distribuidos Incorpora un Garbage Collector Distribuido Cualquier plataforma para la que haya disponible una JVM puede implementar RMI

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 8

Qu ofrece Java para aplicaciones Cliente/Servidor?

Estructura similar a Corba:

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 9

Corba us Java Sockets

Sockets:
Requieren del conocimiento por parte del cliente de la mquina y puerto donde est el servidor. La comunicacin cliente/servidor debe implementar un protocolo tratado en tiempo de programacin Para un servicio concreto, la comunicacin es n clientes a 1 servidor (Sobrecarga del servidor)

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 10

Corba us Java Sockets

CORBA:
La localidad de los servicios es transparente al programador, solo hay que conocer el nombre que se ha dado al servicio para poder llamarlo No hace falta protocolo. Se emplean llamadas a mtodos de objetos Si n clientes solicitan un mismo servicio, se pueden hospedar n servidores en n mquinas. Balanceo de carga.

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 11

Corba us RMI

Basados en la misma idea RMI:


Solo se puede usar con aplicaciones 100% Java Hace falta conocer el nombre del servicio y la mquina que lo hospeda Al estar implementado sobre la JVM, es lento

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 12

CORBA us RMI

CORBA
Se puede implementar en muchos lenguajes, incluso combinaciones de ellos. Basta con conocer el nombre del servicio. La localidad es transparente. Es ms rpido que RMI.

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 13

RMI + JINI

JINI es otro entorno para Java que complementa a RMI Es como un servidor de nombres para objetos Java Con JINI, RMI adquiere la transparencia de localidad. Ya no hace falta conocer el nombre de la mquina donde est el servicio. Se lo podemos preguntar a JINI.

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 14

Qu le falta a Corba y a RMI?

Hace falta separar el cdigo cliente del cdigo servidor. A veces es difcil diferenciarlos. No aportan un espacio de memoria compartida distribuida. No se puden distribuir Threads. Sobrecarga de trabajo en tiempo de implementacin para el programador.
Publicar los servicios Adquirir los servicios

Necesita de herramientas especiales


Compiladores, etc...
CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 15

Qu nos depara el futuro?

Por ejemplo:
Para Java:
cJVM: JVM modificada para poder trabajar con threads distribuidos (espacio de direcciones distribuido, ...) JavaParty: Proceso de precompilacin para convertir una aplicacin 100% Java Puro en una aplicacin distribuida bajo RMI. Proporciona tambin la posibilidad de distribuir Threads -> Espacio de direcciones distribuido.

Solo son proyectos de investigacin en una fase demasiado atrasada como para poder aplicarse comercialmente.

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 16

Bibliografa

http://java.sun.com http://www.omg.org http://wwwipd.ira.uka.de/JavaParty cJVM Internet, ...

CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 17

Вам также может понравиться