...
With a history stretching back more than a decade, the IGB project has very deep roots, and represents many years of coding effort. As the project has matured and gained traction in the community, the engineering effort behind the project has become increasingly sophisticated and professionalized. In recent years, there has been a major effort on the part of the IGB development team to adopt widely recognized software industry best practices in all phases of our software development life cycle. One particular area we have been focusing on is adopting a modular service based architecture using OSGi.
Why
...
use a modular services-based architecture?
Reduced Complexity
By refactoring our monolithic application into isolated "modules" of independent functionality we are able to greatly reduce its complexity. This reduction in complexity comes in many forms, but one of the more obvious reductions comes from simply reducing the number of considerations which must be dealt with at the same time. Just as with Objects in Object Oriented Programming objects in object oriented programming we apply the Single Responsibility Principle single responsibility principle to our modules. By working with the higher level of abstraction, we are able to more effectively manage our codebase.
...