1. A method of enabling a plurality of software components to communicate in a software component matrix environment, the method comprising, at a service locator: automatically identifying particular services provided by particular servers to generate a service directory which associates the particular servers with the particular services provided by the particular servers; determining an appropriate server of the particular servers for providing a specified service to a client; and identifying the appropriate server to the client.