Proyecto de Cajo

El Proyecto de Cajo es un marco que permite aplicaciones de Java múltiples que se extienden a través de máquinas múltiples para trabajar juntos como un claramente y dinámicamente.

Este marco es útil tanto para aplicaciones abiertas/libres como para patentadas que necesitan capacidades de calcular distribuidas y es capaz de usar en casi cualquier plataforma equipada con Java (JRE/JME 1.2 o más alto) (teléfonos móviles, ordenadores centrales, servidores, dispositivos introducidos, etc.). Es un marco "pasar", porque no impone ningún requisito estructural o cambios del código fuente y es Java pura del 100% sin el código de XML. También no es dependiente de ningún otro marco y puede trabajar detrás de NAT, cortafuegos, hasta poderes de HTTP.

Historia

El Proyecto de Cajo ha sido publicado recientemente por el puerto IANA número 1198 y Multimolde de UDP se dirigen 224.0.23.162.

Licencia

El código fuente es libre bajo el LGPL, y la documentación es libre bajo el GFDL.

Uso

Descripción

La utilización del Proyecto de Cajo, objetos de Java no modificados ordinarios, puede ser la utilización remota de una línea sola del código:

Itemserver.bind (someObject, "someName");

</pre>

Éstos pueden ser usados entonces por máquinas remotas estáticamente, o dinámicamente.

Uso del objeto remoto estático

El uso del objeto remoto estático típicamente se realiza cuando allí existe uno o varios interfaces al objeto, definiendo cómo el cliente lo puede usar, conocido en el Tiempo de compilación. Por ejemplo:

interfaz público SomeInterface {\

...//firmas del método

}\

</pre>

El objeto remoto pone en práctica este interfaz, y posiblemente otros, luego nuevas motas el objeto como mostrado antes.

El uso del objeto remoto estático se proporciona a través de a. El usuario de un objeto remoto puede crear una referencia a este objeto, que realmente pone en práctica el interfaz compartido, así:

SomeInterface si = (SomeInterface) TransparentItemProxy.getItem (

"//someHost:1198/someName", nueva Clase [] {

SomeInterface.class }\

);

</pre>

Una máquina remota puede invocar ahora métodos al objeto remoto, con la sintaxis de Java exacta y semántica, como si era local.

Uso del objeto remoto dinámico

El uso del objeto remoto dinámico típicamente se realiza cuando el interfaz a un objeto se determinará en el tiempo de ejecución. Esto a menudo es el caso usando Cajo objetos remotos en un scripting. Una máquina dinámicamente usa una referencia del objeto remota así:

//obtenga la referencia

Objeto del objeto = Remote.getItem ("//someHost:1198/someName");

//típicamente obtenido en tiempo de ejecución

Ensarte someMethod = "someMethod";

//también obtenido en tiempo de ejecución

Objete someArgs = nuevo Objeto [] {someArgs...};

Resultado del objeto = Remote.invoke (objeto, someMethod, someArgs);

</pre>

Este trocito invoca un método a un objeto remoto, proporcionando los argumentos, (si cualquiera) y vuelta del resultado. (si cualquiera)

El marco cajo puede permitir una máquina al remoto su referencia del objeto usando el Multimolde de UDP/IP. Esta técnica deja a máquinas interesadas para usar referencias remotas, simplemente escuchar para los anuncios. Esto proporciona un mecanismo de encadenamiento One-many, donde los usuarios del objeto remoto no tienen que saber la dirección TCP/IP de la máquina del anfitrión.

Interfaces del usuario gráficos remotos

El Proyecto de Cajo también está acostumbrado a interfaces del usuario gráficos remotos. Esto proporciona la capacidad de una aplicación para dirigir su opinión sobre máquinas separadas de su modelo, y hasta sus objetos del regulador.

Véase también

Enlaces externos

a

Buscar