Method and apparatus for dynamically rendering components at run time
First Claim
1. A computer implemented method for dynamically rendering a component at run time, comprising:
- receiving a rendering request, said rendering request comprising an indication of a particular component instance to be rendered;
accessing, based upon said indication of said particular component instance, a set of metadata associated with said particular component instance, said metadata comprising information which may be used to determine a format for said particular component instance but which does not specify a predetermined layout for said particular component instance;
dynamically determining, at run time, a format for said particular component instance based upon said metadata, said format comprising a dynamically determined layout; and
dynamically rendering said particular component instance at run time in accordance with said format.
2 Assignments
0 Petitions
Accused Products
Abstract
A mechanism is provided for dynamically rendering a component instance at run time. According to the invention, a rendering engine is provided for each type of component that can be rendered, and each engine is responsible for rendering all instances of that component type. When it comes time to render a component instance, the rendering engine associated with that instance is invoked. When invoked, the rendering engine receives a set of metadata associated with the component instance, which specifies the attribute values for that instance. Based upon the metadata, the rendering engine determines, at run time, a format for the instance, and renders the instance in accordance with the determined format. By rendering the instance at run time based purely upon metadata, the present invention makes it possible to store only the metadata associated with the instance. Unlike the prior art, it is not necessary to store a component as a large static entity. As a result, the present invention requires less storage. Rendering the component instance using metadata also simplifies the management and maintenance of the components. Rather than managing a large number of static entities, only the metadata associated with the components needs to be managed. In addition, the present invention significantly reduces code redundancy (since code is centralized to the rendering engine). Overall, dynamically rendering components in accordance with the present invention leads to greater system efficiency.
-
Citations
29 Claims
-
1. A computer implemented method for dynamically rendering a component at run time, comprising:
-
receiving a rendering request, said rendering request comprising an indication of a particular component instance to be rendered;
accessing, based upon said indication of said particular component instance, a set of metadata associated with said particular component instance, said metadata comprising information which may be used to determine a format for said particular component instance but which does not specify a predetermined layout for said particular component instance;
dynamically determining, at run time, a format for said particular component instance based upon said metadata, said format comprising a dynamically determined layout; and
dynamically rendering said particular component instance at run time in accordance with said format. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
generating at run time one or more display pages in accordance with said format, said one or more display pages being generated in a form understood by a client running a browser; and
sending said one or more display pages to the client for display to a user.
-
-
5. The method of claim 4, wherein said one or more display pages are generated in Hypertext Markup Language (HTML).
-
6. The method of claim 4, wherein rendering further comprises:
implementing functionality specified by said metadata.
-
7. The method of claim 1, wherein rendering comprises:
-
determining a set of user preferences associated with a user submitting said rendering request; and
rendering said particular component instance in accordance with said format and said user preferences such that said particular component instance is customized for the user.
-
-
8. The method of claim 1, wherein rendering comprises:
-
determining a set of client preferences associated with a client used to submit said rendering request; and
rendering said particular component instance in accordance with said format and said client preferences such that said particular component instance is customized for the client.
-
-
9. The method of claim 1, wherein said particular component instance is of a particular type, and wherein determining and rendering are carried out by a generic rendering engine which is responsible for rendering all instances of said particular type of component.
-
10. The method of claim 9, wherein said generic rendering engine comprises one or more stored procedure in a database management system.
-
11. The method of claim 1, wherein the following are performed prior to receiving said rendering request:
-
receiving a request from a user to define said particular component instance;
prompting the user for input to specify said metadata;
receiving said metadata from the user; and
storing said metadata in association with said particular component instance, thereby enabling the user to define said particular component instance without writing any computer program instructions.
-
-
12. The method of claim 11, wherein receiving a request from a user, prompting the user, receiving said set of metadata, and storing said set of metadata are carried out by a generic builder engine.
-
13. The method of claim 12, wherein said generic builder engine comprises one or more stored procedures in a database management system.
-
14. An apparatus for dynamically rendering a component at run time, comprising:
-
a mechanism for receiving a rendering request, said rendering request comprising an indication of a particular component instance to be rendered;
a mechanism for accessing, based upon said indication of said particular component instance, a set of metadata associated with said particular component instance, said metadata comprising information which may be used to determine a format for said particular component instance but which does not specify a predetermined layout for said particular component instance;
a mechanism for dynamically determining, at run time, a format for said particular component instance based upon said metadata, said format comprising a dynamically determined layout; and
a mechanism for dynamically rendering said particular component instance at run time in accordance with said format. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
a mechanism for generating at run time one or more display pages in accordance with said format, said one or more display pages being generated in a form understood by a client running a browser; and
a mechanism for sending said one or more display pages to the client for display to a user.
-
-
18. The apparatus of claim 17, wherein said one or more display pages are generated in Hypertext Markup Language (HTML).
-
19. The apparatus of claim 14, wherein the mechanism for rendering comprises:
-
a mechanism for determining a set of user preferences associated with a user submitting said rendering request; and
a mechanism for rendering said particular component instance in accordance with said format and said user preferences such that said particular component instance is customized for the user.
-
-
20. The apparatus of claim 14, wherein the mechanism for rendering comprises:
-
a mechanism for determining a set of client preferences associated with a client used to submit said rendering request; and
a mechanism for rendering said particular component instance in accordance with said format and said client preferences such that said particular component instance is customized for the client.
-
-
21. The apparatus of claim 14, further comprising:
-
a mechanism for receiving a request from a user to define said particular component instance;
a mechanism for prompting the user for input to specify said metadata;
a mechanism for receiving said metadata from the user; and
a mechanism for storing said metadata in association with said particular component instance, thereby enabling the user to define said particular component instance without writing any computer program instructions.
-
-
22. A computer readable medium having stored thereon a set of instructions, which when executed by one or more processors, causes the one or more processors to dynamically generate a component, said computer readable medium comprising:
-
instructions for causing one or more processors to receive a rendering request, said rendering request comprising an indication of a particular component instance to be rendered;
instructions for causing one or more processors to access, based upon said indication of said particular component instance, a set of metadata associated with said particular component instance, said metadata comprising information which may be used to determine a format for said particular component instance but which does not specify a predetermined layout for said particular component instance;
instructions for causing one or more processors to dynamically determine, at run time, a format for said particular component instance based upon said metadata, said format comprising a dynamically determined layout; and
instructions for causing one or more processors to dynamically render said particular component instance at run time in accordance with said format. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
instructions for causing one or more processors to generate at run time one or more display pages in accordance with said format, said one or more display pages being generated in a form understood by a client running a browser; and
instructions for causing one or more processors to send said one or more display pages to the client for display to a user.
-
-
26. The computer readable medium of claim 25, wherein said one or more display pages are generated in Hypertext Markup Language (HTML).
-
27. The computer readable medium of claim 22, wherein said instructions for causing one or more processors to render comprises:
-
instructions for causing one or more processors to determine a set of user preferences associated with a user submitting said rendering request; and
instructions for causing one or more processors to render said particular component instance in accordance with said format and said user preferences such that said particular component instance is customized for the user.
-
-
28. The computer readable medium of claim 22, wherein said instructions for causing one or more processors to render comprises:
-
instructions for causing one or more processors to determine a set of client preferences associated with a client used to submit said rendering request; and
instructions for causing one or more processors to render said particular component instance in accordance with said format and said client preferences such that said particular component instance is customized for the client.
-
-
29. The computer readable medium of claim 22, further comprising:
-
instructions for causing one or more processors to receive a request from a user to define said particular component instance;
instructions for causing one or more processors to prompt the user for input to specify said metadata;
instructions for causing one or more processors to receive said metadata from the user; and
instructions for causing one or more processors to store said metadata in association with said particular component instance, thereby enabling the user to define said particular component instance without writing any computer program instructions.
-
Specification