Component Based Architectures

Software reusability: myth or reality?
The concepts of design for reusability and design for extensibility have been covered by many books in the last fifteen years. However, when it comes to the Java Enterprise application we develop and use every day, how many times have we seen these ideas translated in a clean, easy and working architecture?

There are many reasons why applications end up being monolithic, hardly maintainable and impossible to reuse: time constraints, customer specific business logic, developer turnover are the usual suspects. However, the most important reasons are the lack of proper tools and of a disciplined methodology to enforce modularity. The adoption of a real, industry-proven dynamic module system for the Java platform like OSGi is the first step towards building real modular architectures that can be reused in your projects or in your line of products.

Besides real-world software reuse, a dynamic modular architectures brings many advantages: