Thursday, Apr 5, 2018
OSGi technology is a set of specifications that define a dynamic component system for Java. These specifications enable a development model where an application is composed of several components which are packaged in bundles. Components communicate locally and across the network through services.
An application in this context represents the functionality desired by the organization. For example, an expense account reporting application or a payroll application. The goal is to make the application code as small as possible because that code is not reusable.
The most import measure of Complexity is the financial cost associated with software maintenance: i.e., the cost required to change a System.
A number of independent studies concur that software maintenance accounts for ~80% of the total lifetime cost of a software system: e.g., Erlikh, L. (2000) determined that 80% of software costs are concerned with evolution of the software.
These costs typically break down into the following activities:
Why is Modularity so Important? Modularity makes complexity manageable Modularity enables parallel work Modularity is tolerant of uncertainty By “tolerant of uncertainty” we mean that particular elements of a modular design may be changed after the fact and in unforeseen ways: see Design Rules, Volume 1 The Power of Modularity.
Techopedia defines modularity, from a software engineering perspective as referring
… to the extent to which a software/Web application may be divided into smaller modules.
OSGi, The Dynamic Module System for Java OSGi technology is composed of a set of specifications, implementations for each specification, and a set of test compatability kits 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.
New to OSGi? If you are developer that is new to OSGi and want to start by writing code then OSGi enRoute is the place for you.
OSGi enRoute is a project that provides a quick start for developers new to OSGi. Offering simple steps for you to get results fast it allows you to see how easy it can be to create stand-alone OSGi applications. The objective of enRoute is to give you a solid understanding of the basics of OSGi and provide an onramp for you to build modern, modular, maintainable software applications and systems.
Back to the top