Image

Q&A: A Glimpse into the Everyware Software Framework

May 20, 2015
Andrea Ceiner, Group Product Marketing Manager, M2M/IoT, at Eurotech, talks with Technology Editor Bill Wong about the Everyware Software Framework, an inclusive and targeted Java OSGi software framework for M2M multiservice gateways, smart devices, and IoT applications.
Download this article in .PDF format
This file type includes high resolution graphics and schematics when applicable.

Andrea Ceiner, Group Product Marketing Manager M2M/IoT, Eurotech

The Internet of Things (IoT) is upon us and developers are tasked with getting M2M (machine-to-machine) connectivity working. Gateways and software frameworks provide a way to manage this communication chore, and Eurotech's Everyware Software Framework (ESF) represents one of them.

I talked with Andrea Ceiner, Group Product Marketing Manager M2M/IoT at Eurotech, about ESF and its related open-source project, Kura.

Wong: So, give us your elevator pitch. What exactly is the Everyware Software Framework?

Ceiner: The Everyware Software Framework, or ESF, is a Java OSGi software framework that puts a layer between the operating system and the customer embedded software application, with industry-standard interfaces that shorten custom development time, simplify coding, and allow software to be both easily ported from one hardware platform to another and reused in different business scenarios.

Everyware Software Framework's architecture is based on different software layers so that a customer can start writing the application on top of a stable, hardware-abstracted platform equipped with all the necessary development tools and specific libraries (see the figure).

Wong: Tell us why Eurotech developed the Everyware Software Framework.

Ceiner: Eurotech has specialized in embedded systems for many years. As the market changed and the Internet of Things began to expand, we found that many of our customers were deploying embedded devices, and then looking for ways to connect them to an internal network, or to the Cloud.  The problem was that these customers were not embedded developers, or machine-to-machine systems developers, or Cloud experts. They had a specialty, whether it was in the medical field, industrial, or transportation. They were spending a lot of time and money trying to develop M2M systems for the needs of one specific project, with varying technologies and a lack of expertise. 

ESF is an inclusive and targeted Java OSGi software framework for M2M multiservice gateways, smart devices, and IoT applications.

We believed there was a better approach rather than treating every project separately as a vertical solution, with no reusability and no versatility. We learned through 20+ years of experience in M2M business scenarios that a horizontal, data-agnostic software framework for devices and gateways was key. We identified the first main objective: all functions and services common to all vertical markets that are not tightly bound to the different telemetry data types must be part of the framework. Thus, we decided to develop the Everyware Software Framework (ESF) with the goal to connect devices in any geographic location to software applications through any kind of network and protocol.

The second main objective was to make the complexity of the M2M system invisible to software developers to make their job easier. So, we encapsulated all of the complexity inside of ESF, instead of having it written by the programmers inside the applications.

Wong: Let’s dive a little deeper. How does ESF help developers?

Ceiner: ESF allows the Java developers focused on M2M and IoT applications to develop robust, flexible software with minimal development time, helping to get their product to market faster.

With ESF, developers don’t have to worry about things like hardware configuration, connectivity, or compatibility. All of those system components are available as Java ESF APIs and Java OSGi Services. Instead, developers can focus on just their embedded application. ESF makes the application portable—it can be ported and run on different hardware platforms without rewriting any code. 

What it comes down to is that with ESF, developers only have to worry about a relatively few lines of code—their business logic. The only other expertise they need for ESF is Java, which is the most common programming language. 

Wong: How does ESF help companies future-proof their applications?

Ceiner: ESF lets customers modify, reconfigure, and maintain their application over time, so it evolves as market demands change. You can’t predict everything, and you don’t want to start from scratch when things change. The adaptability and flexibility to meet market requirements will give customers a huge competitive advantage over static, fixed-functionality software applications.

Wong: If a company has a Java programmer and an enterprise application, and they want to connect to the Internet of things, how does ESF help?

Ceiner: With ESF the company can put that Java programmer to use, and without needing an expert in embedded systems, they can reuse the code they already have for the enterprise application and create an embedded application. The framework will generate all of the needed executable programs to connect to the Cloud. ESF is natively integrated with Eurotech’s Everyware Cloud, an M2M Integration Platform that simplifies device and data management by connecting distributed devices over secure and reliable cloud services.

Wong: We understand using ESF with the Everyware Cloud allows for remote device management.  Can you explain?

Ceiner: When a device running an embedded application is connected to the Everyware Cloud through ESF, it can be remotely managed without requiring people to physically interface with the device or gateway hardware. It can be remotely controlled, configured, provisioned, updated, managed and monitored via a simple Web interface. If you wanted to change the temperature threshold on an industrial air-conditioning unit, for instance, with ESF, you could change the temperature via a Web interface and the command would be sent and the application would react on the gateway.

This function requires that Everyware Cloud is connected to a device running ESF. But ESF plays a role also on its own, as a runtime environment for embedded-software applications. The foundation of ESF is available to the open-source community via the Eclipse Kura project, under the Eclipse Public License.

Wong: Tell us more about Kura—what parts of ESF are available with this open-source project?

Ceiner: Eurotech donated the foundation of ESF as an open-source Eclipse project, Kura. Kura is a Java/OSGi-based framework for M2M applications running in service gateways. Kura components are designed as a configurable OSGi Declarative Service exposing service API and raising events. Kura APIs offer access to the underlying hardware, management of network configurations, communication with M2M/IoT Integration Platforms, and gateway management. Kura 1.1.0 was recently released; more information can be found here.

Wong: We understand you recently released ESF 3.0. What’s new?

Ceiner: ESF 3.0 is now synchronized with the release of Kura. The new features included in ESF enable a complete set of powerful remote-device-management operations over MQTT, either on demand or on schedule, interacting with the Everyware Cloud Web Console. These include device provisioning, device update, device control, device configuration, device diagnostics, and device monitoring.  

The newest version of ESF also includes PCN bundles for transportation applications, Reverse NAT for powerful networking capabilities, BeagleBone Black and RaspberryPi support, Java Runtime Environment 1.7, and Everyware VPN. Everyware VPN is a new feature that allows for remote connection to devices within secure networks.

Download this article in .PDF format
This file type includes high resolution graphics and schematics when applicable.

We are finding that the need for ESF is only increasing with the rapid development of the global IoT market. There is increasing complexity at the edge of the network, and we will continue to manage this complexity for our customers to help them with efficient development, deployment, and management of distributed smart devices in the field.

About the Author

Andrea Ceiner | Group Product Marketing Manager, M2M/IoT

Andrea Ceiner, Group Marketing Product Manager M2M/IoT at Eurotech Group since 2014, has been working in the IT and Software industry since 1991. He started out with Euris Group, working for seven years as a software developer and project manager, accumulating experience in integrated software solutions and enterprise architectures. After Euris, he spent 16 years at TBS Group S.p.A, as database administrator, support services manager, R&D manager, technical director, director of project management, and member of the executive board of a controlled company.

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!