I attended Oracle’s Java Embedded@JavaOne conference this week in San Francisco – running alongside Oracle OpenWorld – and presented findings from Beecham Research’s survey of M2M solution providers, which was sponsored by Oracle. One of the issues this raised was the suitability of using Java as a single software development environment across whole M2M solutions. As asked in a previous blog post, would the market gain from there being one development environment like Java for all parts of an end-to-end solution either now or in the future?
There are very different views about this. On the one hand, Cinterion (Gemalto) would certainly agree. The company launched its new M2M EHS5 cellular module this week that features Java ME Embedded 3.2, a new Java implementation aimed at small embedded devices. From Cinterion’s viewpoint this offers the opportunity to run the same version of Java across a whole M2M solution (E2E, meaning end-to-end, edge-to-enterprise or embedded-to-enterprise – whichever you prefer), thereby ensuring compatibility over the lifecycle of the solution among other benefits. On the other hand, many device designers would disagree. For them, Java still has way too much overhead for many small devices where, for example, C++ is more appropriate. These designers maintain that using Java drives up both the size of the processor and memory, which makes the design much more complex and costly than it needs to be at the edge.
In other related news this week, Qualcomm also announced it was working with Oracle to bring Java ME Embedded 3.2 to their Gobi module solution for 3G. ARM also made clear this week that it sees Java as a natural partner for both its high end and low end processor designs, only about 45% of which end up in smartphones.
This issue will run and run but Java’s momentum in M2M is clearly building. There is also the thought that – inevitably – even small devices with any on-board processing will increasingly need more power to handle more data or manage peer-to-peer communication, or both. Will Java then be a more natural choice even for these smaller devices – currently some of the more numerous devices in M2M ?