% building applications by combining components: culminate in web services 

The possibilities currently offered to conduct business at an electronic level are immense. Service providers offer access to their attendances through components placed on the Internet; such components can be combined to build applications, which can themselves be used as components by further business units. The final leg of the way to this paradigm has been paved by the advent of service-oriented architectures in general, and Web Services in particular. 

% biggest problem: coordinating/finding appropriate components. many different schemes/models of finding components

With protocols existing for any parties to communicate, the most critical ingredient to the success of a business idea remains the task of choosing one's business partners. At a technical level, this translates to the issue of identifying \emph{which} components represent the most adequate services to build a final application.

% present a generic model of describing component queries, based on specifications of components, and its implementation

While each middleware technology and system proposed in the past has been described with its scheme for ``looking up'' components, this paper chooses the more difficult approach of trying to distill the fundamentals of component lookup. We propose a generic model of component lookup --- applicable to settings as diverse as tagged sets, classic white pages, or even method dispatch --- and its implementation. We illustrate our model through various examples of existing lookup schemes. It turns out that
in our generic context the common distinction between name-based and type-based lookup becomes rather artificial.


