In the closing session at ApacheCon, there was a demo of the Geronimo project. They showed some web pages of a fictitious Pet Store web site. I didn’t get it at all. The folks giving the demo made no attempt to explain what Geronimo was, or why thse pet store pages should in any way be interesting or impressive.
Finally, this evening, I understood why it was impressive.
What amazes me is the attitude that these folks seem to have. It’s as though they assume that the entire world understands what they are doing, and any attempt to explain it is below their dignity.
So, for those of you who still don’t understand, here’s the basics.
J2EE is apparently a specification (or, perhaps, an API) for building multi-user Java server applications. There are multiple implementations of J2EE engines. Jboss is one of them. Geronimo is another.
The Pet Store application is a standard J2EE proof application. ie, if the Pet Store runs, then you have implemented J2EE correctly. It’s like a test suite that verifies function.
So, when they showed the Pet Store pages, this proved that their J2EE implementation was correct, and worked.
Now, why they could not take the 3 minutes to explain this to all of us is rather boggling to me, but seems to be pretty standard across the Java community. The Java folks, as a group, seem to assume that all the rest of the world has alphabet soup for every meal just like they do, and so we all know what J2EE, WSDP, JAX-RPC, and so on, all mean. Either that, or they consider folks who *don’t* understand these things to be unworthy of dignifying with notice. I’m unable to come up with a third explanation, and would welcome a response from a “Java person” who could shed some light on this for me.
It’s increasingly clear that my difficulty in understanding what all these Java projects do, is based on the fact that they are all 18 levels deep in abstraction, and it’s assumed that you already understand the first 17 layers.
However, I’m trying very hard to be open minded. I really want to undersatnd what every one of the Apache projects is. And if my quest leads to some better (more world-friendly) explanations of what the projects do, that would be great, too.
I have a simple benchmark for these sorts of things. Can I explain it to my mother? Now, understand, my mother is a *very* intelligent person. But she is not a programmer, not a techie, and has not been exposed to the jargon that we steep ourselves in every day. So if I can explain these things to my mother, that means that I’m using regular english, and I’m probably going to be understandable to most beginners in that particular technology.