Posted from JavaWorld.com, Author: Michael Juntao Yuan, translation: doodoofish
Summary
The most eye-catching noun at the "2003 Javaone" meeting in the foreman is "Java is all". However, for many developers, it is not so easy to understand "Java inember", because this concept does not seem to have any corresponding actual Java API. "Java is not" is an idea that affects the evolution and development of the Java platform. For developers, this concept is far more than that of the body, it indicates the latest Java technology and the most interesting Java business in the future. In this article, Michael Juntao Yuan explained the concept of "Java is inexpensive", it is related to the traditional Java concept, and discusses its impact on developers, especially for today's enterprise developers. (2400 words, August 22, 2003)
Before "Java is Java", it is called OAK - a language for developing embedded applications on the user appliance. In the 1990s, the inendable network interconnection Smart Device has not yet appeared; Java is booming as a network language, which is used to enhance the thin client (Applets), and later because of the server-side platform technology (servlets and j2ee) Great success. However, this piece of the huge and interest-rewarded client software technology still makes it difficult to understand and master. Regardless of the ability of Java how to have a platform, Microsoft's monopoly status is still still standing. As the application server market is getting more enough, and the J2EE server is becoming "daily necessities", Java's growth is at a critical moment.
Fortunately, the wind direction of Java on the client has changed. With this year's Smart Wireless Device, the window system is no longer the default standard for the client platform. In the March 2003 meeting speech, Bill Gates compared today's wireless market as a "early stage before the window system", there is a huge speculation and work opportunity on the market, and there is no manufacturer of dominance. Java has become a chance to truly translate the universal end-to-end platform.
The Java is not yet, made by Sun Microsystems in the 2003 Javaone meeting, the goal is to enhance the ability of Java in a large growth-ended solution market. In this article, I will elaborate that Java is omnipotent, what application is supported, which is meaningful to developers.
What is "java is omnipresent?"
From a technical speaking, "Java is inexpensive" is a single architecture, end-to-end solution. On the server J2EE, J2SE and J2ME on the client, and J2ME and Javacard in the embedded system share the same basic language features, API, class libraries, and even development tools. "Java is omnipresent" to developer's very valuable significance is to maximize development efficiency, and allow existing developers to participate in a variety of different markets without re-training.
After several years of development and the maturity of the PC platform, J2SE and J2EE's architectures have been relatively stable. But on the mobile client, the platform is still in the rapid evolution. Cooperation with many devices and network vendors has become a need, this demand has indeed locked J2ME to lock as a vision goal.
However, it is necessary to prove that J2ME's importance of "Java is inexpensive" success is that the equipment market is not only huge, but also more profitable than the PC market, because mobile devices are more willing to pay for services. The concept of "Java is all" is expected that Java Runtime installed on Smart Device at all ministers, which is a very wild goal. But if success, "Java Everywhere" will not only create new opportunities, but will help integrate other related Java technology. In order to make Java run on all devices, we must comply with one of the most recognized principles in Java --- Write Once, Run Anywhere (WORA) ..
More magnificent than Write Once, Run Anywhere
Because of the persistence and skill transitions on the architecture, Java is ubiquitous than traditional Write Once, Run Anywhere is more great. Because in Small Devices restrictions, we cannot run J2SE programs directly on Small Devices. The J2ME architecture itself consists of Configurations and Profiles, each supporting a variety of J2SE core language libraries. The general WORA principle is adjusted appropriate because we can no longer expect a Java program to run on all J2SE and J2ME devices, but allow WORA principles to be used on the device of the same J2ME PROFILE. Even for similar devices, such as mobile phones, standard J2ME Profile (such as Mobile Information Device Profile, MIDP) only indicates a group of universal APIs and features, each device must support these APIs and features. However, the equipment market is considered to be high-speed change, manufacturers are different from other devices by providing new features and new capabilities to other devices (eg, from the PDA phone to the camera phone, to video calls). This is quite difficult to develop applications for Java developers to develop applications.
In the current J2ME architecture, support for those advanced device features can be implemented by an optional package. The optional package is developed and standardized in JCP organizations. They enable developers to write portable applications to similar devices. Today, MIDP options support the most modern mobile phones: from SMS, Multimedia Content, Bluetooth Connection Technology, and Global Positioning System GPS, to SOAP Web Services. The method of optional package is even used in the field of J2SE. For example, JSR (Java Specification Request 197 allows J2ME Universal Connection Framework (J2ME Generic Connection Framework) for J2SE, which allows J2ME network applications to run on the J2SE PC.
Of course, numerous optional packages sometimes make people confuse. Integrated work is in progress. The most important work is JSR 185, Wireless Industrial Java Technology (Java Technology for the Wireless Industry). This JSR 185 expert group consists of those major equipment manufacturers and wireless dealers. This JSR defines the relationship and intersection of various components in J2ME. JSR 185 provides files, TCK (Technology Compatibility Kit) Suites Technology Compatibility Tool Suite, and guidelines for users and vendors.
Equipment providers can help developers through their support and API classification. A good example is the NOKIA30, 40, and 60 development platform series.
Development tool is key
Let "Java are all" successfully, developers must use Java to solve problems in the middle of the real society. Now let's take a look at which developers will pay attention to Java Technology 1, today, there are 3 million Java developers. Many of them will enter the Smart Device field in the future, because there is money, have a job opportunity. 2, the current Smart Device developers have used C / C . Because of the huge performance of Java, many of these people are thinking of Java as a safer and efficient choice. 3, low-end developers with VB technology and client development experience are intending to turn. They may go to Microsoft's .NET or Java platform.
In order to attract these developers to the Java camp, a development tool that is super strong and familiar with is a key. There is a new feature in the upcoming J2SE1.5, which greatly reduces Java complexity as a goal. Many innovations such as Java Metadata Facility (JSR 175) and a Java IDE Extension API (JSR 198) make it easier for developing first-class Java development tools.
In the 2003 Javaone meeting, Sun demonstrated their RAVE project, a user-developed IDE developed. In many ways, rave is very like Microsoft Visual Studio .NET. It is designed to attract VB developers. In the meeting, Sun also demonstrated the Relator project, a tool that allows companies to mobile application developers to seamlessly integrate J2ME clients and J2EE servers.
In J2ME, the development tools are raining. All mainstream Java IDE now supports the development of J2ME. The challenge now is to allow them to support more private devices class libraries and simulators (Emulator). In the Javaone conference, Borland and IBM announced that JBuilder and WebSphere Studio Device Developer will support NOKIA devices. In the part of the part, we will detail J2ME.