1. A method for discovering services available in a computing environment, comprising: in an application program executed on a computer: defining a discovery scope identifying a searchable query domain; defining a discovery filter comprising a simple filter and a rich filter, wherein the simple filter provides for expression of the searchable query domain by service type, service interface and/or service characteristics and the rich filter provides for expression of the searchable query domain using query semantics; and initiating a search request to a first application programming interface; in the first application programming interface: parsing the search request; retrieving service information corresponding to the requested discovery scope and discovery filter, wherein retrieving service information corresponding to the requested discovery score and discovery filter comprises querying a persistent data store service; and returning the service information to the application program.