News Archive (1999-2012) | 2013-current at LinuxGizmos | IoT and Embedded News Feed |    About   

Sun aims “standard” Java at embedded apps

Apr 3, 2006 — by LinuxDevices Staff — from the LinuxDevices Archive — views

Sun has announced the first two versions of its “Standard Edition” Java development environment aimed specifically at embedded devices, especially those running Linux. Additionally, Sun has created a service organization within its Java business unit, which will tune Java Platform Standard Edition (SE) for maximum performance on customer hardware.

Sun's initial releases of Java Platform SE for the embedded market include:

  • A “headless” build stripped of most graphical interface components, such as “swing,” allowing it to squeeze into 25MB of flash memory
  • A build for PowerPC, an architecture popular in network and storage appliances, as well as telecom infrastructure hardware

Sun believes Java Platform SE has become increasingly viable in the embedded market, thanks to growing processor and memory resources in typical embedded designs. Additionally, it believes that “standard” Java will appeal to an embedded market increasingly moving away from high-maintenance, do-it-yourself designs, and toward COTS (commercial off-the-shelf) hardware and software, including x86 and PowerPC processors, and Linux operating systems.

Dave Hofert, of Sun's Java Embedded and Real-Time Group, explains. “It's hard to maintain specialized devices. If you are running Linux, and you can use a mainstream processor and get enough memory in there, you can start thinking about Java SE, and you can have a lot of functionality.”

Java Platform SE, embedded Linux, and a customer application typically require a minimum of 32MB of flash and 32MB of DRAM memory, Hofert claims, adding, “Samsung has a cellphone with 80MB of standard flash memory! We only need 25MB or so.”

Other embedded-oriented Java offerings

Quite a few software companies market Java and Java-like VM products to makers of Linux-based embedded and mobile devices. Their offerings range from Sun-licensed products to “clean room” VMs claiming compatibility with Sun's Java Platform SE or ME (Micro Environment) specifications, which were formerly known as J2SE (Java Two Standard Edition) and J2ME (Java Two Micro Edition), respectively.

Some examples are:

According to Hofert, clean room Java VM clones generally lack features or compatibility, thereby undermining Java's touted “write once, run anywhere” benefit.

Advantages of SE over ME

In addition to its entry into the embedded market with Java Platform SE, Sun will continue to market its Java Platform ME for deeply embedded, highly resource-constrained systems, such as DVD players, photocopiers, and printers. However, ME is a subset of SE that often lags in support for the newest features, according to Hofert. He said, “ME 1.5 is about to come out. SE 1.5 has been out for a year and a half.”

Other advantages of SE over ME cited by Hofert include built-in support for multi-core processors; wider availability of freely available code snippets; more development tool options, including Sun's “NetBeans” IDE, as well as Eclipse; and compatibility with much more third-party and open source software, including Apache, the Derby embeddable database, and the Tomcat application server.

Additionally, whereas ME is licensed as source code — requiring customers to tune and build it themselves — SE is licensed as a standard, add-on binary component, Hofert says, consistent with emerging COTS strategies in the embedded industry.

Recognizing that performance is critical in embedded devices, Sun has created a group within its Java virtual machine development team that will perform hardware benchmarking, and create optimized SE virtual machines (VMs) for qualified customers.

Hofert explains, “Java SE is a binary product [but] it has quite a range of options and knobs to adjust it with. [Customers can hire] the same engineers that created the VM to look at their application, do hardware analysis and benchmarking, and spend about two weeks looking for optimizations. Typical performance gains are on the order of 25 to 200 percent.”

Hofert adds, “The great thing for the customer is that they don't have to requalify their application. It's still just standard Java.”

Hofert says early Java Platform SE embedded customers include Linux handheld vendor Intermec, which is using Java in RFID readers, and Nortel. Nortel's IMS development director, Paul Ensing, stated, “Sun significantly [improved] our application performance, by tuning the JVM for our specific situation — using our software running on our hardware. Furthermore, Sun's experts have helped us evaluate our own Java code to isolate and remove additional performance bottlenecks.”

Sun Microsystems, Via Technologies, and iGoLogic Inc. debuted JBox (photo at right), an x86-based development kit for embedded applications based on SE2, at last year's Java One conference.

Availability

Sun will demonstrate headless and PowerPC SE builds at the Embedded Systems Conference (ESC) this week in San Jose. Licensing of SE for embedded applications will be royalty based, and will vary according to unit cost. Costs will range well below 10 percent of total BOM (bill of materials) cost, Hofert says.

Sun's embedded SE VM optimization service will be offered on a “statement of work” basis, according to Hofert.

Additionally, Sun will demonstrate alpha builds of real-time Java at ESC.

Further details on Sun's Java SE for Embedded are available here.


 
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.



Comments are closed.