users@shoal.java.net

Re: [Shoal-Users] Difference between the projects Shoal and Rio

From: Mohamed Abdelaziz <Mohamed.Abdelaziz_at_Sun.COM>
Date: Tue, 09 Jan 2007 09:23:56 -0800

I am not familiar enough with RIO to provide a recommendation, however,
the following should provide some background on Shoal, and help you in
selecting the framework that best fit your needs.

Shoal defines a group communication SPI, whereby group communication
providers maybe supported, and therefore a RIO based communications
provider maybe implemented.

The JXTA communications provider has the following inherit attributes :

- Near Zero configuration
  - No ip address/port
  - No Router/FW configuration required

- Logical addressing of nodes
  - Member name encoded node identifiers
  - Group name encoded group identifiers

- Secure
  - Group membership
  - TLS connections
  - Pluggable keystore

- Designed with scalability in mind
  - Scoped group communication (no cross group chatter)
  - Relying on the JXTA rendezvous infrastructure, load can be
distributed amongst nodes

- Dynamic Channel selection (Multicast/virtual multicast/ or unicast)

- Fault Tolerant
  - Route repair due to mobility or NIC failures in multi-homed machines

In addition to the above features, the JXTA provider implements a
protocol by which nodes can dynamically organize in a cluster and
independently elect a group leader with just a few messages over the
wire, thus reducing network noise. In addition, the provider employs a
configurable health monitor to detect failed/ailing nodes in a group.

Cluster members are also able to broadcast messages to an individual
member or all members of the cluster (see Messaging
<https://shoal.dev.java.net/ShoalMessaging.html>). In addition to
messaging, members can share data using GMS's Shared Cache (see
DistributedStateCache
<https://shoal.dev.java.net/source/browse/shoal/gms/src/java/com/sun/enterprise/ee/cms/core/DistributedStateCache.java?rev=1.2&view=markup>).



Marco Balzter wrote:
>
> Hello,
>
> i posted this message to the users_at_rio.dev.java.net Mailing list
> but didn't get an answer yet.
>
> We are developing a distributed and scalable Java application with
> components hosted on several Application Servers.
> Rigt now I'm in the process of evaluating frameworks which can help
> us in the process of dynamically register/unregister components,
> lookup services and all kinds of managing the deployed components.
> I stumbled across the Rio and the Shoal Framework which are both
> java.net projects.
> The difference between these frameworks seems to be the underlying
> technology (Jini for Rio and JXTA for Shoal).
> Do these two projects provide fairly the same solutions with different
> technologies or do i miss the big point?
>
> I hope this is the appropiate forum for my request.
> Thanks.
>