Comparativa de programaci - PowerPoint PPT Presentation

About This Presentation
Title:

Comparativa de programaci

Description:

Title: Comparativa de programaci n cliente/servidor con Java y Corba Subject: Apunts Assignatura Author: Jaime Gal ndez Sanjuan Last modified by – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 18
Provided by: Jaime130
Category:

less

Transcript and Presenter's Notes

Title: Comparativa de programaci


1
Comparativa de programación cliente/servidor con
Java y Corba

2
Comparativa de programación cliente/servidor con
Java y Corba
  • 1. Qué herramientas conocemos para la
    programación 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. Bibliografía

3
Qué herramientas conocemos para la programación
Cliente/Servidor?
  • Sockets
  • Implementados en todos los S.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.

4
Qué herramientas conocemos para la programación
Cliente/Servidor?
  • RPCs
  • 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...

5
Qué es Corba?
  • Corba es
  • Un producto de la O.M.G. (Object Management
    Group)
  • Un entorno para la ejecución de P.O.O.
    Distribuido.
  • Como añadir a las RPCs el paradigma de la P.O.O.
  • Herencia
  • Poliformismo
  • ...

6
Qué es Corba?
  • Corba se puede implementar en multitud de
    lenguajes
  • Java
  • C
  • Eiffel
  • ...
  • Es necesario que exista una versión de Corba para
    la plataforma donde se quiere implementar

7
Qué es Corba?
  • Estructura parecida a las RPCs
  • Fragmento IDL -gt Stub Cliente
  • Esqueleto IDL -gt Stub Servidor
  • ORB -gt Port-Mapper Marshall/Unmarshall, ...

8
Qué ofrece Java para aplicaciones
Cliente/Servidor?
  • Java Sockets
  • ...
  • RMI
  • Remote Method Invocation
  • Solución 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

9
Qué ofrece Java para aplicaciones
Cliente/Servidor?
  • Estructura similar a Corba

10
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 cliente/servidor debe implementar
    un protocolo tratado en tiempo de programación
  • Para un servicio concreto, la comunicación es n
    clientes a 1 servidor (Sobrecarga del servidor)

11
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
    métodos de objetos
  • Si n clientes solicitan un mismo servicio, se
    pueden hospedar n servidores en n máquinas.
    Balanceo de carga.

12
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

13
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 más rápido que RMI.

14
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 máquina donde está el servicio. Se lo podemos
    preguntar a JINI.

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

16
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 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 -gt
    Espacio de direcciones distribuido.
  • Solo son proyectos de investigación en una fase
    demasiado atrasada como para poder aplicarse
    comercialmente.

17
Bibliografía
  • http//java.sun.com
  • http//www.omg.org
  • http//wwwipd.ira.uka.de/JavaParty
  • cJVM
  • Internet, ...
Write a Comment
User Comments (0)
About PowerShow.com