posted 19 years ago
It sounds like the problem you are having deals more with the partitioning of the job among multiple servers rather than the abstract class/interface issue. In RMI only one server can be registered under any one name. Jini would fit much more with what you want, because you work more with groups of services that fit an interface you are looking for, more than looking for a specific service using a name it is registered under.
If you use RMI, though, it sounds like you would need to do something like this... have one or more "client"s and one or more "processing server"s, and one "controller server". The "processing server"s deal with actually doing whatever process you need to do, but the client doesn't deal with them directly. "processing server"s register with the "controller server" to be put into use, and the "controller server" keeps track of all of them, which are busy, which are available, etc. "client"s only connect to the "controller server", the "controller server" then either uses multiple threads to delegate processes out to the "processing server"s and then passes results back to "client"s using callbacks, or it passes a remote reference to an available "processing server" back to the "client" and lets the "client" then call the "processing server" directly.
-Nate
Write once, run anywhere, because there's nowhere to hide! - /. A.C.