miércoles, 24 de octubre de 2007

TECNOLOGIA JINI



QUE ES LA TECNOLOGÍA JINI?
Jini es una súper aplicación Java. Se trata de 35 mil líneas de código Java.
Es un software que permite a los dispositivos conectar en la red ubicua, así como los teléfonos inalámbricos hoy conectan en el tono del dial ubicuo.
Nuevo diseño de arquitectura de red de Sun M. que permitirá la conexión de cualquier dispositivo, desde una cámara de vídeo a una impresora, permitiendo que cualquier otro usuario, ordenador o aparato conozca que un nuevo elemento ha sido añadido y está disponible para interactuar con él.
Jini "es una simple infraestructura para proveer servicios en una red, y para crear interacciones espontáneas entre los programas que usan estos servicios". Los servicios pueden ser conectados o desconectados de la red de una forma robusta para el sistema y transparente para los usuarios. Los usuarios pueden confiar en la disponibilidad de los servicios visibles, o al menos serán informados en caso de la desaparición de alguno de estos servicios. La interacción del usuario con los servicios se hace a través de un objeto Java proporcionado por ese servicio. Este objeto es descargado en el programa del usuario, de forma que la aplicación podrá comunicarse con el servicio sin necesidad de conocer nada sobre esta comunicación, ya que es el objeto el encargado de ello.
La tecnología Jini surgió de un proyecto de I+D inspirado por Bill Joy y diseñado en su arquitectura por Jim Waldo. Técnicamente, Jini es una iniciativa operativa, moderna e innovadora que permite la integración espontánea en red y simplifica el acceso y la prestación de servicios de red. La esencia de Jini es una serie de directrices que permiten que una "federación" de máquinas virtuales Java (JVM, Java Virtual Machines) operen juntas con el fin de que la red sea más potente. En otras palabras, la conexión a cualquier dispositivo en cualquier momento y en cualquier lugar.




OBJETIVOS
La arquitectura Jini ha sido diseñada para permitir que un servicio de red esté disponible para todo aquel que lo tenga en su entorno, y lo hace de una forma segura y robusta.
Las metas de ésta arquitectura son:
Network plug-and-work.
Eliminar la distinción hardware/software.
Permitir el trabajo en red de forma espontánea.
Promover una arquitectura basada en servicios.
Simplicidad.
VENTAJAS
Jini es una tecnología que simplifica las interacciones con la red. La plataforma Java comenzó a hacerlo y ahora Jini lo ha llevado más allá. Simplificación significa productividad, ahorro en los costos y facilidad de manejo. Jini permite a los ISVs, IHVs y fabricantes de componentes convertirse en prestatarios de servicios de red. Jini permite a los prestatarios de servicios tradicionales añadir y gestionar de forma dinámica los servicios de red.

JINI EXISTE
Imagine que se encuentra en la habitación de un hotel. Esta sólo. Siente nostalgia por su familia. Ya lleva rato revisando desde su agenda electrónica las fotos que ayer capturó con su cámara digital. Es una naturaleza exuberante la que le rodea, muy distinta al concreto que puebla su cotidianidad, y mientras se toma un café, enchufa su pequeña agenda a la línea de teléfono habilitada en la habitación, y desde allí imprime sus fotos en la impresora del cuarto de su hijo menor, a miles de kilómetros de usted.
"Jini existe, no es ciencia-ficción. A mi juicio Jini es una tecnología que va a tener efectos en el modelo como entendemos las tecnologías de la información", comenta Carlos González Gerente de Tecnología de Sun Venezuela.
Para Jin Waldo Jini es un intento por cambiar las cosas de manera radical, "no tratamos de cambiar las cosas un poco más allá de lo que existe, estamos tratando de cambiar profundamente la arquitectura de los sistemas de computación".
Más que una nueva tecnología, Jini promete revolucionar los límites físicos de las realizaciones humanas.
Y no sólo en términos de distancias. Si todos los recursos disponibles en una red - que hipotéticamente puede ser del tamaño de este planeta -, están a disposición, cada dispositivo multiplica infinitamente su capacidad.
¿Para qué cargar un pesado notbook si con una Palm Pilot podría utilizar cualquier recurso disponible? Gracias a Jini, un usuario estaría capacitado para ingresar desde su Palm Pilot a un supercomputador y realizar una operación impensable para un procesador minúsculo.
¿CÓMO FUNCIONA JINI?
Jini consta de una pequeña cantidad de código Java en forma de biblioteca de clases y algunas convenciones para la creación de una "federación" de máquinas virtuales Java en la red, algo muy similar al modo en que se crean actualmente las comunidades. Cada una de las máquinas virtuales actúa en nombre de uno o más ciudadanos de la red de esta comunidad. Los ciudadanos de la red pueden ser personas, dispositivos, aplicaciones y datos. Jini permite a todos los ciudadanos de la red compartir y trabajar de forma dinámica, sin conocimiento previo del resto de las funcionalidades. Los ciudadanos de la red en Jini primero "descubren" la red y, a continuación, se "incorporan" a federaciones en las que anuncian y ofrecen sus servicios. Las federaciones las definen los ciudadanos que deseen incorporar, por ejemplo, servicios a una sala de conferencias, hotel, oficina técnica o en los propios hogares.
Cuando los ciudadanos de la red necesiten realizar una tarea, "consultan" los servicios de los demás. Sin necesidad de realizar la preconfiguración o instalación de un controlador, el ciudadano de la red puede utilizar el servicio llevando el código Java independiente de la plataforma por toda la red. En ausencia de una federación definida, Jini soporta una consulta de servicios a un mismo nivel. Una vez alcanzada su finalización, el grupo de ciudadanos de la red que trabajan conjuntamente en la tarea pueden pasar de forma independiente al resto de las tareas.
Un ejemplo del modo en que funciona Jini es el siguiente:
Hoy va a su tienda habitual de electrónica y compra un teléfono. Lo lleva a casa, lo conecta a la toma RJ-11 y, a continuación, a la toma mural. Oye un tono. Este tono de llamada le informa que el dispositivo se ha incorporado a la red. Ahora, puede llamar a su madre en Madrid y ella le puede llamar a usted. El tono de llamada es todo lo que necesita. La complejidad de la red está oculta. Ahora, imagine que se produce un tono de llamada, un tono Web, para la Red. Todos los dispositivos conectados se incorporan a la red. Pero se pueden incorporar más dispositivos que pueden realizar tareas especializadas y ofrecer sus servicios a la red; se puede conectar a la red una cámara de vídeo, impresora o array de discos de almacenamiento, pasando a ser un ciudadano de la red de "pleno derecho", preparado para aportar su cuota de carga de trabajo como un miembro más de la comunidad de la red.

INFRAESTRUCTURA JINI
Define el núcleo mínimo de Jini. Incluye lo siguiente:
Sistema de seguridad distribuido integrado dentro RMI(Invocación Remota de Métodos (RMI) permite las comunicaciones entre cliente y servidor a través de la red entre programas escritos en Java), que extiende el modelo de seguridad de Java 2 Platform al mundo de los sistemas distribuidos. Esto implica que Jini revisa y amplía Java 2.

Protocolo discovery and join, permite a los servicios (tanto hardware como software) descubrir, formar parte de, y anunciar servicios proporcionados a otros miembros de la federación de servicios.
El Lookup Service (LUS), es un repositorio de servicios. El LUS está formado por objetos escritos en Java, los cuales pueden ser descargados como parte de una operación del LUS y actúan como proxies locales de los servicios que se han registrado dentro del LUS.
COMO SE LO VE A JINI POR DENTRO
1. Es pequeño, la base de Jini sólo requiere una Java Virtual Machine, 4 KB de memoria residente y algunos ciclos computacionales. Jini tiene aproximadamente 650 KB y el núcleo sólo tiene 48 KB de código.
2. Está totalmente basado en objetos. Esto significa que sus componentes incluyen métodos que se pueden ejecutar remotamente.
3. La estructura de control básica de Jini es simple, los objetos se comunican por la interfaz Java RMI a través de operaciones básicas en Java Space.
4. Todos los servicios están disponibles a través de una facilidad de arrendamiento simple. Los arrendamientos son dependientes del tiempo, con renovación después de la expiración.
5. Jini incluye el estándar de seguridad de Java, dada la naturaleza distribuida del ambiente.
6. Con Java Space, Jini incluye facilidades para transacciones.
PLUG-AND-WORK O TONO JINI
Es la capacidad de crear una red de servicios distribuidos en la cual los usuarios pueden ofrecer y/o utilizar los diferentes servicios que estén disponibles en su entorno de una forma directa, y pasar por alto la habitual experiencia de instalar un nuevo dispositivo a un computador. No necesita un experto. No requiere drivers, una configuración especial o el inevitable rebooteo de la máquina.
Con Jini, agregar un nuevo elemento a cualquier sistema es tan simple e instantáneo como conectarlo al teléfono y hacia el mundo, sus realizadores lo llaman Plug-and-Work,
Otros prefieren hablar de un tono Web o tono Java.
Los creadores de Jini insisten en que en poco tiempo de manera cotidiana estaremos enchufando a la red los más variados dispositivos.
Cada dispositivo que se incorpora a la red, anuncia automáticamente sus capacidades y servicios a todos los usuarios, agrupados en una federación. Una impresora agregada al sistema se presentará, dando algunos detalles acerca de sus capacidades, si es a color o no, cuál es su resolución y rapidez. Desde ese momento estará disponible para cualquiera que tenga el permiso para utilizarla. Esté donde esté.
Todos pueden pedirle determinadas cosas a otros mediante pequeños mensajes en Jini. En un momento algunos se suscriben a la federación y luego se retiran, y nada pasa, todo se reconfigura inmediatamente, y la confederación está lista para recibirlos de nuevo. Sería una entidad dinámica, abierta a nuevos miembros, capaz de reconfigurarse a sí misma.

COMPATIBILIDAD
Jini, más que un software, es un concepto que supone que todo llegará a tener un chip, este los interconecta, potenciándolos unos con otros.
Se estima que actualmente hay 1,7 billones de chips y sólo el 3% está en lo que hoy conocemos como un computador. La promesa de Jini es dominar ese vasto universo todavía no interconectado, porque Jini integra los electrodomésticos a las redes existentes.
Los electrodomésticos poseen chips que realizan una o dos tareas, como las acciones que ejecuta una cafetera, un tostador, o un equipo de video casero; y con su chip Jini se incorporan inmediatamente a la red. A partir de Jini el tostador de la casa puede recibir órdenes desde cualquier parte del mundo.
Jini construye una red constituida por los miles de millones de aparatos electrónicos, desde los más poderosos supercomputadores hasta los más simples y limitados chips.
Según Ed Zander, jefe de JavaSoft de Sun, en pocos años los dispositivos capaces de conectarse al Web que no serán PC superarán a las PC en número de dos a uno, y sólo uno de cada 30 chips de computadores se utilizarán en una PC.




CODIGO ABIERTO
Teorema del código abierto
"El código abierto dice que si el código continúa abierto la innovación ocurrirá, ciertamente Unix fue hecho de esta manera, con Netscape y Linux estamos viendo que el fenómeno comienza a ser más grande". Sun se basa en este teorema
El código abierto es un modelo por el cual los programadores, trabajando independientemente, hacen cambios a una pieza de código. Ellos pueden liberar productos comerciales basados en el código, pero deben firmar un acuerdo garantizando que ofrecerán las mejoras que se hagan al código básico.
Este modelo es la base de Linux, una versión gratuita de Unix cuya popularidad está en crecimiento. En abril de 1998 Netscape abrió el código fuente de su browser Communicator a través del sitio Mozilla.org.
Por su parte, Sun liberó el código de Jini a cualquiera que lo desee, y licenció su tecnología bajo ciertos parámetros.
LA PRECAUCIÓN DE SUN
Sun lo ha entregado gratuitamente al mundo académico para que analice y evalúe la tecnología.
"La idea es que se enriquezca el concepto y se someta a prueba la tecnología".
También es posible desarrollar desde una empresa una aplicación Jini y no hay que pagar nada mientras no se venda.
Pero el uso comercial está basado en un modelo de licenciamiento de marca. "Jini es abierto en el mismo sentido que Java es abierto pero Sun desea velar por la pureza de Jini, es decir, que aquello que tenga su logo, sea realmente lo que Sun considera que es Jini. Lo que queremos es estar seguros de que el lenguaje evolucione adecuadamente".
Por eso Sun tiene programas de certificación Java 100% puro y de Jini 100% puro. Pero Jini no es abierto en el mismo sentido de Linux, porque no obliga a los usuarios a entregar sus mejoras, sólo se le exige que notifiquen los errores.
JINI ES POSIBLE GRACIAS A JAVA
Jini es una aplicación muy compacta que al estar escrita en lenguaje Java puede correr en cualquier computador o sistema operativo.
Java nació como un lenguaje que permite programar en clientes delgados y desde siempre se ha empeñado en salir del destock. Java está orientado a objetos, es multiplataforma y está optimizado para redes.
Se dice que Java ha significado un renacimiento en el desarrollo de software. Simplifica el trabajo para los desarrolladores, ya que gracias a la orientación de objetos y a su capacidad para correr en cualquier plataforma, programar es mucho más sencillo y rápido. "A partir de Java lo que importa es lo que se escribe y no cómo se escribe".