JINI, Simplicity, and Web Services
Yesterday, a friend pointed me at this article about the WS-DISCOVERY standard. Both of us viewed it with some dismay: it would be a depressing world, indeed, the promise of JINI were realized by a bunch of web services technologies that (as the article itself points out) are bloated, inefficient, and insecure. Jini was, and is, simple and elegant. And, in JINI 2.0, secure.
JINI is simple and elegant. One of my axioms in graduate school was that all great ideas are inherently simple. And a corollary is that, when you see an awful, bloated mess of an idea, what you're often seeing is the consequence of second-rate minds working over a great idea. This certainly applies to structural semiotics, but it also applies to most technologies I"ve watched in the XML world, and particularly to Web Services. Web Services is certainly the poster child for technologies that started with a simple but elegant idea, and have spiraled out-of-control into astronomical complexity.
Well, aside from pointing fingers at the XML universe, what can we learn from this? The Java community is obviously not immune from bloatware. EJB is another technology that started simple (remember the pre-1.0 days when there were no entity beans?) and got out of control. I'm also concerned with a number of Web technolgies that, in the interest of separating the designer from the software developer, add another layer of configuration that seems to me to be yet a third area of specialization.
I'm really impressed with a book that Bruce Tate is writing, stressing the importance of simple, lightweight technologies, like Hibernate and Spring. I don't claim to be the sort of first-rate mind that can create the truly great ideas. But I sure can recognize them, and so can you. It's high time for a backlash against overly complex code, overly complex applications, and overly complex standards.
Maybe we could start a movement...