The web, as it transitions from documents to programs, needs to provide infrastructural support for distributed computing. Distributed web applications are likely to be composed of a large number of components that are globally distributed, and richly connected by various kinds of bindings. A system that is composed of statically bound components is brittle, hard to assemble, and potentially inefficient. Web computing can benefit from an infrastructure that facilitates the dynamic composition of components to constitute larger applications.
Trading provides a simple, widely used paradigm that can facilitate web computing.
In a trader-based architecture, a client component that requires a particular service can query an intelligent matchmaking agent called a trader , for handles to available components that provide the desired kind of service. The client component then dynamically binds to the server whose handle is returned by the trader. Service components make themselves known to the trader by publishing their capabilities to the trader. Traders are analogous to search engines, except that they are specialized to help programs discover other programs rather than for people to discover information. The benefits of traders in component-based architectures can be motivated by analogy to how search engines benefit people.