5 Jun 2002 bjgm   » (Apprentice)

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).

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!