Patent ID: 8001216

Claim:
A method for publishing to a registry of portlets, the method comprising: maintaining a plurality of producers, each producer having a service description handler responsible for providing a listing of portlets residing locally on that producer, and publication information associated with one or more portlets residing on that producer, wherein each producer is stored on a hardware computer readable storage medium; initiating a timer for periodically determining a change in the listing of portlet files by checking a status check function for each portlet in the listing of portlet files, said status check function indicating that one of the one or more portlets on one of the plurality of producers has been modified, deleted, or that a portlet has been created; detecting when the timer expires by the service description handler on each producer, the change in the listing of portlets; updating, for each producer, the listing of portlets to include the change in the listing of portlets; synchronizing the listing of portlets for each producer to a registry server, wherein the registry server includes the publication information for the listing of portlets, said publication information including a web service identifier that associates each of the one or more portlets to a particular producer; determining whether a failure occurred during synchronizing of the change in the listing of portlet files, wherein if it is determined the failure occurred, publication information for any portlets not successfully synchronized is stored locally for processing during subsequent synchronization of the listing of portlet files; publishing the registry server as a web service, said web service accessible via protocols that enable the registry server to be accessed by remote consumers, wherein each remote consumer has a registration value; searching the registry server for the one or more portlets that are located across the plurality of producers using search criteria based on the publication information associated with each one of the portlets, wherein searching the registry server includes receiving a service description request at the registry server requesting a particular portlet from one of the remote consumers, the particular portlet available at one of the plurality of producers; determining, by the producer having the particular portlet, whether the particular portlet is capable of being utilized remotely by the one of the remote consumers requesting the particular portlet, wherein determining includes comparing the registration value of the one of the remote consumers with the web service identifier of the particular portlet; receiving, in response to the service description request, the particular portlet when it is determined that the particular portlet is capable of being utilized remotely; and wherein the method is performed by one or more processors.