Jim Waldo was the keynote speaker today and had some great things to say about the future of computing on the network and about many things that plague everyone building large applications. The work that Brian Zimmer and I have done at Orbitz attempts to address a good portion of what Jim covered.
The main concepts were of course Reliability and Versioning. These go hand in hand because all engineers know that software evolves and at some point, if the applications are used enough, downtime isn’t acceptable for upgrades. Additionally, system wide upgrades aren’t feasible and can be extremely dangerous.
Another underlying theme is around Jini’s visbility and acceptance, as well as problems that plague Java and large open source bodies when they want new features. In my opinion, Jini doesn’t suffer from the open source debacle that is so common these days. Nor does it suffer from the standards hell of some other bodies. This means it doesn’t have as much exposure or momentum because that is the way it has stayed out of harms way.
This is similar to various smaller less notorious open source projects, most of mine falling into this category, that can make great changes that might normally cause disasterous uprisings in the community surrounding them and the user base. For example, I’ve completely re-written the model for Savant, because it needed it. I’m going to make that a minor revision and I’m pretty safe in assuming that no one is implementing my APIs and that these changes won’t cause issues. Jini is somewhat able to move in this agile way because of the lack of momentum and acceptance.
I think that the points that Jim brought up and all of the talk around here today suggests that something is going to occur in software in the near future, but I’m not certain what it will be or who will end up on top. Nor am I able to speak to the time-frame at all; but the enormously tough problems of versioning and reliability are going to require new methodologies and above all else new technologies. These technologies must be capable of taking a stance and say, “we are going to break all your stuff! Get ready or get out!” I don’t know if Java will ever do that, but I think Jini could if it could get out from under the sluggish giant it relies on today.