Hi, Michael.
My name is Fabiano Lucchese and I'm responsible for a Brazilian company
called Sparsi Grid Computing. My company offers grid computing solutions for
the insurance and financial markets and, for such, has developed its own
grid computing platform totally based on the Java technology.
We are in the process of finding a framework that we can integrate with
our platform so that we can build and manage data-base clusters. We have
gone through a number of solutions, including C-JDBC and Sequoia, but end up
finding your software. After evaluating several somehow similar solutions, I
have to congratulate you for the quality and simplicity of your code.
The way we can integrate our software can be divided in two steps:
1) identifying which operations are READ and which are WRITE,
2) trap WRITE operations so that they can be distributed to the multiple
VJDBC servers by our platform using 2-phase commits. READ operations are
performed conventionally,
To accomplish the first step, we have modified the Command interface so
that it looks like this:
public interface Command extends Externalizable {
public enum Type {
READ,
WRITE
}
Object execute(Object target, ConnectionContext ctx) throws
SQLException;
Type getType();
}
As you can see, we have introduced an enum type and a method returning
the type of Command we are dealing with. Each Command implementor now has to
inform the type of operation it performs.
Before going ahead, we would like to hear your opinion about this
modification. Do you think it is consistent? In other word, can ALL the
Commands be classified between READ or WRITE? Is there any command that
performs both READ and WRITE operations?
As soon as we finish the software integration, we would like to share
our development with you so that you can incorporate it into the official
release and make your system pluggable into other distributed computing
platforms.
Thanks in advance,