OSGi, The Dynamic Module System for Java
OSGi technology is composed of a set of specifications, a reference implementation for each specification, and a set of compliance tests for each specification that together define a dynamic module system for Java. OSGi provides a vendor-independent, standards-based approach to modularizing Java software applications and infrastructure. Its proven services model enables application and infrastructure modules to communicate locally and distributed across the network, providing a coherent end-to-end architecture. OSGi specifications have been extensively field-tested and are ready to use. Currently on release 7, OSGi has provided a stable and evolvable technology platform for development for open source projects and commercial products for almost two decades.
Widely adopted, yet often unreported, OSGi is used in a broad array of open source and commercial products and solutions ranging from business and life critical applications through to the more mundane. Starting out in set top boxes and residential gateways OSGi has today been adopted for solutions in IoT, M2M, Smart Home, Telematics, Assisted Living, Healthcare, Automotive, Media, Control Systems, Energy Management, Smart Meters, Telecommunications, Enterprise Software Platforms and Robotics, to name a few.
OSGi significantly reduces complexity in almost all aspects of development: code is easier to write and test, reuse is increased, build systems become significantly simpler, deployment is more manageable, bugs are detected early, and the runtime provides an enormous insight into what is running.
The OSGi Alliance organization was originally named the “Open Services Gateway initiative” when the first specification was created for the residential gateway market in 1999. As the wide application of modularized Java became apparent, the acronym was replaced with the registered trademark “OSGi” to better represent the technology’s value. “Open Services Gateway initiative” is an obsolete name and should no longer be used.
Get started with OSGi. Reuse components to build and manage your highly complex systems. Make code easier to write, test and reuse. Manage dynamic deployment. Detect bugs earlier. Deploy remotely. Detect and solve problems you might not be aware of right now.
If you’re developing software in Java, then OSGi should be in your tool chest.
OSGi provides a modular architecture for today’s large-scale distributed systems as well as small, embedded applications and device networks. Building systems from in-house and off-the-shelf modules significantly increases the reuse of software products and solutions and extends their lifecycle, reducing development and maintenance expenses. The OSGi programming model realizes the promise of component-based systems.
OSGi technology is successful because it provides a very mature, field proven, component system that works in a large number of environments. The OSGi component system is used to build any type of application ranging from the simple to highly complex applications like IDEs, application servers, email systems, content management systems, application frameworks, residential gateways and onboard telematics systems. OSGi has enjoyed wide adoption across a broad range of industries and uses including IoT, M2M, Smart Home, Telematics, Assisted Living, Healthcare, Automotive, Media, Control Systems, Energy Management, Smart Meters, Telecommunications, Enterprise Software Platforms and Robotics.
Make OSGi Work for You
Vertical and cross-industry needs are served through Expert Groups (EGs) that tailor the platform without compromising the integrity of the OSGi architecture. Members propose and establish charters for new EGs with approval by the OSGi Board of Directors.
You want to use your preferred protocol with OSGi? OSGi members create specifications for new protocols. Expert Groups are always working on a range of new initiatives and are are keen for new participants to join and help contribute to the future specifications.
Get certified or prove your OSGi compliance or skills. OSGi members offer training courses and the Alliance offers OSGi certification tests, the OSGi Enabled mark for your products and services and also individual Developer Certification.