|
Iris Application Server
Develop high performance distributed applications using Java:
- Invoke synchronously or asynchronously remote objects through
client proxies and server side skeletons created dynamically at runtime;
- Send notifications to connected clients using a simple callback mechanism;
- Use integrated application security to verify user invocation privileges using only a few CPU cycles;
- Install a SSL certificate to enable secure communication;
- Efficiently use the system resources taking advantage of an optimized binary protocol
and a Java NIO implementation.
Documentation Resources
The Development Guide and the Java API documentation are included with
the downloadable package and available online:
The following paragraphs are a short description of the featured implemented by the application server.
Remote Command Invocation
The Iris Application Server runs network applications comprised of command classes
that are instantiated at runtime by the server as command objects. There are no special
requirements on the commands, they can be any Java classes implementing interfaces
that can be invoked by remote clients.
The clients obtain command proxies based on the external name of the command and cast
the proxy to one of the interfaces implemented by the command class.
Dynamic Commands
The client application can instantiate dynamic commands with the following features:
- Only the creating session can invoke the dynamic command. Other connected
clients can not invoke the session commands belonging to other clients even
if hacking the wire protocol, this being an important security feature;
- The dynamic commands are cleaned up automatically on session termination or
when the client proxy of the command is garbage collected or may be
removed by a client API call;
- Can encapsulate session information.
Client Callbacks
The Iris server implements a callback mechanism that allows the server
application to call objects registered by the client application. This
can be used to notify the client about certain server events.
Application Security
The developer defines roles representing
application user types and grants execution privileges for the roles at application,
command or interface level. After the application is deployed the users are assigned
roles and security checks are performed with high efficiency on each request.
Secure Communication
The client can request to connect in secure mode in
which case the server is authenticated and the messages that are exchanged between
the client and the server are encrypted.
|