|
|
|
|
We are getting closer to the next GF releases (see my Previous Overview), we are seeing more features from the GFv2.1/SailFin release. Recent entries include:
|
|
• Shoal Extended with
Multi-Group Membership, used in...
|
The last two are more specific to the SIP case, but the general facility of multi-group membership should be useful to many Shoal applications, and a Java-based CLB should simplify at the least the simple LB situations. I'll get more details on the the CLB and will report back.
Correction - CLB is only available in SailFin, not in the corresponding core GFv2.1. GlassFish v3 will include a java LoadBalancer. Thanks to Kshitiz for the correction.
|
InfoQ has a
Nice Article Shoal is making good progress; I had missed that it is also used by JoNAS. Also see a short note at OpenLandscape. |
|
As expected, and in conjunction with the OOP 2008 Conference, Adam Bien has pushed GreenFire forward by releasing code and a presentation. As a reminder, the GreenFire project manages, controls, and reports on Heating Systems. It uses GlassFish, Shoal, and Sun SPOTS. Adam explains that this Java EE 5 application "was developed on JBoss and ported to GlassFish afterwards in few minutes". The Front-end technology can be JavaFX, RSS, or JSF. |
This all sounds like a wonderful application to support teaching of Java EE. More details on GreenFire here.
|
|
Most GlassFish subprojects (Grizzly, Metro, Woodstock, HK2, Jersey, mq, Mojarra, ...) can be used independently from the application server. Project Shoal is no exception. This Group Management Service used by GlassFish clustering can also be applied to other use-cases. |
Community members Juan Pedro Danculovic and Diego Naya have a nice article over on java.net covering in a single place most of the Shoal features. It goes into the definition of all the basic terms such as Group, Member, Member Token, Spectator, Core, Group Management Service, Components, and Signals. The article also covers how to integrate your own code into the clustering infrastructure (not only for Java EE applications, but SE applications too). Given the artifact's size (JARs are less than 2MB), together with a stripped-down GlassFish v3, the possibilities become very interesting.
Previous Shoal resources include:
• Previous Shoal posts
• Other introductory Shoal article
• GlassFish podcast interview about GlassFish Clustering and Shoal
|
|
A Shoal Project Update from Mohamed reports that the team is currently working on:
• Enabling multi cluster support
These new features are intended for GlassFish v2UR1 and v2.1. Check Mohamed's Overview and New Features for more details. |
|
When it comes to clustering in an application server, defining the vocabulary is the first thing that needs to be done. This new article does this and much more. It defines key concepts for GlassFish such as Domain Administration Server (DAS), Node Agents, server instances, discusses deployment topologies, and explains how the Shoal and JXTA technologies are used to set up the cluster and replicate data in-memory. It also provides instructions on how to get the GlassFish "Cluster" profile running. |
The second article explains how the application server can take advantage of the Zones technology built in Solaris 10 and OpenSolaris. It has a quick intro on what are Solaris zones and how they provide isolated environments for application instances. Propagation among zones can complicate installations and updates, so the article going into the details of installing and using the GlassFish application server in a global or a sparse zone. It also covers upgrading from previous versions of the software that may have come bundled with Solaris.
|
Shreedhar is beginning to document how Shoal works and has just written a Shoal 101. Shoal is the Group Management Service (GMS) used in GlassFish but it can also be used independently. The writeup includes a Sample Example that shows how to register for group events, join a pre-defined group, get notifications of group events, send/receive messages, and leave the group. |
|
|
Artima has a feature entry on Project Shoal which just reached 1.0 Early Access. Project Shoal is a Group Management System heavily used in GlassFish v2 but it can also be used in other contexts. The JXTA implementation used by default and which brings close-to-zero clustering configuration in GlassFish can also be replaced (by JGroups for instance) using the appropriate SPIs. |
One of the reasons for the GlassFish v2 delay was the time needed to make sure we could go through as many customer scenarios as possible, specifically in the clustering area. Shreedhar reports on the 8-node GlassFish clustering quality tests which led to improved quality of Shoal itself. This and future use of Shoal in SailFin (the SIP supported application server based on GlassFish with Ericsson as a major contributor) shows the greater GlassFish Community at work.
|
The code for Shoal is now available. Shoal is a generic Dynamic Clustering framework (Overview) that is being used in GlassFish V2 but, like Grizzly and others, can be used independently. Shoal includes a client API and an SPI to plug-in different implementations. The project has been a collaboration with the JXTA team and the default implementation takes very good advantage of the features of JXTA to provide a highly-decentralized and highly scalable implementation. |
Read Shreedhar's intro to the project and Mohamed's detailed description of its use of JXTA. In separate entries, Max and Bernard provide context and background on the project. An excellent addition to the GlassFish Community.
Shoal will be integrated in the next GlassFish v2 milestone, together with Larry's in-Memory Replication machinery.