JXTA 2.0 El Framework de nivel empresarial que se nos viene (Introducción 1era Parte)
Con tanta tecnología en estos días, no es raro que se me halla pasado una como JXTA,lo complicado fue darme cuenta que no era una tecnología mas, pero por suerte mi colega Cesar Esquerre, en una reunión nos llamo la atención acerca de JXTA y lo que significara para nuestra profesión, después de escucharlo decidí empezar una serie de artículos referente a JXTA de Sun. Este es el primero, en el expondré la tecnología de forma general. En los próximos post agregare unos podcast donde cesar nos comentara detalles de la misma, y en un tercer post expondré código especifico de su utilización.
Ahora usted se preguntara como podría una tecnología informática, jugar un rol preponderante en las profesiones ligadas al desarrollo de software?. Piense en cuando se programaba en arquitecturas monolíticas y llego cliente-servidor para cambiarlo todo, piense luego cuando llego la web para darle un sabor distinto al modelo cliente-servidor y cambiarlo en gran medida. Bueno JXTA es el primer esfuerzo serio, para desarrollar un Framework de desarrollo (preliminarmente en java, pero no limitado a este lenguaje) para agregar a sus aplicaciones capacidades de redes P2P. Imagine distribuyendo la responsabilidades de su aplicación y su data en una red P2P en base a un Framework potente, bien pensado y capas de lidiar con todas las problemáticas de redes P2P, desde los firewall con tecnologías FirewallFrendly, hasta todas las temáticas propias de la tecnología P2P, como mensajería, avisos, distribución, búsquedas, etc.
El tema no es trivial, tendrá que aprender muchos conceptos que cambian la estructura típica de programar y ver los flujos de información. Lo Invito a pensar en las aplicaciones y ventajas que podría tener para sus desarrollos el contar con ingresar al mundo de las redes P2P. Veamos de que se trata…
Veamos cuales son los objetivos de JXTA cuando se definió su creación:
-
Resolver las necesidades de la mayor variedad posible de aplicaciones P2P
-
Sin suposiciones sobre SO, hardware, lenguaje, o mecanismos de transporte
-
Recomendaciones: caché para reducir tráfico de red y routers para los participantes no conectados directamente
-
Sin servidor central
-
Responsabilidad del servicio distribuida
-
Explotar el ancho de banda en toda la red
Veamos ahora un listado simple de algunos conceptos y relaciones de P2P generales:
-
Peer (Participante): Una entidad capaz de realizar alguna tarea útil y de comunicar los resultados a otra entidad en la red, ya sea directa o indirectamente.
-
Tres tipos:
-
Simples: servir a un usuario, normalmente en una red privada
-
Descubrimiento (rendezvous): para descubrir otros participantes, fuera de la red privada
-
Encaminamiento (router): permiten atravesar una red privada
-
-
-
Grupos de participantes: formado para servir un objetivo común. Proporciona servicios a sus participantes miembros que no son accesibles a otros participantes en la red P2P.
-
Datos privados
-
Seguridad
-
Monitorización ente miembros
-
-
Red de transporte:
-
Puntos finales: inicio o final de paquetes de datos
-
Conductos (pipes): canales unidireccionales asíncronos entre dos o más puntos finales
-
Mensajes: contenedores de datos transmitidos por un conducto de un punto final a otro. Se necesitan dos conductos para una comunicación bidireccional entre dos participantes
-
-
Servicios: trabajo útil
-
Servicio de participante: funcionalidad ofrecida por un un participante a los demás.
-
Servicio de grupo de participantes: ofrecido por un grupo de participantes al resto. Acceso redundante al servicio.
-
Servicios esenciales: proporciona la base de P2P y se utiliza para construir servicios más complejos.
-
-
Anuncio: una representación estructurada de una entidad, servicio o recurso disponible para un participante o grupo de ellos en una red P2P.
-
Protocolo
-
Un modo estructurado de intercambiar información entre dos o más partes utilizando reglas previamente acordadas por todas las partes.
-
Organizan el intercambio de anuncios.
-
-
Identificación de entidades
-
Participantes, grupos, conductos, contenido
-
Se necesita un sistema independiente de identificación de entidades
-
Si le parecen muchos, hay mas pero la potencia que contiene y podría contener su propia aplicación son realmente impresionantes. Permítame mostrarle el siguiente diagrama que le permitirá ver de mejor manera como JXTA lidia con los problemas de infraestructura propios de Internet para crear redes virtuales P2P.

Como puede observar, una de las gracias de JXTA es que esconde al programador toda la problemática de redes P2P en Internet, en el sentido de lidiar con firewalls, NAT, y permitir realmente implementar una red P2P con integrantes estén donde este, si es que tienen conectividad Internet.
Y si lo anterior le parece poco, pude en el siguiente diagrama darse cuenta, que JXTA también esta pensado para considerar como peerID o cliente, no solo computadores o notebooks, sino también dispositivos de los mas diversos desde teléfonos hasta PDAs y otros dispositivos que corran alguna de las versiones de Java. Pude hacer click en la siguiente figura para ampliarla y ver en detalle lo que le comento en este párrafo, y algunos de los conceptos interesantes como Rendzvous y J2ME.
Pero a grandes rasgos, cuales son los servicios que ofrece a nivel de Arquitectura de Software JXTA a programadores como Framework de redes P2P?. Puede ver en el siguiente diagrama una respuesta rápida esta pregunta (click para aumentar tamaño).
En los próximos post desarrollare en profundidad estos tres niveles de JXTA y ejemplos de codificación. La invitación es a considerar darle capacidades P2P a sus aplicaciones.
No limite P2P a ambientes de Internet como redes sociales. Considere P2P también a nivel empresarial, dentro de una organización donde su red Internet es la red privada de su empresa, y pude considerar a sus aplicaciones empresariales dando servicios en esta modalidad de manera de mantener conectados a todos los departamentos.
El paradigma es muy distinto y necesitara darse el tiempo y revisar donde y como aplicarlo en su organización o empresa. Pero creo que su intuición al igual que la mía, y de otros expertos que están clamando para que se considere a este JXTA como el primer Framework serio y Abierto para el nuevo salto tecnológico en el desarrollo de software.
La invitación esta hecha.
Ups! se me olvidaban los links, por si desean ver mas mientras desarrollo el tema, algunos de ellos fueron utilizados para presentar parte del material usado en este post.
La fundación JXTA
Introducción a JXTA en Sun (de Daniel Brookshier)
Peer to Peer JXTA 2.0 (de Jesús Vegas)
Javier Urrutia
Enviar a un Amigo |
Version para Impresion



(5 votos, promedio: 4 de 5)
Traducir al Ingles
Traducir al Español
JXTA 2.0 El Framework de nivel empresarial que se nos viene (Introducción 1era Parte)





Hola amigo!!! que tal? la verdad me ha parecido muy interesante todo esto de jxta pero no tengo ni la menor idea de como empezar!!!! =( (very sad face), soy un estudiante de vocacional y con un grupo de amigos estamos desarrollando un proyecto y queremos que tenga una aplicacion p2p (precisamente por esa razon nos topamos con jxta) pero como ya te habia mencionado… no tenemos ni la menor idea de como podemos empezar!!! ahhhhh!!!! se nuestro sensei!!! te lo agradeceremos!!! =P