Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

"Java everywhere" is for world domination

Why the latest wireless buzz matters to all developers

  • Print
  • Feedback

Before the Java language was known as Java, it was called Oak—a language for building embedded applications on smart consumer electronics. However, the idea of networked smart devices everywhere was beyond its time in the 1990s. Instead, Java took off as an Internet language to enhance thin client browsers (applets) and went on to become hugely successful as a server-side platform (servlets and Java 2 Platform, Enterprise Edition (J2EE)). However, the vast and profitable client software sector remains elusive to Java developers. Microsoft's Windows monopoly remains unchallenged despite the availability of cross-platform Java GUI (graphical user interface) toolkits. As the application server market is growing increasingly saturated and the J2EE servers are becoming low-margin commodities, the growth of Java is at a critical conjunction.

Fortunately, the winds for Java on the client side have recently changed. As smart wireless device shipment far exceeds PC shipment this year, the Windows PC is no longer the de facto client platform. In a keynote speech delivered to Microsoft developers in March 2003, Bill Gates likened today's wireless market to the "early days of Windows," where there are huge opportunities for profits and new jobs, and no dominant player. The opportunity for Java to become a truly ubiquitous end-to-end platform has finally come.

The "Java everywhere" vision initiated by Sun Microsystems during the 2003 JavaOne conference aims to promote Java in the huge emerging market of end-to-end solutions. In this article, I discuss "Java everywhere," what kind of applications it supports, and what it means to developers.

What is "Java everywhere"?

In technical terms, "Java everywhere" is a single-architecture, end-to-end solution. The Java platforms on the server side (Java 2 Platform, Enterprise Edition, or J2EE), client side (Java 2 Platform, Standard Edition and Micro Edition, or J2SE and J2ME), and inside embedded devices (J2ME and JavaCard) share the same basic language features, API designs, libraries, and even development tools. The value proposition of "Java everywhere" for developers is to maximize productivity and allow existing developers to enter emerging markets without extensive retraining.

The J2SE and J2EE architectures are relatively stable after years of development and the maturity of the PC platform. But on the mobile client end, the platform is still evolving quickly. The need to work with many device manufacturers and network operators has made the exact J2ME specification a moving target.

However, getting J2ME right proves crucial to the financial success of "Java everywhere." The projected device market is not only much larger, but also much more profitable than the PC market since mobile customers are more likely to pay for their services. "Java everywhere" envisions Java runtimes in every smart device manufactured. It is an ambitious goal. But if successful, "Java everywhere" not only creates new opportunities, but also helps to revive the other Java-related IT sectors. To get Java working properly on all devices, we must compromise one of Java's most recognized principles: Write Once, Run Anywhere (WORA).

  • Print
  • Feedback

Resources