J.H. Fröhlich, M. Schwarzinger: Servicing Components with Connector Systems, .NET Technologies 2006, ISBN 80-86943-10-0, Plzen, May 29 - June 1, 2006.


Interfaces bind components at dedicated points. Usually, despite their central role, interfaces are packed either with functionality-implementing components (call interfaces) or with functionality-using components (callback interfaces). Components that reference other components in order to implement or to use interfaces are directly coupled. This kind of coupling affects component implementations: integration of component services leads to implementations that are dependent on the component container or to a multiplication of implementation efforts. We propose connectors as a mechanism to completely decouple components from each other and from their underlying component container. Connectors are special-purpose components that isolate component interfaces. Connectors optionally provide services to communicating components, e.g., checking bidirectional communication protocols (operation call sequences and data flows), exchanging components during run time, and parallelizing or synchronizing service requests in a non-intrusive manner. This frees components to focus on their core business. Connectors foster the standardization of interfaces, accelerate the development of components, improve the testability, portability and maintainability of component-based programs, and hence promote component markets. .NET provides an almost ideal implementation basis.