Overview
http://plover.sourceforge.net | Last published: 03 April, 2005
 
This project is hosted on

SourceForge.net Logo

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.