Jini

Jini es una API desarrollada por Sun Microsystems. El objetivo es convertir la red en un sistema flexible y fácil de administrar en el cual se puedan encontrar rápidamente los recursos disponibles tanto por clientes humanos como computacionales. Un sistema Jini consiste en un sistema distribuido basado en la idea de grupos federativo de usuarios y de recursos requeridos por otros usarios. Los recursos pueden ser implementados tanto por dispositivos hardware y software.

Las partes de un sistema Jini son:

Jini supone que la infraestructura de red sobre la que se monta tiene el ancho de banda y es lo suficientemente fiable para funcionar, por lo que no aporta mecanismo para mejorar estos dos puntos. También se asume que los dispositivos Jini tienen capacidad de procesamiento y memoria suficientes.

Servicios

El concepto de servicio es el más importante dentro de la arquitectura Jini. Un servicio es una entidad que puede ser usada por una persona, un programa u otro dispositivo. Un servicio puede ser de computación, de almacenamiento, un canal de comunicación con otro usuario, un filtro software, un dispositivo hardware, o cualquier usuario. La naturaleza dinámica de Jini permite que los servicios sean añadidos o eliminados en cualquier instante de una federación, de acuerdo con las necesidades, demandas o cambios en los requisitos del grupo de trabajo que utiliza la federación. Los servicios se comunican entre si utilizando el protocolo de servicio, el cual consiste en un conjunto de interfaces escritas en Java, que reposan sobre la tecnología de RMI.

Para saber los servicios disponibles se utiliza el servicio de búsqueda(lookup service). Este mapea las interfaces que indican la funcionalidad de un servicio con el conjunto de objetos que implementan dicho servicio. El servicio de búsqueda se organiza de forma jerárquica. Cuando se quiere añadir un servicio a la tabla se utiliza el protocolo discovery y el protocolo join. El primero se encarga de buscar el lookup service y el segundo de añadir el servicio.

Cuando se quiere utilizar el servicio se busca en la tabla de servicios(lookup service) si existe. En caso de encontrarlo el cliente se descarga el código de control de ese servicio, que puede ir desde una interfaz hasta la implementación completa del servicio.

Se incorporan también un mecanismo de transacciones, para agrupar varias operaciones en una sola y un mecanismos de eventos.

Leasing

El acceso a muchos de los servicios en un entorno Jini se basa en un sistema de leasing. Cada lease es una concesión que garantiza el acceso durante un periodo de tiempo determinado. Este se negocia entre el proveedor del servicio y el cliente como parte del protocolo de negociación. La concesión puede ser exclusiva o no exclusiva.

Resumen del funcionamiento de Jini

Descubrimiento Join (Unir)

Lookup (Busqueda) Invocación de servicios

Productos

En caso de no indicarse lo contrario lo productos expuesto no es que tengan la tecnología Jini integrada sino que son productos que por sus características son fáciles de integrar con Jini.