Method and system for wrapping and componentizing javascript centric widgets using java components
First Claim
1. A method for providing a JavaScript wrapper framework divided between a client and a server for componentizing JavaScript centric widgets, the method comprising:
- receiving a request for a widget to be rendered on the client, the request including a tag that defines a plurality of tag attributes that distinctly identify the widget, the request received by a client runtime component executing on the client, the client runtime component configured to load the widget when a HTML page initially loads on the client;
forwarding the request to the server,the server identifying the widget based on the plurality of tag attributes received by a server-side component, the widget associated with a plurality of component resources; and
the server generating a JavaScript wrapper code for each of the plurality of component resources associated with the widget and for the widget identified at the server using the plurality of tag attributes, the generated JavaScript wrapper code used in wrapping the widget and the associated plurality of component resources of the widget to provide a customized widget, wherein the wrapping of the widget and the associated plurality of component resources is customized to distinctly identify the widget, the customization enabling the widget to be rendered multiple times on the HTML page at the client without conflicts;
receiving the wrapper code encompassing the widget and the associated plurality of component resources for the widget at the client; and
rendering the widget on the HTML page at the client during the initial HTML page load based on information provided by the associated plurality of component resources, the associated plurality of component resources defining behavior and style of the widget, wherein the rendering of the widget further includes injecting each of the plurality of component resources in an order at an appropriate location of the HTML page so that the component resources are evaluated in a global scope of the HTML page when rendered at the client, wherein the plurality of component resources includes at least a component resource from a service and wherein the service is an external service residing on a domain external to a web application domain associated with an application requesting the widget on the client, the external service is associated with a plurality of external component resources, the plurality of external component resources retrieved using a generic proxy residing on the server, the generic proxy configured to provide restricted access to the external service.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for providing a JavaScript wrapper framework divided between a client and a server for componentizing JavaScript centric widgets includes receiving a request for a widget to be rendered on the client by a client runtime component. The request includes a tag that defines a plurality of tag attributes. The tag and the tag attributes distinctly identify the widget. The request is forwarded to the server that identifies the widget and a plurality of component resources associated with the widget based on the tag attributes received from the client. A JavaScript wrapper code is generated to wrap the widget and the associated plurality of component resources. The wrapped widget and components are forwarded to the client for rendering. The wrapped widgets are rendered at an HTML page during the initial HTML page load based on the information provided by the associated component resources. The rendering of the components enables the component resources to be evaluated in the global scope of the HTML page.
73 Citations
17 Claims
-
1. A method for providing a JavaScript wrapper framework divided between a client and a server for componentizing JavaScript centric widgets, the method comprising:
receiving a request for a widget to be rendered on the client, the request including a tag that defines a plurality of tag attributes that distinctly identify the widget, the request received by a client runtime component executing on the client, the client runtime component configured to load the widget when a HTML page initially loads on the client; forwarding the request to the server, the server identifying the widget based on the plurality of tag attributes received by a server-side component, the widget associated with a plurality of component resources; and the server generating a JavaScript wrapper code for each of the plurality of component resources associated with the widget and for the widget identified at the server using the plurality of tag attributes, the generated JavaScript wrapper code used in wrapping the widget and the associated plurality of component resources of the widget to provide a customized widget, wherein the wrapping of the widget and the associated plurality of component resources is customized to distinctly identify the widget, the customization enabling the widget to be rendered multiple times on the HTML page at the client without conflicts; receiving the wrapper code encompassing the widget and the associated plurality of component resources for the widget at the client; and rendering the widget on the HTML page at the client during the initial HTML page load based on information provided by the associated plurality of component resources, the associated plurality of component resources defining behavior and style of the widget, wherein the rendering of the widget further includes injecting each of the plurality of component resources in an order at an appropriate location of the HTML page so that the component resources are evaluated in a global scope of the HTML page when rendered at the client, wherein the plurality of component resources includes at least a component resource from a service and wherein the service is an external service residing on a domain external to a web application domain associated with an application requesting the widget on the client, the external service is associated with a plurality of external component resources, the plurality of external component resources retrieved using a generic proxy residing on the server, the generic proxy configured to provide restricted access to the external service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
14. A system for providing a JavaScript wrapper framework for componentizing JavaScript centric widgets divided between a client and a server, the client and the server each having a processor to execute logic associated with the JavaScript wrapper framework, the system comprising:
-
a widget model on the client, the client having a processor and memory, to provide a component model for a widget, the widget model including a plurality of component resources that define a behavior and style of a widget so that the widget can be accessed by other components available at the client; a client runtime component on the client, the client runtime component including a tag having a plurality of tag-attributes that identifies the widget to be rendered on the client, the client runtime component configured to request the widget from the server using the plurality of tag-attributes, receive the widget having the plurality of component resources from the server, verify correctness of the plurality of component resources received from the server, render the widget on the client and to link the widget with other widgets on the client; and a server runtime on the server, the server having a processor and memory, the server runtime interfacing with the client runtime component on the client, the server runtime configured to; identify the widget on the server, the identified widget associated with the plurality of component resources; track and generate distinct JavaScript wrapper code for the widget and for each of the plurality of component resources associated with the widget; wrap the widget and the plurality of component resources associated with the widget available to the server in a customized manner using the generated JavaScript wrapper code, the customization allowing the widget to be rendered multiple times on an HTML page at the client without conflicts; serialize data associated with the plurality of component resources in the JavaScript wrapper code such that proper data associated with the plurality of component resources are forwarded to the client, wherein the JavaScript wrapper code includes the widget and the associated plurality of component resources of the widget with serialized data, the wrapping of the widget and the associated plurality of component resources is customized so as to allow replication of the widget at the client, the rendering of the widget further includes injecting each of the plurality of component resources in an order at an appropriate location of the HTML page rendered at the client so that the component resources are evaluated in a global scope of the HTML page when rendered at the client, wherein the plurality of component resources includes at least a component resource from a service and wherein the service is an external service residing on a web domain external to a web application domain associated with an application requesting the widget on the client, the external service is associated with a plurality of external component resources, the plurality of external component resources retrieved using a generic proxy component residing on the server, the generic proxy component configured to provide restricted access to the external service. - View Dependent Claims (15, 16, 17)
-
Specification