License Hell
I am still not very happy with the Symbiosis
architecture, though I know it is working fairly well, and
the GUI is coming along nicely. My major problem is that I
want to build this to be as open and extensible as possible,
but I feel that I am doing a lot of wheel re-inventing.
Because of this I spent some time looking at different
distributed architectures which I might be able to use as a
base, including JBoss, Jini, JXTA, JMX, and simple XML-RPC
or SOAP usage.
JBoss looks like good technology, but it seems to be
severely under documented (oh, but you can always pay money
to get the documentation), and I haven't been able to find
any decent GUI tools for management (but the JBoss group
does offer training, how convenient). I am not trying to
knock these folks, mind you. Most open source projects lack
good GUI tooks and documentation, but, like Oracle, it
benefits the JBoss group that it remains this way.
In regards to Oracle I am talking about the amazing
self-propogation of Oracle "consultants" needed to make
these databases work, though they have had over a decade to
make it easier to use. You have to go through and modify a
million stupid little text files filled with cryptic
informaton to make it run decently? Anyone ever hear of
self optimization? Apparently not Mr. Ego, err, Ellison.
After spending time learning the concepts of JBoss, it
seemed a bit overkill for my needs, and even with it I would
still need to develop a bit of my own "architecture" to glue
things together. It is still in my list of possible choices
though, as you can turn off some of the massive amounts of
capabilites that JBoss has (for example, I don't particulary
want to use the EJB Container).
Next was Jini, which looked very good, until I ran into
it's license, which made me cringe, fume, and delete all my
bookmarks related to it. I am no longer confused as to why
nobody uses that technology for open source development.
Such a horrible loss.
I had already spent some time on JXTA, and it again is
an interesting technology, and I find Sun full of
interesting ideas, but yet again, nobody is doing much which
this technology, and if I want to have "services" which work
with Symbiosis, which I don't write myself, I need to use
something where people will have a certain amount of
existing knowledge.
Maybe I am missing something obvious, but it seems that
almost all systems are built from a different mold, but look
very similar in the end. Is there no decent / generic
common mold which can be used to build distributed systems
from? I suppose as a Java guy I could just use simple RMI
with remote interfaces, but RMI is slow, and could never be
called an architecture, though some people like to call
everything and anything a framework, or an architecture. I
even find myself babbling like that.
If anyone has actually read this far, I would love to
hear some thoughts or feedback (though sadly advogato
doesn't have a wonderful mechanism in which to do that,
unless I posted this as an "article", which it is not nearly
worthy of).