Naja, Geschenkt gibts nix... Mit dem JBoss-Server wird die Sache auch unweigerlich von Grund auf komplexer (IMHO).
Wenn es einfach nur drum geht irgendwelche XML-Datenpakete "zu berechnen", zwischen drin den Status abfragen zu können, und am Ende ein Ergebnis zurück zu liefern, dann finde ich RMI ne schöne Lösung.
Clients verbinden sich mit dem Server (holen sich das Serverobjekt) und holen sich die Datenpakete (serverObject.getDataPackage()

. Über ein RMI Callback (der Server hat ein Clientobjekt) frägt der Server in Intervallen (oder auf Anfrage eines Operators der sowas halt wissen will, dieser kann sich zB. auch als RMi-Client der "besonderen" Art mit dem Server verbinden) bei den Clients den aktuellen Berechungsstand ab (clientObject.getCurrentCalcStatus()

.
Du hattest geschrieben dass die Rechner, die das Ergenbnis errechnen, es auch in die DB eintragen sollen? Okay, dann hat der Server ja nur die Vermittlungsaufgabe für die Datenpakete ...
Passt doch...Denke das ist, abgesehen von der "Berechnung" der Pakete (kein Plan wie komplex das ist, musst du wissen), nicht schwer zu realisieren.
Zur Skalierbarkeit: Tja, ganz einfach: Je mehr Clients sich beim Server anmelden/verbinden, desto mehr Rechenleistung steht zur verfügung. Ganz im Sinne des Boinc/Seti Projekts. Die Skalierbarkeit entsteht dadurch dass sich "beliebig" viele Clients am Server melden können und Datenpakete zur Berechnung anfordern.
Wenn sich jetzt aber 2 oder mehr Rechner ein und dieselbe Berechung teilen sollen, um z.B. die Berechnungszeit für ein Datenpaket zu verkürzen, dann wird das schon aufwendiger und bedarf einer guten Clusterbildung...
Aber solange sich die einzelnen Berechunngen noch auf einzelne Rechner verteilen lassen seh ich da keinen Grund ein komplexes Cluster-System zu verwenden.
- Alex