Patent Document ID: 9058174
Application ID: 12906345

Base Claim:
1. A computer-implemented method to facilitate mashup web application development, based on a web widget registry, the computer-implemented method comprising: selecting a plurality of web widgets based on user input and for inclusion in a mashup web application to be accessed by a first computer, wherein each of the plurality of web widgets comprises an embeddable web application that retrieves data from a respective computer other than the first computer, wherein each web widget is uniquely identifiable via a widget identifier; accessing the web widget registry, which specifies: (i) dependencies between the plurality of web widgets; (ii) a mapping between web widgets and semantic tags; and (iii) for each of a plurality of distinct resource types, a producer list of web widgets producing the respective resource type, and a consumer list of web widgets consuming the respective resource type; programmatically wiring the plurality of web widgets by operation of one or more computer processors, based on a plurality of matches and without requiring any user input explicitly specifying which of the plurality of web widgets to wire together, thereby facilitating development of the mashup web application, wherein the plurality of matches includes at least three of: (i) a matching resource type; (ii) a matching semantic tag; (iii) a matching class; and (iv) a match between a producer and a consumer of the matching resource type; and upon determining that a cycle is present in the programmatically wired plurality of web widgets, resolving the determined cycle and storing an indication that the cycle is resolved.

---

Claim 2:
2. The computer-implemented method of claim 1 , wherein the plurality of widgets is wired by a widget manager module of the mashup web application, wherein the widget manager module is configured to, in generating the web widget registry, independently store each individual widget attribute selected from: (i) a description of a respective web widget; (ii) a resource produced by a respective web widget; (iii) a resource consumed by a respective web widget; and (iv) semantic tags associated with a respective web widget.