A framework supporting component assembly for distributed systems
Guijun Wang, L. Ungar, D. Klawitter
Abstract
Guijun Wang, L. Ungar, D. Klawitter
Abstract
Software development by assembling pre-fabricated components faces different challenges from software development using programming language-level constructs. This is especially true for distributed software systems. In this paper, we briefly discuss these challenges and propose a solution. Our suggested solution advocates the separation of three levels of concern: the architectural level, the component level, and the distributed object infrastructure level. A framework is proposed to facilitate the transitions between the three levels of concern. In this framework a set of Ports and Links is designed to enable separation of core component functionality from intercomponent communications. Ports are erred to handle incoming/outgoing service requests or events; links are used to deal with communications using communication protocols or middleware. In particular, Links are specialized into various styles, including local style, CORBA IIOP style, Java RMI style, and TCP Socket style, and on the abstraction level, vary from plain links to autonomously intelligent links taking full advantages of services provided by specific middleware such as CORBA services. Due to this separation, the reusability of components is substantially increased and the flexibility of software systems composed from components can be improved. A JavaBeans implementation is described with the Property Descriptor and BeanInfo features of the JavaBeans extended to give explicit information about component boundary information, particularly the Ports.
OpenAlex reports 8 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Software development by assembling pre-fabricated components faces different challenges from software development using programming language-level constructs. This is especially true for distributed software systems. In this paper, we briefly discuss these challenges and propose a solution. Our suggested solution advocates the separation of three levels of concern: the architectural level, the component level, and the distributed object infrastructure level. A framework is proposed to facilitate the transitions between the three levels of concern. In this framework a set of Ports and Links is designed to enable separation of core component functionality from intercomponent communications. Ports are erred to handle incoming/outgoing service requests or events; links are used to deal with communications using communication protocols or middleware. In particular, Links are specialized into various styles, including local style, CORBA IIOP style, Java RMI style, and TCP Socket style, and on the abstraction level, vary from plain links to autonomously intelligent links taking full advantages of services provided by specific middleware such as CORBA services. Due to this separation, the reusability of components is substantially increased and the flexibility of software systems composed from components can be improved. A JavaBeans implementation is described with the Property Descriptor and BeanInfo features of the JavaBeans extended to give explicit information about component boundary information, particularly the Ports.
Key concepts: Common Object Request Broker Architecture, Computer science, Middleware (distributed applications), Separation of concerns, Component-based software engineering, Component (thermodynamics), JavaBeans, Reusability