Está en la página 1de 17

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament d’Arquitectura de Computadors

Comparativa de programación
cliente/servidor con Java y Corba
(apunts de l’assignatura en format transparència)

¿Qué herramientas conocemos para la programación Cliente/Servidor? 2.Comparativa de programación cliente/servidor con Java y Corba          1. Corba us RMI 6. Bibliografía CONCEPTES AVANÇATS DE . RMI + JINI 7. ¿Qué es Corba? 3. ¿Qué nos depara el futuro? 9. Corba us Java Sockets 5. ¿Qué le falta a Corba y a RMI? 8. ¿Qué ofrece Java para aplicaciones Cliente/Servidor? 4.

¿Qué herramientas conocemos para la programación Cliente/Servidor?  Sockets – Implementados en todos los S. CONCEPTES AVANÇATS DE .O. Modernos – Comunican dos procesos que pueden estar alojados en dos màquinas diferentes – El cliente debe conocer la máquina y puerto donde se ubica el servidor – Se debe establecer un protocolo cliente/servidor para el correcto funcionamiento de la aplicación.

¿Qué herramientas conocemos para la programación Cliente/Servidor?  RPC’s – Basado en Sockets – Abstrae al programador del uso de Sockets • Máquina Host • Puerto • Protocolo – Sigue siendo necesaria la distinción del código cliente y del código servidor – Requiere del Port-Mapper • Publicar RPC • Preguntar por RPC... etc. CONCEPTES AVANÇATS DE .

– Como añadir a las RPC’s el paradigma de la P. Distribuido.O.. • Herencia • Poliformismo • . CONCEPTES AVANÇATS DE .O.M.O. (Object Management Group) – Un entorno para la ejecución de P..G.O.¿Qué es Corba?  Corba es: – Un producto de la O.

. Es necesario que exista una versión de Corba para la plataforma donde se quiere implementar CONCEPTES AVANÇATS DE ..¿Qué es Corba?  Corba se puede implementar en multitud de lenguajes: – – – –  Java C++ Eiffel .

¿Qué es Corba?  Estructura parecida a las RPC’s: – Fragmento IDL -> Stub Cliente – Esqueleto IDL -> Stub Servidor – ORB -> “Port-Mapper” + Marshall/Unmarshall.. .. CONCEPTES AVANÇATS DE .

O.  RMI – – – – Remote Method Invocation Solución que aporta Sun (Java) para la P.¿Qué ofrece Java para aplicaciones Cliente/Servidor?  Java Sockets – ..O.. Distribuidos Incorpora un Garbage Collector Distribuido Cualquier plataforma para la que haya disponible una JVM puede implementar RMI CONCEPTES AVANÇATS DE .

¿Qué ofrece Java para aplicaciones Cliente/Servidor?  Estructura similar a Corba: CONCEPTES AVANÇATS DE .

– La comunicación cliente/servidor debe implementar un protocolo tratado en tiempo de programación – Para un servicio concreto.Corba us Java Sockets  Sockets: – Requieren del conocimiento por parte del cliente de la máquina y puerto donde está el servidor. la comunicación es n clientes a 1 servidor (Sobrecarga del servidor) CONCEPTES AVANÇATS DE .

solo hay que conocer el nombre que se ha dado al servicio para poder llamarlo – No hace falta protocolo. Balanceo de carga. Se emplean llamadas a métodos de objetos – Si n clientes solicitan un mismo servicio.Corba us Java Sockets  CORBA: – La localidad de los servicios es transparente al programador. se pueden hospedar n servidores en n máquinas. CONCEPTES AVANÇATS DE .

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 máquina que lo hospeda – Al estar implementado sobre la JVM. es lento CONCEPTES AVANÇATS DE .

CORBA us RMI  CORBA – Se puede implementar en muchos lenguajes. – Es más rápido que RMI. incluso combinaciones de ellos. CONCEPTES AVANÇATS DE . La localidad es transparente. – Basta con conocer el nombre del servicio.

CONCEPTES AVANÇATS DE . RMI adquiere la transparencia de localidad. Se lo podemos preguntar a JINI. Ya no hace falta conocer el nombre de la máquina donde está el servicio.RMI + JINI    JINI es otro entorno para Java que complementa a RMI Es como un servidor de nombres para objetos Java Con JINI.

etc. No se puden distribuir Threads. – Publicar los servicios – Adquirir los servicios  Necesita de herramientas especiales – Compiladores. A veces es difícil diferenciarlos. Sobrecarga de trabajo en tiempo de implementación para el programador..¿Qué le falta a Corba y a RMI?    Hace falta separar el código cliente del código servidor. CONCEPTES AVANÇATS DE . No aportan un espacio de memoria compartida distribuida..

CONCEPTES AVANÇATS DE .) • JavaParty: Proceso de precompilación para convertir una aplicación 100% Java Puro en una aplicación distribuida bajo RMI. Proporciona también la posibilidad de distribuir Threads -> Espacio de direcciones distribuido. Solo son proyectos de investigación en una fase demasiado atrasada como para poder aplicarse comercialmente.¿Qué nos depara el futuro?  Por ejemplo: – Para Java: • cJVM: JVM modificada para poder trabajar con threads distribuidos (espacio de direcciones distribuido. ...

Bibliografía      http://java.sun.com http://www..de/JavaParty cJVM Internet.ira. CONCEPTES AVANÇATS DE .uka.omg. .org http://wwwipd..