Java developers do not need complete re-education to start building machine-to-machine (M2M) applications, according to Artyom Astafurov, co-founder of the DeviceHive open source M2M software project. Developers with some familiarity of embedded, client and cloud components and the ability to focus on solving business problems will find it easy to work in M2M, also known as the Internet of Things (IoT).
“Developers need to think about [M2M applications] in terms of solutions, not the particular target platform,” said Astafurov, chief innovation officer for DataArt, a custom software developer. I interviewed him after his JavaOne 2013 session, titled “What It Takes to Build an Internet-of-Things Application with Java ME.” In these video clips from that interview, he describes some challenges in building embedded devices with Java ME and defines the Internet of Things.
Astafurov also answered these questions about M2M’s impact on enterprise applications, pros and cons and how DeviceHive assists in M2M development.
In what ways will IoT impact traditional enterprise software development?
Astafurov: IoT will generate a lot of data making Big Data problems even bigger. Also another interesting development is Complex Event Processing related to IoT, when certain events are triggered by a set of signals coming from remote sensors, for example.
What are the top challenges in developing M2M applications?
Astafurov: Building reliable M2M applications in the environment of unreliable communication channels -- remote GSM networks, proprietary long-range radio links -- always poses a challenge. The solution should recover gracefully from all sorts of unpredictable connectivity faults. Also protocols should allow for such a recovery, which is also very important.
What, if anything, is simple in the M2M development process?
Astafurov: Modern embedded development platforms provide much better hardware abstraction, so it is getting more and more like developing mobile applications or other applications which you develop using standard tools.
What need in M2M development does DeviceHive fill?
Astafurov: DeviceHive creates the communication layer for applications running on top of devices, gateways, cloud and clients. it contains the cumulative knowledge of building reliable M2M solutions with scalability in mind. DeviceHive gives you the foundation to start developing your solution right away, without having to worry about the underlying plumbing of M2M messaging and connectivity.
For more video Q&As with Astafurov and other JavaOne 2013 speakers, as well as news and tips, check out the collection of content on SearchOracle: http://searchoracle.techtarget.com/essentialguide/OpenWorld-and-JavaOne-2013-conference-coverage.
Are you or your organization doing any work in M2M? Please tell us about your project(s).