Azul Systems has expanded the opportunity for Java developers in the embedded and internet of things (IoT) spaces by offering its open-source implementation of Java for embedded systems—Zulu Embedded—on ARM 32-bit processors.
Azul announced general availability of its OpenJDK-based Zulu Embedded offering for ARM 32-bit processors and provided a roadmap of its support for additional embedded processors, including ARM 64-bit, PowerPC and MIPS processors.
The company will deliver PowerPC support in the third quarter of this year. Zulu Embedded support for 64-bit ARM processors will come in the first quarter of 2017, and Azul will also deliver support for MIPS64 at a future date, Scott Sellers, CEO of Azul, told eWEEK. Azul already supports Intl 32- and 64-bit x86 processors
Sellers said the ARM microprocessor has been dominant in the embedded and IoT spaces for a long time. Yet, OpenJDK currently only supports x86 processors and the 64-bit version of ARM. Over the next six months, Azul will deliver Java platforms across all key embedded microprocessor architectures, Sellers said.
Zulu Embedded is Azul's open-source Java Virtual Machine (JVM) based on OpenJDK—the same code base that Oracle's HotSpot is based on, Sellers said.
"Whereas Oracle takes that same code from OpenJDK and pulls it inside and delivers a proprietary JVM, we take a different approach and maintain the pure open-source nature of OpenJDK and we commercialize that," he said. Azul offers Zulu Embedded free of charge, but it also provides support packages and customizations for a fee.
However, for vendors and developers that are developing in the embedded and IoT segments, one major limitation today is that developers are not allowed to freely ship a JVM from anyone, Sellers said.
"Oracle makes it very clear that you are not allowed to just take that JVM and ship it," he said. "You have to pay Oracle license fees and support fees and things like that."
By providing a pure open-source product, Azul now enables customers to download its JVM and use it free of charge with no field of use restrictions.
"So for the first time ever you now have a fully robust, certified to be Java-compliant version of Java SE that is freely usable and freely distributable for the embedded market," Sellers said.
Then for vendors that want support packages, custom form factors or smaller footprints, or other things that require customizations, Azul offers that with paid Zulu Embedded offerings as well.
"There has been a tremendous amount of friction using Java in the embedded markets because no one wants to sign up to be beholden to one vendor," Sellers said. "So like open source in general has transformed so many markets, where developers will use open source if they have the opportunity to do so, and the product is the same. … We can deliver a product that is exactly the same as Oracle's in terms of being bug-for-bug compatible."
Despite the Oracle restrictions Sellers cited, Java is broadly used in the embedded space. Java is used in embedded systems in manufacturing, logistics, security, networking, wireless, mobile and other applications. Sellers said. Azul is seeing Zulu Embedded in devices as small as sensors as well as in things like speaker phones, ATM machines, wireless routers, printers or anything that has any modicum of intelligence attached to it.
"Java is a key enabling technology for the internet of things," said Christian Renaud, IoT research director at 451 Research, in a statement. "Many IoT applications demand real-time performance, and Zulu Embedded's new support of 32-bit ARM architecture enables a number of opportunities and new applications in smart grid, healthcare, transportation, and many other applications."
The big problem in the embedded space is there's really only Java or legacy languages like C and C++, Sellers said.
"And unless you want to become beholden to Oracle, it's almost forced developers to use those legacy languages; and everybody hates those languages," he said. "They're clunky, they're buggy and it's hard to find good programmers that know this stuff anymore. So this is like a breath of fresh air in terms of opening up freedom of development."
In a statement, Dominic Pajak, director of marketing for Embedded Segments at ARM, said ARM processors support a range of embedded applications such as those in automotive, TV, gateways, payment systems and a lot more.
Meanwhile, "The Eclipse Foundation's Internet of Things Working Group has a number of Java-based open source IoT projects that will benefit from running on Zulu Embedded for 32-bit ARM processors," said Mike Milinkovich, executive director of the Eclipse Foundation, in a statement. "Zulu Embedded will be an important open source option for Java developers building IoT solutions."
Sellers told eWEEK that Zulu Embedded has been a "sensationally and surprisingly" popular offering for Azul.
"We've been really pleased with the continued number of people who have downloaded the product and use it," he said. "Those numbers have doubled every quarter for the last two and a half years. The thing that has really surprised us is the number of device manufacturers around the world that are using Zulu Embedded."