The reuse of existing software components for the engineering of complex distributed applications is today a key issue in industrial development projects. Encapsulation and interconnection of heterogeneous legacy components have actually been raised as very fundamental issues and partial solutions have been proposed to overcome them such as the use of Object Request Brokers (ORB). However, these approaches do not address some of the issues raised by the construction of a complex distributed application from heterogeneous legacy components. This paper presents a set of configuration tools which intend to assist the application designer in the various stages of the application development life-cycle. This work has been carried out within the Olan project whose main result is an Architecture Definition Language for distributed application engineering and its runtime environment.