In today's software engineering practices, building applications from components is the ongoing trend. What can be noticed however is that there really is not a clear consensus about the definition of components, and instead in the literature we find many definitions of what components are. This renders a comparison between component models difficult. However, it is possible to compare different component models over a list of characteristics that several authors agree that they should be found in a component model. In this article, Sun’s JavaBeans and the Open Services Gateway Initiative's framework (OSGi) are compared. These are two technologies that target very different types of applications. Their study reveals, however, that both technologies cover, at different levels, a set of important features that characterize components. It also reveals that these component models are in some ways complementary. The paper concludes by giving a proposal to integrate these two te...