Distributed component technologies and their software engineering implications

In this state-of-the-art report, we review advances in distributed component technologies, such as the Enterprise JavaBeans (EJB) specification and the CORBA component model (CCM). We assess the state of industrial practice in the use of distributed components. We show several architectural styles for whose implementation distributed components have been used successfully. We review the use of iterative and incremental development processes and the notion of a model-driven architecture. We then assess the state of the art in research into novel software engineering methods and tools for the modelling, reasoning and deployment of distributed components. The open problems identified during this review result in the formulation of a research agenda that will contribute to the systematic engineering of distributed systems based on component technologies.