News
- Jun 4, 2006
- RMIX 1.3_01 released.
- Mar 19, 2006
- RMIX 1.3 released, with new, experimental JXTA socket transport.
Highlights
Multiple communication protocols
RMIX enables communication over multiple remote method invocation protocols, thus supporting applications with various interoperability and/or performance demands. Currently, JRMPX, SOAP, RPC, and ARPC protocol providers are supplied.Dynamic pluggability and run-time protocol management
Communication protocols may be developed by third-party providers and they may be added to the system and updated at any time (including run time). Many protocols may be used within a single application. The protocols may be negotiated at run time between client and server.Configurable endpoints
RMIX enables application to export any given remote object on multiple endpoints. These endpoints may be configured according to particular needs, e.g. they may use different protocols and expose various subsets of target object remote interfaces. Also, endpoints may be associated with invocation interceptors that may be used to separate authorization policies from the application logic.Dynamic stubs
RMIX facilitate dynamic (run-time) stub generation techniques. It means that there is no need to usermic tool or manage and distribute stub classes. Also, extensions are provided for rmiregistry to let it operate without access to any service-specific class files, thus alleviating deployment burden and improving performance.
Asynchronous and one-way invocations
In addition to traditional remote method invocations, RMIX features asynchronous and one-way calls. These communication modes do not require any changes to the application at the server side. Asynchronous calls provide indication of completion via future objects and/or callbacks, depending on the client request.Security support
RMIX contains utility classes which enable seamless integration of secure sockets. The SSL/TLS layer may be used together with all currently supported protocols; examples include SOAP/HTTPS, JRMPX/SSL, and RPC/SSL. Importantly, RMIX SSL socket factories allow that multiple X.509 identities are used within a single application (e.g. defined on a per-thread basis). It enables development of non-trivial middleware with threads running within different security contexts.Customizable and stackable transport layer
RMIX supports legacy RMI socket factories, but additionally, RMIX defines its own, more general socket factory interfaces. They use derivatives of the SocketAddress class to represent endpoint addresses, and thus break the dependence on host/port addressing. This enables use of transports that do not have host/port based endpoints, such as JXTA sockets, in-process sockets, UNIX sockets, etc.RMIX comes with a suite of stackable socket factories. They can be used e.g. to enable SSL security, data compression, or tunneling (e.g. having a single TCP listener port to dispatch to multiple server sockets). Because the factories are stackable, these features can be combined. For instance, you can have SSL on top of compressed data tunneled via a single TCP port.