★ wanayoo — archive 1999 https://shoal.dev.java.net/Nouvelle recherche | Portail wanayoo
Login | Register
My pages Projects Communities java.net

shoal
Project home

Notice: the projects area will undergo maintenance to enable Project Editor feature Monday, 6/25 from 7:00 pm to 7:45 pm PDT.

If you were registered and logged in, you could join this project.

Summary Cluster framework for fault tolerance, reliability, availability
Categories None
License Common Development and Distribution License
Owner(s) hamada, kumara, shreedhar_ganapathy

Welcome to Shoal – A Dynamic Clustering Framework

Shoal is a java based clustering framework that provides infrastructure to build fault tolerance, reliability and availability.

The framework can be plugged into any product needing clustering and related distributed systems capabilities without tightly binding to a specific communications infrastructure.

The framework can be plugged in as an in-process component.

The framework will have two broad categories of public APIs, namely, a  Client API, and a Group Communication Provider SPI.

The Client API will allow in-process client components to be notified of cluster events and to send and receive messages to/from the group or individual members.

The Group Communication Provider SPI provides for integration of any group communication service provider technologies such as JXTA, JGroups, etc.

Shoal's default Group Communication Provider is JXTA given its strong credentials in the areas of security, ability to cross firewalls, virtualized networking, and several other strong group membership and communication features.

Shoal is a part of the GlassFish Community.

Shoal is licensed under the Common Development and Distribution License version 1.0

Shoal Details

For a quick introduction, go through the Shoal Overview Presentation. For further details, read the Shoal Overview document for details on Shoal's functionalities. There are document references in there that dive deeper into the architecture and event model.

Shoal's Javadoc is locate here.

How to integrate and run Shoal (Sample Code)

To view an example of how Shoal can be integrated into your product,

  • checkout the sources from CVS and look for the demo code located at shoal/gms/tests/com/sun/enterprise/ee/cms/tests, or
  • browse the demo code in the CVS respository here
  • in the demo, an ApplicationServer (named only for demo purposes) starts GMS services, and then starts two other Application Server Components (again simply named as EJBContainer and TransactionService for demo purposes). The components are consumers of GMS events and register for events of their interest.

To run the demo

  • On Linux, Unix or MacOs X platforms, run the script "rungmsdemo.sh" located at shoal/gms
  • On Windows platform, run the batch script "rungmsdemo.bat" located at shoal/gms
  • In order to see this in a group setting, ensure that you start at least two terminals and run the demo code in these terminals.
  • The scripts expect on command line, parameters in the following order : <instance_name>, <group_name>, <member_type>(CORE or SPECTATOR), <demo_life_in_milliseconds>, <log_level> (one of INFO, FINE, FINER, FINEST)
  • The <instance_name> parameter in each terminal/process should be unique. The <group_name> should be the same in order for members to join the same group and experience Shoal's functionalities

How to Contribute

We welcome community participation and contributions to this project.

Click here to make a role request

Here are ways to contribute (For more details look here):

  • Become a Developer Contributor

  • Become a Content Contributor for the site, documentation, programmer's guides, etc.

  • Submit Bugs on the Issue Tracker or Bug Fixes by requesting for the Observer role.

  • Help Spread the Word by becoming a Shoal Ambassador to communicate the value that Project Shoal brings to various types of use cases

Download Shoal

Get Shoal binaries and the dependent Group Communication Provider library (currently JXTA) from here.

How to build Shoal sources

Read the build Instructions for building shoal sources.