Through the Eyes of Java Embedded
To date, the Java platform has attracted more than 9 million software developers and is the foundation for virtually every type of networked application. It also is the global standard for developing and delivering mobile applications, games, Web-based content and enterprise software. Java enables us to efficiently develop and deploy exciting applications and services. With comprehensive tooling, a mature ecosystem and robust performance, Java delivers application portability across even the most disparate computing environments.
Java is used in every major industry segment and has a presence in a wide range of devices, computers and networks. Java technology’s versatility, efficiency, platform portability and security make it the ideal technology for network computing. From laptops to data centers, game consoles to scientific supercomputers, cell phones to the Internet, Java is truly everywhere!
Show Me the Numbers
- 1.1 billion desktops run Java
- 930 million Java Runtime Environment downloads each year
- 3 billion mobile phones run Java
- 31 times more Java phones ship every year than Apple and Android combined
- 100 percent of all Blu-ray players run Java
- 1.4 billion Java Cards are manufactured each year
- Java powers set-top boxes, printers, Web cams, games, car navigation systems, lottery terminals, medical devices, parking payment stations and more.
What’s New with Java?
In July 2011 Oracle (NASDAQ: ORCL) announced the release of Java Platform, Standard Edition (Java SE 7), the first Java release under Oracle’s stewardship. A significant step in Java’s evolution reflecting nearly five years of collaboration with the Java community, the Java 7 release’s major features include Project Coin, the Fork/Join Framework, a new file system API, InvokeDynamic and more. In addition to the Java 7 launch, there was success and progress in many areas for Java in the past year, including a move to OpenJDK as the official Java SE 7 Reference Implementation, the release of JavaFX 2.0, and Java SE for Embedded releases in lockstep with the platform releases.
With the recent releases of Java SE 7 Update 4 and Java FX 2.1, Oracle JDK 7 and the JavaFX 2.1 SDK are now available for Mac OS X. This release is a major milestone in our effort to bring Oracle Java to Mac, and going forward every release of Oracle JDK and JavaFX will be available on Mac at the same time as for Linux, Windows and Solaris.
This release also contains performance enhancements resulting from Oracle’s continued work to merge the Oracle Java HotSpot JVM and Oracle JRockit JVM into a converged offering leveraging the best features in each. Additional new features in these releases include a new Garbage Collection algorithm, Garbage First (G1), and new playback support for digital media stored in the MPEG-4. Oracle is continuing to drive technical advancements across Java platforms, as demonstrated with this release, and continues to deliver on the long-term roadmap for Java SE and JavaFX as outlined at JavaOne 2011.
But obviously Java does not stop there. When looking at Oracle’s stewardship of Java, we need to consider the full landscape of platforms, products and tools including Java SE, Java EE, JavaFX, Java ME, Java Embedded, Netbeans, and Jdeveloper. In terms of deployment, Java Embedded is the largest, though often the most unidentified platform, due to its hidden or ‘embedded’ nature.
Opportunities with Java Embedded
Through the past few years the industry as we know it has seen a big boom with the mobile and cloud revolution. Today, there has been an enormous amount of buzz around machine to machine (M2M) or the “Internet of Things,” since we are moving into a state where everything is going to have to be interconnected and will have to properly communicate together. This movement is part of a bigger revolution that ultimately will provide added value to the consumer, but not before this shift is completed. For this to happen, companies will need a consistent platform with a solid standards body behind it, as well as a clear and consistent road map to run on. Today, Java Embedded provides that platform.
Any Device, Any Market, Any Size
There is no denying that Java makes embedded systems safer, more robust and easier to develop since it has been designed from the start to produce a superior code quality, design and performance. Additionally, it provides organizations with a lower total cost of ownership and faster time to market compared with developing embedded applications in native code. There are three distinct segments of devices supported by Java Embedded technology. Divided into Small, Medium and Large, Java Embedded provides wide breadth of device types supported, common functionality across segments as well as specific features unique to each segment.
Small devices are often highly price-sensitive, based on low-cost processors with limited memory, optimized for low power consumption. Example devices include communication modules, mobile phones and industrial automation controllers. The Java Platform, Micro Edition (Java ME) runs on more than 3 billion mobile handsets, which is more than any other mobile platform. Java ME is also well-suited and widely deployed in other small embedded applications such as M2M, digital pens and home automation. JavaCard, also part of the “small segment,” is tailored to the support of secure, trusted, efficient, easy-to-use and interoperable identity services to access both off-line and network services.
Medium devices also are often highly price-sensitive, yet may need to support sophisticated user interface technologies and may be based on a broader range of more sophisticated processors. Java ME is specifically designed for speed and efficiency on devices with limited processing power and memory across popular embedded CPU platforms, yet is broadly compatible with the Java Platform, Standard Edition. Examples include Blu-ray Disc players and cable set-top boxes, industrial tablets and VoIP phones.
Large embedded systems span a wide range of capabilities, and are generally less price-sensitive but may need to support high performance and wide-ranging security. Examples include ATMs, aircraft control systems and multi-function printers. Java SE for Embedded addresses these requirements, as a robust and performant Java platform, supporting close to 30 different hardware and OS combinations. Configuration options enable deployment specific tuning to achieve optimal performance.
Bigger is not Better – The Future of Java in the Embedded Space
In a world where we can carry mini computers that make phone calls in our pockets every day, it should come as no surprise that Oracle’s next step in the world of Java Embedded is simply enabling it to run on even smaller devices such as microcontrollers. Oracle also is adding its middleware features to allow for a quicker time to market so developers can focus on the business value and not on ‘building the plumbing,’ if you will.
Looking a bit further in the future with Java 8, Oracle is also working on modularizing the Java platform. This will enable more flexible deployments, which is critical to embeddable devices because of the many variants of different capabilities.
How Oracle is Unifying the Developer Experience across the Platform
There are two big initiatives Oracle is working on, the first being the various ‘flavors’ of Java that have been targeted for different-size devices. In the end, it is imperative that Oracle creates a clear progression from small to large so developers that write against a small profile always will be able to run it on a large profile.
The second big initiative is unifying the tools so that the developer tools and tool chains will have a consistent experience. Regardless of whether developers are deploying on something small or large, they should ways feel they are capable of being productive.
The world of Java is intricate, advancing and exciting. From Oracle’s new release of Java 7, to the many opportunities with Java Embedded, the possibilities are truly endless. It is no wonder this underlying technology is able to power state-of-the-art programs and is currently running on more than 850 million personal computers worldwide. For more information on Java, visit Oracle’s Java TechNetwork.
Worldwide A&C and Communications
Monthly guest blogs such as this one are part of The VAR Guy’s annual sponsorship. Read all of Oracle’s guest blogs here.