Component Models and Technology
Jacky Estublier, Jean-Marie Favré · 2003
The many definitions of what a component is—and what it is not—often try to define a component in opposition either to object-oriented programming languages or to architecture description languages (ADLs). This chapter does not intend to provide yet another definition, but tries to clarify the situation showing the models of the different component technologies currently available in the industry: JavaBeans [1] , COM+ [2], CCM [3, 4], .NET [5, 6], and the Open Service Gateway Initiative (OSGI) [7]. A difficulty is that industrial component technologies focus on practical problems and are described in technical terms, thus providing many implementation details and making it difficult for users to understand concepts and principles. Available documentation is either oriented toward decision makers and provides mostly marketing arguments, or it is oriented toward programmers or tool implementers and includes pieces of code and complex API specifications. The ADL community, by contrast, has tried primarily to establish high-level concepts and principles and has produced many research papers. A large amount of work has been dedicated to the analysis and comparison of the different features proposed by the various ADLs [8].