Professional Documents
Culture Documents
FACULTAD DE INGENIERÍAS
INFORME DE INVESTIGACIÓN
TÍTULO: JAVASPACES
1. Espin Diego
2. Sandoval Byron
3. Tutillo Oswaldo
1 Resumen:
2 Introducción:
Los JavaSpaces pueden verse como un espacio en el cual es posible de una manera rápida y
simple almacenar y compartir información, coordinar y comunicar recursos de una manera
distribuida en una red. Toda esta información que fluye de un JavaSpaces es en forma de Objetos.
JavaSpaces se han comparado con las tecnologías, tales como colas de mensajes y bases de
datos. Es importante entender que, si bien JavaSpaces se puede utilizar para realizar algunas de
las tareas con el apoyo de las otras tecnologías, que deben ser tratados de manera muy diferente.
Con JavaSpaces podemos construir aplicaciones que se adaptan especialmente a tres tipos:
• Intercambio de datos.
• Mensajería
• Procesado en paralelo.
3 Materiales y Métodos:
Un servicio JavaSpaces contiene entradas, cada una de ellas es un grupo con tipo de objetos
expresados en una clase que implementa la interfaz net.jini.core.entry.Entry . Una vez que se
escribe una entrada en un servicio JavaSpaces, puede ser utilizado en futuras operaciones de
búsqueda operaciones. Buscando las entradas se realiza mediante plantillas, que son objetos de
entrada que tienen todas o algunas de sus campos ajustan a los valores especificados que deben
coincidir exactamente. Todos los campos restantes, que no se utilizan en las operaciones de
búsqueda, se quedan como comodines.
Hay dos look-up operaciones: read () y tomar () . La lectura () devuelve el método o una entrada
que coincida con la plantilla o una indicación de que ninguna coincidencia se encontró. La toma
() funciona como método read () , pero si se encuentra una coincidencia, la entrada se elimina del
espacio. eventos distribuidos se puede utilizar al solicitar un servicio JavaSpaces para que le avise
cuando una entrada que coincida con la plantilla especificada se escribe en el espacio. Tenga en
cuenta que cada entrada en el espacio se pueden tomar como máximo una vez, sino dos o más
entradas pueden tener los mismos valores exacto.
Como toda implementación Java, JavaSpaces, puede ser implementada por IDE comunes de
desarrollo como NetBeans, Eclipse, etc. Lo importante de esto es incluir el Jini Technology Starter
Kit para poder acceder a los servicios de JavaSpaces.
4 Resultados
Para la siguiente investigación se a propuesto el desarrollo del prototipo de un servicio Jini que
hace uso extensivo de la tecnología JavaSpaces, consiste en un canal de conversaciones de
múltiples participantes. La definición, codificación y distribución de esta aplicación recurre a todas
las facilidades proporcionadas por los elementos de la herramienta.
La implementación de este prototipo persigue dos objetivos. En primer lugar, ilustrar el proceso de
desarrollo de una aplicación completa utilizando todas las facilidades de la herramienta. Y en
segundo lugar, ilustrar el potencial de la herramienta para construir aplicaciones de mayor
complejidad en otros entornos de interacción con la guía proporcionada por el desarrollo del
prototipo de este caso de estudio
En particular, el servicio de conversación deberá proporcionar una interfaz de usuario con la cual
los participantes realicen toda interacción con el servicio, enviando mensajes a los demás. Entre
las características específicas que este servicio deberá tener se enumeran las siguientes:
• Los participantes en una conversación pueden crear canales de algún interés particular, al que
otros participantes con el mismo interés puedan unirse. Por ejemplo, pueden crear un canal
llamado “Literatura Latinoamericana”, en el que los interesados en este tema puedan intercambiar
sus comentarios. Deberá ser posible poder eliminar estos.
• Cada participante debe tener acceso a la lista de los canales creados que se encuentren en un
espacio determinado.
• Todos los mensajes que un participante envíe al canal deben ser visualizados por todos los
demás integrantes de la conversación.
Si un participante se une a un canal determinado en el que ya haya mensajes previos, debe tener
acceso a todos esos mensajes.
• El servicio puede proporcionar los medios por los cuales un participante de desconecte de cierto
canal.
• Los mensajes depositados en cierto canal pueden ser almacenados permanentemente, aun
cuando no tenga participantes en un momento dado, mientras que no se elimine la información de
ese canal.
En la Figura siguiente se resumen las interacciones del usuario del servicio de conversación con
el espacio de objetos de JavaSpaces. Enseguida se presentará el diseño de un servicio de
conversación desarrollado con JavaSpaces, y que contempla la implementación de estas
características.
En la siguiente figura muestra la ventana del asistente de definición de servicio con la captura de
los métodos para el servicio de conversación, y en la posterior Figura se muestra la configuración
del acceso de este servicio a servicios JavaSpaces y de administración de transacciones.
5 5. Discusión
<Sus resultados obtenidos compárelos con otros publicados o conocidos. ¿Están de acuerdo con lo
esperado o con las hipótesis iniciales establecidas?>
Jini es una tecnología con una arquitectura orientada a servicios que define un modelo de
programación que explora y extiende la tecnología Java para permitir la construcción de sistemas
distribuidos seguros, que consiste de federaciones de redes de servicios bien definidas y clientes. La
tecnología Jini se puede utilizar para construir sistemas de red adaptables, flexibles y escalables,
que pueden ser gradualmente evolucionados, soportando los requisitos de entornos informáticos
dinámicos. Un aspecto importante de Jini es el entendimiento de que, inevitablemente, habrá
algunas fallas en la red, o en clientes, o incluso en los servicios ofrecidos. Por definición, Jini
proporciona portabilidad de plataforma, movilidad de código y seguridad. Puede ser utilizado en
aplicaciones con acceso pleno al ambiente de ejecución de la plataforma JSE o dispositivos
pequeños, sistemas empotrados e incluso en aplicaciones escritas en otros lenguajes.
Contrariamente a la propaganda hecha por Sun Microsystems hace unos años, Jini va mucho más
allá de hacer que aplicaciones para refrigeradores y tostadores intercambien información.
6 Conclusiones
• JavaSpaces se han utilizado en varios proyectos de gran escala junto con Jini. La conjunción
de estas dos tecnologías soporta las características de la arquitectura SOA
• El modelo descrito para JavaSpaces puede considerarse complicado para el programador,
pues requiere que su entrada sea colocada en un objeto EntryRep para ser enviada al JS.
• Puede verse como un sistema distribuido orientado a los eventos, con capacidad de
almacenar comportamiento. Mas que un sistema de mensajes.
7 Recomendaciones
• Se podría decir que SOA es una arquitectura de sistemas distribuidos que se caracteriza por
las siguientes propiedades: Visión Lógica, Orientación al mensaje, Orientación a la
descripción, Granularidad, Orientación a la red, Neutralidad de la plataforma; por lo tanto se
recomientda el uso de esta a las empresas que requieran software como servicios disponibles
a través de la red.
• Una entrada en una clase de Java, que es una subclase de jive.javaSpace.Entry. Todos los
campos deben ser publicos, y deben ser referencias a objetos serializables.
• El estado actual de JavaSpaces es solo una especificacion formal. No existe implementacion
alguna aun, por lo que no se pueden hacer evaluaciones de eficiencia.
8 8. Referencias
• http://www.dosideas.com/noticias/java/341-soa-sin-web-services.html
• http://amap.cantabria.es/confluence/display/BASE/JavaSpaces
• http://www.javaworld.com/jw-04-2000/jiniology/spacerelay.zip