PRODUCTS AND SERVICES INDUSTRIES SUPPORT PARTNERS COMMUNITIES ABOUT
  Coherence 3.4 User Guide
  Coherence Extend
Added by Noah Arliss, last edited by Rob Misek on Sep 17, 2008  (view change)

Labels

 
(None)

This section provides an overview of Coherence*ExtendTM and its architecture. It provides the following information:

Overview

Coherence*ExtendTM extends the reach of the core Coherence TCMP cluster to a wider range of consumers, including desktops, remote servers and machines located across WAN connections. It also provides a wider range of language support including .NET and C++ clients. Typical uses of Coherence*Extend include providing desktop applications with access to Coherence caches (including support for Near Cache and Continuous Query) and Coherence cluster "bridges" that link together multiple Coherence clusters connected via a high-latency, unreliable WAN.

Coherence*ExtendTM consists of two basic components: a client running outside the cluster, and a proxy service running in the cluster. The client API includes implementations of both the CacheService and InvocationService interfaces which route all requests to a proxy running within the Coherence cluster. The proxy service in turn responds to client requests by delegating to an actual Coherence clustered service (for example, a Partitioned or Replicated cache service).

There are three Coherence*ExtendTM clients available:

Types of clients

Coherence*ExtendTM clients provide the same rich API support as the standard Coherence API without being full data members of the cluster. Clients come in two flavors:

  • Data client - The base client that allows for:
    • Key based cache access via the NamedCache interface
    • Attribute based cache access using Filters
    • Custom processing and aggregation of cluster side entries using the InvocableMap interface
    • In process caching via LocalCache
    • Remote invocation of custom tasks in the cluster via the Invocation Service
  • Real Time Client

Proxy service overview

The proxy service is responsible for dispatching requests from Extend clients to actual clustered services and returning the results of these requests to the appropriate client. It is hosted by one or more DefaultCacheServer processes running within a cluster. Clients communicate with a proxy service using a low-level messaging protocol that has two transport bindings:

  • Extend-TCPTM : uses a high performance, scalable TCP/IP-based communication layer to connect to the cluster. This protocol is supported by all available clients.
  • Extend-JMSTM : uses your existing JMS infrastructure as the means to connect to the cluster. This protocol is only supported by the java client.