Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Putting OSGi in context 19 The paint program isn't intended to be independently useful; rather, it's used to dem- onstrate common issues and best practices. From a functionality perspective, the paint program only allows the user to paint various shapes, such as circles, squares, and triangles. The shapes are painted in pre- defined colors. Available shapes are displayed as buttons in the main window's toolbar. To draw a shape, the user selects it in the toolbar and then clicks anywhere in the can- vas to draw it. The same shape can be drawn repeatedly by clicking in the canvas numerous times. The user can drag drawn shapes to reposition them. This sounds simple enough. The real value of using a visual program for demonstrating these con- cepts will become evident when we start introducing execution-time dynamism. We've finished our overview of the OSG i framework and are ready to delve into the details; but before we do, we'll put OSG i in context by discussing similar or related tech- nologies. Although no Java technology fills the exact same niche as OSG i, several tread similar ground, and it's worth understanding their relevance before moving forward. 1.4 Putting OSGi in context OSG i is often mentioned in the same breath with many other technologies, but it's in a fairly unique position in the Java world. Over the years, no single technology has addressed OSG i's exact problem space, but there have been overlaps, complements, and offshoots. Although it isn't possible to cover how OSG i relates to every conceivable