Role of Java in Internet of Things
The ubiquity and pervasiveness of IoT devices, along with the growing fragmentation of hardware architecture, software, and infrastructure, calls out for standards that can be adhered to by programming languages to improve ease of deployment and scalability. Java, with interoperability at its heart, is a natural fit
Sanket Atal, Group Vice President, Product Development, Oracle
Imagine a world of technology that thinks on its own; where machines let owners know when it’s time for maintenance or a quick fix. Imagine a world where everyone and everything from people to inanimate devices have a unique identity and are connected to each other. This new reality in technology, called the Internet of Things (IoT), is here.
What is IoT really?
IoT is about collecting and managing massive amounts of data from a rapidly growing network of devices and sensors, processing that data, and then sharing it with other connected units to make real time decisions. You are already beginning to see it around you – in the smart meter from your utility company, in the environmental controls and security systems in your home, and in your car’s self-monitoring capabilities. In this connected world, the proliferation of intelligent devices has created a market for entirely new solutions based on IoT technology. With the ever-increasing amount of data that is inherent in an IoT world, the key to gaining real business value is effective communication among all elements of the ecosystem.
IoT is being referred to as the next big IT revolution after the mainframe era, the proliferation of personal computing and the arrival of cloud computing models. This phenomenon of interconnectivity and technology embedment is making a drastic shift on the influence of IT in our daily lives. At the same time, it offers significant business opportunity for firms to grow, developers to innovate and newer applications to be built. Gartner estimates the total economic value-add from the Internet of Things across industries will reach US$1.9 trillion worldwide in 2020.
As thousands of devices and sensors get connected, waves of new data are pouring in from a vast array of sources that range from resource-constrained devices to desktop-class systems to embedded silicon chips. The ubiquity and pervasiveness of these devices, along with the growing fragmentation of hardware architecture, software, and infrastructure, calls out for standards that can be adhered to by programming languages, software platforms, tools and testing frameworks that will aid the developer community and improve ease of deployment and scalability. Java, with interoperability at its heart, is a natural fit for developing of emerging IOT technologies.
Why Java for IoT
One of the initial uses of Java was to help connect home-entertainment devices, and this basic tenet of interoperability is what makes the platform a good fit for connected devices in IoT ecosystem. It offers comprehensive functionality for resource constrained devices, with the highest level of functionality, security, connectivity and scalability in the industry. As an open standards-based platform, Java provides code portability in IoT environments, accelerating time to market as new generations of sensor technology emerge. The secure, in-market device software updates further extend product lifecycles and allow new services to be provisioned remotely. In addition, Java has a massive ecosystem of more than nine million Java developers worldwide who are developing innovative applications for the connected world. Using java in devices makes it easier for product engineering as one can leverage teams with java experience to work on programs that run on devices and backend servers instead of managing teams with specialized expertise in variety of development languages and environments for various devices.
When one develops an embedded application one has to think about the processor, the real-time operating system, and the different protocols that will be connected. Java ME abstracts all of that, so that when creating an application, it can run across the many different devices without having to change how those applications are written. The application is written once and can be prototyped on different types of hardware platform, so when one is ready to move into a production-type environment or system, the developer can use the same software on a different chip set or operating system. For e.g. when you write your application and do your prototyping on Raspberry Pi or Edison board, then you can do the same on a small microcontroller device. The same application that runs on the higher-end systems runs on the low-cost devices. Security is a major concern in the wirelessly connected world. The Generic Connection Framework 8 (GCF 8) Access Point API in Java provides the latest security standards and the highest levels of networked encryption and authentication to ensure data privacy.
We are already beginning to see early adoption in sectors like healthcare, with Java Embedded showing up in lifestyle health devices, patient monitoring technologies and home healthcare or telehealth tools. In the auto industry, the Java Embedded-enabled IoT sensors and devices are increasingly being deployed for multiple use cases from fleet management and logistics to pushing offers to rental car drivers.
The vision of IoT is to create an automated system of computers, devices, and sensors that process their own data instead of depending solely on people for input. As a result, the system as a whole can have a view of what’s taking place at any location, at any point in time. This would lead to a world of connected systems that could greatly reduce waste, lower costs, and eliminate loss for just about any human-machine activity. Java has an important role to play in this ecosystem. Given its ability to run on a wide range of devices— from mobile and embedded systems with limited CPU and memory, to servers with immense power and capacity — Java can power the world of compute resources with ubiquitous connectivity in the coming decades.
We are already beginning to see early adoption in sectors like healthcare, with Java Embedded showing up in lifestyle health devices, patient monitoring technologies and home healthcare or telehealth tools.