PDF de programación - Tecnologías para el desarrollo de Sistemas Distribuidos: Java versus Corba

Imágen de pdf Tecnologías para el desarrollo de Sistemas Distribuidos: Java versus Corba

Tecnologías para el desarrollo de Sistemas Distribuidos: Java versus Corbagráfica de visualizaciones

Publicado el 14 de Enero del 2017
759 visualizaciones desde el 14 de Enero del 2017
52,9 KB
7 paginas
Creado hace 23a (11/12/2000)
X JORNADAS DE PARALELISMO, LA MANGA DEL MAR MENOR – MURCIA, SEPTIEMBRE, 1999

Tecnologías para el desarrollo de Sistemas

Distribuidos: Java versus Corba

David Basanta Gutiérrez, Lourdes Tajes Martínez

(acceso

y

localización

?
Resumen—En los últimos años se está viviendo un auge
en el diseño y desarrollo de Sistemas Distribuidos.
Más allá de las cuestiones clásicas de diseño de los
mismos
transparentes,
escalabilidad, tolerancia a fallos, rendimiento, etc) se
plantea qué tecnología utilizar para su desarrollo. Se
presenta aquí una
los sistemas
distribuidos en Java, incluyendo el estándar CORBA
del OMG y el sistema propio de Java, RMI, con un
componente
su
aplicabilidad y adecuación al desarrollo de aplicacioens
distribuidas.

crítico que permita discernir

introducción a

Palabras Clave—Sistemas Distribuidos, objeto, Java,
Corba, ORB, interoperabilidad, integración

I. SISTEMAS DISTRIBUIDOS: ANTECEDENTES

I

NICIALMENTE, los ordenadores eran grandes
centros de computación con entidad propia en
centros de investigación o gubernamentales y
Universidades. Con el boom de los PC en los 80,
todos pudieron tener parte de esa capacidad de
cómputo. Los PC, mucho más baratos que minis o
mainframes,
fueron una gran aportación para
empresas y particulares.

Aunque el ordenador personal estaba pensado para
ser un elemento de computación autónomo y no
formar redes de ordenadores, la posibilidad de
compartir recursos gracias a la comunicación de
varios PC, supone una ventaja que los fabricantes no
pudieron ignorar, empezando así la carrera hacia los
sistemas distribuidos, que tratan de aunar lo mejor de
microordenadores y superordenadores a
la vez,
creando un ordenador virtual a partir de varios PC.

A. Orientado a Procedimiento

La comunicación entre dos PC en sistemas UNIX,
mejoró mucho cuando BSD introdujo el concepto de
socket, que permitía que la comunicación entre


? [email protected], [email protected]
Departamento de Informática, Universidad de Oviedo

procesos sitos en ordenadores distintos no fuera
mucho más complicada que la de un programa que
supiese leer y escribir ficheros. Los programas que
emplean sockets establecen un protocolo de
comunicación para poder entenderse.

El RPC, de Sun Micrososystems, es el siguiente nivel
de abstracción y permite
llamadas a
procedimientos
su
localización, buscando con ello la transparencia de
acceso para el programador.

realizar
independientemente

de

B. Orientada a Objetos

Las tecnologías Orientadas a Objeto, hacen que estas
abstracciones orientadas a procedimiento resulten
inadecuadas, y propicia la aparición de sistemas como
CORBA, RMI y COM/DCOM.

En este trabajo 1 el término sistema distribuido hará
referencia al uso de objetos por parte de otros que
pueden estar situados o no en la misma máquina, de
forma casi transparente[3]. También se hablará de
objetos servidores que ofrecen servicios, y de objetos
cliente, que los usan, aunque esta distinción carece
de sentido en sistemas distribuidos, donde un objeto
puede adoptar simultáneamente ambos roles.

II. JAVA Y LAS REDES

A. SUN

Java es un entorno de computación2 introducido al
público en 1995 por Sun Microsystems 3. Considerado
como lenguaje de programación, es simplemente un
lenguaje cuya sintaxis recuerda la del C++, y tiene,

1 Soportado en parte por el Proyecto Interoperabilidad de
objetos y componentes mediante el sistema integral orientado
a objetos Oviedo3, Universidad de Oviedo
2 Java es el nombre del lenguaje de programación y de la
arquitectura. Aquí se
le da el nombre de entorno de
computación
3 Sun ya era conocida por tecnologías en sistemas operativos
(como las que incorpora Solaris) y sistemas distribuidos (como
NFS). De hecho, tiene como lema la red es el ordenador.

DAVID BASANTA GUTIÉRREZ, LOURDES TAJES MARTÍNEZ

respecto a este, ventajas, que el marketing de la
compañía trata de resaltar, e inconvenientes, que trata
de ocultar, sin embargo, las librerías de clases y el que
todos sus programas se ejecuten en una máquina
virtual lo convierten en un
lenguaje altamente
portátil, muy apto para una red con ordenadores y
sistemas operativos
como
Internet[1].

heterogéneos

tan

B. Máquinas Virtuales

reside en

El secreto de la portabilidad binaria de los programas
Java
las máquinas virtuales. Los
compiladores Java no generan binarios para una
arquitectura real, sino para una inexistente máquina
virtual Java, por lo que para usar los binarios, se
traducir
necesita un emulador encargado de
instrucciones del programa a primitivas de
la
arquitectura anfitriona.

C. Popularidad

La popularidad actual del lenguaje Java es, en parte,
fruto de una agresiva campaña de marketing por parte
de Sun, además de pactos con la compañía que
anteriormente era líder en la fabricación y distribución
de navegadores de Internet, Netscape. En todo caso,
hoy en día, Java es una plataforma muy popular y casi
todos los ordenadores que se fabrican ahora mismo
incluyen una máquina virtual capaz de ejecutar sus
programas.

III. SISTEMAS DISTRIBUIDOS EN JAVA

A. RMI

RMI[4] fue el primer framework4 para crear sistemas
distribuidos que apareció para Java. Además, viene
integrado en cualquier máquina virtual Java posterior
a la 1.0 y está pensado para hacer fácil la creación de
sistemas distribuidos a partir de una aplicación cuyas
clases ya estén implementadas.

B. CORBA: El estándar de sistemas distribuidos

CORBA es el estándar para la creación de sistemas
distribuidos creado por el Object Management Group
(OMG). Pensado para ser independiente del lenguaje,
rápidamente aparecieron implementaciones en las que
se podía usar casi cualquier lenguaje.


4 Jerarquía de clases que facilitan la programación en el
dominio del problema para el que fueron pensadas. Así, AWT
es un framework para crear interfaces de usuario de programas
en Java.

C. DCOM: La alternativa de Microsoft.

Aunque objeto y componente[2] tienen significado
distintos, el nombre utilizado en las tecnologías de
Microsoft COM y DCOM, versión distribuida de
COM es componente. COM/DCOM es un sistema de
componentes implementado en todos los sistemas
operativos que fabrica Microsoft. La tecnología para
crear
sistemas distribuidos proporcionada por
Microsoft es una versión orientada a componentes
del sistema RPC ya comentado. Si bien es verdad que
se han hecho algunos esfuerzos para que DCOM
aparezca en arquitecturas diferentes a la Win32
(llegando a acuerdos con el gigante del software
alemán Software A.G.), no parece que dichos
esfuerzos hayan proporcionado resultados visibles y
hoy por hoy, DCOM es una tecnología que solo sirve
para los sistemas Microsoft.

IV. CORBA.

CORBA, Common Object
Broker
Architecture, es una tecnología para crear sistemas
distribuidos, creada por un consorcio de fabricantes,
agrupados bajo el OMG.

Request

El estándar CORBA define qué ha de incluir una
implementación estándar, pero no cómo se han de
hacer. Esta tarea se deja de la mano de los diferentes
fabricantes. Esta es una de
las principales
características de CORBA: permite una total libertad a
los implementadores siempre que estos respeten unos
mínimos orientados a la interoperabilidad entre
implementaciones.

A. Ventajas

1) Disponibilidad y Versatilidad

Muchas arquitecturas y sistemas operativos cuentan
con una implementación de CORBA, lo que hace
suponer que se puede usar CORBA en virtualmente
cualquier proyecto de sistemas distribuidos.

2) Eficiencia

La libertad de desarrollo ha favorecido la existencia de
una pléyade de implementaciones del estándar que se
adaptan a multitud de posibles necesidades de los
usuarios, generando una competencia que favorece
aquellas implementaciones de mayor calidad y con
más características.

3) Adaptación a Lenguajes de programación

Además, es posible emplear los servicios de CORBA
desde cualquier lenguaje de programación, desde
C++, C ó Java, hasta COBOL ó Ada.

X JORNADAS DE PARALELISMO, LA MANGA DEL MAR MENOR – MURCIA, SEPTIEMBRE, 1999

B. Inconvenientes

1) Complejidad

Permitir la interoperabilidad de distintos lenguajes,
arquitecturas y sistemas operativos hace que sea un
estándar bastante complejo, y su uso no sea tan
transparente al programador como sería deseable:
1. Hay que usar un compilador que traduce una
serie de tipos de datos estándares a los tipos del
lenguaje en el que se vaya a programar (IDL)

2. Hay que ser conscientes a la hora de diseñar qué
objetos van a ser remotos y cuáles no (los
remotos sufren restricciones en cuanto a sus
capacidades con respecto a un objeto normal)

3. Es necesario emplear tipos de datos que no son
los que proporciona de manera habitual el
lenguaje de programación (muchas veces hay
que emplear tipos de datos adaptados de IDL).

2) Incompatibilidad entre implementaciones

Muchas empresas ofrecen implementaciones CORBA,
si bien el grado de cumplimiento es diverso. Las
divergencias entre ORBs radican en detalles que,
aunque no hacen imposible aplicar en uno el mismo
diseño de un programa pensado para otro, hacen que
la adaptación sea fastidiosa. Cuestiones como la
colocación de librerías o las diferentes formas de
implementar la gestión de la concurrencia, hacen
difícil
la portabilidad de
  • Links de descarga
http://lwp-l.com/pdf1227

Comentarios de: Tecnologías para el desarrollo de Sistemas Distribuidos: Java versus Corba (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad