So when Sun declared that the rallying cry in JavaONE would be "Java Everywhere!"
I replied: "Hallelujah! Pass the smartphone, please, but hold the mustard!", which did not make a whole lot of sense, but it did show others how enthusiatic I was about the whole thing.
Well, before I make my spiel, let's do some definitions.
"Java Everywhere" has been defined as a single-architecture, end to end solution.
The Java platforms on the server side (J2EE), client side (J2SE), and small devices (J2ME)
share the same basic language features, API designs, libraries, and even development tools.
The value proposition of Java Everywhere is to maximize productivity and allow existing Java developers
to enter emerging markets without extensive retraining.
In a recent entry I suggested that, with J2ME emerging as the de facto standard for small devices, it is time
for Java developers to start considering enterprise (and other) solutions in terms of not just
server-side applications, but as full-fledged systems that encompass server-side, desktop, and mobile
components.
For example, a portfolio tracking system should not just have serverside and desktop components, but
should at least be extensible enough to incorporate mobile components if needed. A user can access his or her
financial information not just from a desktop (with real time data provided by applets, for example), but from
a Palm device, smartphone, RIM Blackberry, or any other mobile device.
Determined to put this concept into action, I proposed several possible additions to our company's
web apps that would extend their reach to mobile workers in the field. Surprisingly enough, they were greeted with
enthusiasm, and we are now field testing the system.
Well, now to the spiel: I used to be known as an Enterprise Solutions Architect at work, a jargon that I loved dearly because it made me feel I was actually doing something meaningful (rather than just planning enterprise apps and checking on the work of other developers). Little did I know then that I would later be given the even worse title "Process Manager".
A co-worker, after hearing about my mobile work, jokingly remarked that I should update my title.
After some heated discussions (most occuring within the confines of my overheated imagination), I proposed a new moniker, "Java Everywhere Architect" or JEA, that would be used to designate those enterprise developers who demonstrate substantial and in-depth knowledge of the architectural underpinnings of J2EE, J2SE, J2ME (and all other possible acronyms in between).
The developers who provide the "grunt" labor in constructing the monstrous undertakings of these new-fangled architects will likewise be known as "Java Everywhere Professionals" or JEPs (which sounds kinda like my dog's name, but that's another story...)
In the same light, companies that provide "Java Everywhere" solutions would be called JECs ("Java Everywhere Companies"), not to be confused with companies that are opposed to Java, also called JECs ("Java Everywhere Competitors").
You get the picture.
"Kalimantan", MBA, MS, and hopefully sometime soon, JEA.