Abstract :
Components and component orientation is often depicted as the next step after object orientation. A huge number of proposals and implementations of component models, frameworks, and standards are available nowadays, leading to many different definitions of the term software component. Additionally often the terms component, object, object framework, are not clearly distinguished. Moreover, if a component is defined, the definitions often vary. To achieve a clear understanding what the core features of a software component are, we provide a classification framework to classify each of the proposed models, frameworks, or standards. The goal of this classification is to obtain a consolidated and clear definition of what a component constitutes. As our focus lies in the application of components in the business application domain, we also clearly indicate the differences and additional characteristics of business components to generic software components. In addition, we extend the classification framework. This extended classification framework serves as a basis for the characterization of existing component oriented approaches in the business domain, like Enterprise JavaBeans, SanFrancisco, or SAP Business Objects. Component orientation is actually enlisted to solve the core problems of software development, like reuse, better integration of legacy systems, or software complexity. Thus, often leading to improper use of the term component oriented. The extended classification framework allows identification of any lack of properties of a given approach that claims to be component oriented.
Keywords :
Java; business data processing; distributed object management; object-oriented programming; Enterprise JavaBeans; SAP Business Objects; SanFrancisco; business application domain; business components; business domain; classification framework; component model; component orientation; component oriented approaches; generic software components; legacy systems; object framework; object orientation; software complexity; software component; software development; Application software; Electrical capacitance tomography; Ferroelectric films; Information systems; Java; Nonvolatile memory; Programming; Proposals; Random access memory; Uniform resource locators;