O'Reilly logo

Building Modular Cloud Apps with OSGi by Paul Bakker, Bert Ertman

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 7. Architectural Capabilities

In this chapter, we will look at several important nonfunctional requirements and see how these are supported by the architecture that we discussed in the previous chapter. The main focus will be on a number of nontrivial system capabilities that are most affected by the nature of cloud computing, such as scalability. Obviously, there are many more nonfunctional capabilities than discussed in this chapter. We chose to leave out the nonfunctionals that are not any different when building traditional Java applications.

Maintainability

Maintainability is probably the system capability that benefits most from a modular architecture. Even very large code bases become understandable when divided in small isolated modules. We can change or completely replace implementations without having to worry that we break code that has a dependency on certain implementation classes rather than interfaces. As stated before, modularity is the ultimate agile tool.

Of course, we should be realistic and remember that there are many other aspects that influence maintainability. Even a highly modular system can be a maintenance nightmare if we have tangled, cyclic dependencies, no unit tests, and unreadable code, just to name few. Modularity is by no means an excuse to forget about other programming best practices. It does, however, give us maximum flexibility when it comes to replacing (pieces of) implementations.

Extensibility

Many systems require some kind of plug-in ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required