Open Services Initiative: OSGi Links Devices And Clients

June 4, 2001
Embedded-system developers need to deliver robust end-to-end solutions between clients and devices, but this task can be hampered by the lack of standard interfaces between services. The Open Services Gateway Initiative (OSGi) is developing an open...

Embedded-system developers need to deliver robust end-to-end solutions between clients and devices, but this task can be hampered by the lack of standard interfaces between services. The Open Services Gateway Initiative (OSGi) is developing an open architecture that addresses services, management, and communication between clients and devices. The modular design allows vendors to provide interfaces to proprietary devices using arbitrary communication protocols. Because OSGi is application- and platform-independent, the specification can be part of a solution comprising anything from cell phones to networked refrigerators. OSGi gateways may also act as an intermediary between network- or Internet-based clients and proprietary devices.

OSGi is being supported by a vast array of vendors. The flexibility of the specification and future enhancements permit the incorporation of proprietary devices and network protocols into a larger solution that might include standard applications such as Web browsers. It works with a variety of networking technologies like Ethernet, Bluetooth, the Home, Audio and Video Interoperability (HAVi) standard, Home Phoneline Networking Alliance (HomePNA), HomeRF, IEEE 1394, LonWorks, Universal Serial Bus (USB), the Video Electronics Standards Association (VESA) home network, and powerline communication systems, including the Home Powerline Alliance (HomePlug). Further technologies can be added too. OSGi tries to be protocol- and standard-agnostic, and it supports device access architectures like Jini and Universal Plug and Play (UPnP).

The OSGi specifications are based on Java. Although it's possible to emulate some OSGi services and interfaces, most OSGi gateways incorporate a Java Virtual Machine (JVM) and the OSGi Framework Java classes in addition to Java-based OSGi-compatible services. Java was chosen so that third-party services could be deployed in a platform-independent environment.

The OSGi specification spells out a number of required services as well as some standard optional services. The standard services include:

  • Java environment defines required packages, classes
  • Services Framework required API for creating, running services
  • Device Access Manager required API for accessing devices
  • Log Service required API for logging service
  • HTTP Service optional API for Web server

On-demand, dynamically loaded services are provided by the Device Access Manager. The Log Service collects events and notifies listeners when they're logged. The HTTP server supports the Java Servlet 2.1 (or higher) specification. Because gateways may provide access to devices and services using other communication protocols, the Web server is an optional service. One is normally employed when the client is a Web browser. The next revision of the OSGi specification will also address the following service interfaces:

  • Client access API for publishing service information
  • Configuration data API for managing configuration information
  • Persistent data API for storing and accessing persistent data

The client-access interface may allow creation of general OSGi clients. The configuration-data interface will standardize a mechanism for querying and changing gateway and device attributes. Initially, configuration is done using custom interfaces. The persistent-data interface lets OSGi gateways and devices store information in a location-independent fashion. This is especially important for devices with limited nonvolatile memory since it will allow data to be stored on another device on the network. These interfaces are in the process of being approved.

The OSGi framework is designed to tie together third-party services. A bundle provides one or more services, and bundle execution occurs in a bundle context. The services are Java classes, and the bundle is a Java archive (JAR) file. Java interfaces supply access to bundle services, and a standard set of interfaces and services are part of the OSGi framework. Eventually, OSGi will encompass application downloading, service updates, and more sophisticated management.

OSGi implementations are starting to appear, like emWare's (www.emware.com) Gatewayfx. It combines emWare's OSGi package with IBM's (www.ibm.com) J9 JVM and the QNX RTOS (www.qnx.com) running on an IBM PowerPC platform. Gatewayfx also includes support for emWare's Embedded Micro Internetworking Technology (EMIT). The EMIT support is an example of how OSGi supports proprietary protocols.

See associated figure

Sponsored Recommendations

TTI Transportation Resource Center

April 8, 2024
From sensors to vehicle electrification, from design to production, on-board and off-board a TTI Transportation Specialist will help you keep moving into the future. TTI has been...

Cornell Dubilier: Push EV Charging to Higher Productivity and Lower Recharge Times

April 8, 2024
Optimized for high efficiency power inverter/converter level 3 EV charging systems, CDE capacitors offer high capacitance values, low inductance (< 5 nH), high ripple current ...

TTI Hybrid & Electric Vehicles Line Card

April 8, 2024
Components for Infrastructure, Connectivity and On-board Systems TTI stocks the premier electrical components that hybrid and electric vehicle manufacturers and suppliers need...

Bourns: Automotive-Grade Components for the Rough Road Ahead

April 8, 2024
The electronics needed for transportation today is getting increasingly more demanding and sophisticated, requiring not only high quality components but those that interface well...

Comments

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