|
This project is hosted on
|
|
Network Topology
The Communication Layer
Plover uses two different communication channels to support application
deployments for the Intranet and the Internet. For Intranet only applications,
Plover uses both Java RMI and HTTP transports. For Internet based deployment,
Plover uses only HTTP transport.
Plover provides for communication transparency for the application layer. Usual
book-keeping operations (e.g. stub generation, registry maintenance, export
bindings for RMI and session management, proxy access for HTTP) are encapsulated
and taken care of internally.
Hosting and Invocation
Plover provides an entity hosting environment on the server-side and a
corresponding method invocation environment on the client-side. Both client and
server environments are embeddable and can co-exist with larger requirements as
lightweight adapters. For example, Plover can be used as an alternative delivery
channel for J2EE applictions, providing desktop integration with a Swing-based
thick client.
Lightweight Server Entities
An application with a n-tier architecture will have most of its server-side
business logic encapsulated in a separate layer. Entities hosted within the
Plover server-side environment will act as adapters to this business layer for a
remote client. For such thin implementations, the hosting environment provides
features to represent these entities using lightweight Java scripting that are
interpreted at runtime.
Loose Coupling and Type Checking
There are no hard relationships (such as those enforced by inheritence) between
the server-side entities (implementation) and the client-side interfaces
(invocation) in Plover. Binding and resolution between the two happen at the
time of actual method invocation, on a per-invocation basis. Under such relaxed
secnarios, Plover only mandates that the implementation objects and the
invocation interfaces be registered using the same alias and the methods being
invoked have identical signatures across implementation and invocation.
Network Discovery
Network discovery is available only for RMI-based transports in a local Intranet
scenario. The invocation environments in Plover can dynamically lookup and
connect to active hosting environments within the same network, resulting in
'zero configuration' between the client and the server. |