1. A method in a data processing hardware system for extracting Web services from resources of various types using a programming model, the method comprising: receiving a request from a user for extraction of Web services from resources of various types; invoking a Web service parser of the programming model to parse the request to determine a type of each resource, wherein the programming model is extendable to accommodate additional resource types; and determining whether the resource comprises other resources based on the type of the resource wherein a get Web service entity method comprises examining a cache in the data processing hardware system and determining if the reference of the resource exists in the cache; wherein in response to determining the reference of the resource exists in the cache and returning an instance of Web service resource corresponding to the reference from the cache, the method further comprising creating a new instance of Web service resource and placing the new Web service resource instance in the cache.