System and method for dynamic runtime partitioning of model-view-controller applications
First Claim
1. A method for use in a client/server environment of generating a user-interactive application that is dynamically partitionable when deployed in the client/server environment, the method comprising the steps of:
- specifying that access to a model associated with the user-interactive application be performed through an application programming interface permitting location-independent allocation and access of model storage on the client and the server; and
specifying that access to view generating logic associated with the user-interactive application be performed through an application programming interface permitting location-independent allocation and access of view elements on the client and the server;
wherein partitioning of the user-interactive application is changeable during execution.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus for dynamic runtime partitioning of network-based client/server applications using a Model-View-Controller pattern are provided. Such dynamic partitioning is accomplished by requiring that the application specify: (i) that access to the Model be done through an application programming interface (API) which allows the system runtime to dynamically allocate and access Model storage on the client and/or server; and (ii) that access to the View be done through an API which allows the system runtime to dynamically allocate and access View components on the client and/or server. This enables applications written and tested in such a manner (referred to herein as the “canonical form”) to execute in a non-distributed mode or in a dynamically partitioned mode in which client/server issues are not a factor. This greatly facilitates development of the application. Furthermore, by specifying View components in an abstract, or “platform-independent” API, the application can run on multiple client devices without modifying the application. All that is required is a platform-specific implementation of the View components'"'"' API. Client platforms for the application can thus include, for example, applets, HTML browsers, and PDAs.
-
Citations
31 Claims
-
1. A method for use in a client/server environment of generating a user-interactive application that is dynamically partitionable when deployed in the client/server environment, the method comprising the steps of:
-
specifying that access to a model associated with the user-interactive application be performed through an application programming interface permitting location-independent allocation and access of model storage on the client and the server; and specifying that access to view generating logic associated with the user-interactive application be performed through an application programming interface permitting location-independent allocation and access of view elements on the client and the server; wherein partitioning of the user-interactive application is changeable during execution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. Apparatus for deploying a user-interactive application in a client/server environment, the apparatus comprising:
a server having at least one processor operative to execute at least a portion of the user-interactive application, wherein the user-interactive application;
(i) specifies that access to a model associated with the user-interactive application be performed through an application programming interface permitting location-independent allocation and access of model storage on a client device and the server; and
(ii) specifies that access to view generating logic associated with the user-interactive application be performed through an application programming interface permitting location-independent allocation and access of view components on the client device and the server, wherein partitioning of the user-interactive application is changeable during execution.- View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
20. Apparatus for deploying a user-interactive application in a client/server environment, the apparatus comprising:
-
a client device having at least one processor operative to execute at least a portion of the user-interactive application, wherein the user-interactive application;
(i) specifies that access to a model associated with the user-interactive application be performed through an application programming interface permitting location-independent allocation and access of model storage on the client device and the server; and
(ii) specifies that access to view generating logic associated with the user-interactive application be performed through an application programming interface permitting location-independent allocation and access of view components on the client device and the server;wherein partitioning of the user-interactive application is changeable during execution. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A network-based system:
-
a server having at least one processor responsive to a user-interactive application; and a client device having at least one processor responsive to the user-interactive application; wherein the user-interactive application;
(i) specifies that access to a model associated with the user-interactive application be performed through an application programming interface permitting location-independent allocation and access of model storage on the client device and the server; and
(ii) specifies that access to view generating logic associated with the user-interactive application be performed through an application programming interface permitting location-independent allocation and access of view components on the client device and the server; and
further wherein partitioning of the user-interactive application is changeable during execution.
-
-
30. An article of manufacture for use in a computing device environment of generating a user-interactive application that is dynamically partitionable when deployed, comprising a machine readable medium containing one or more programs which when executed implement the steps of:
-
specifying that access to a model associated with the user-interactive application be performed through an application programming interface permitting location-independent allocation and access of model storage in accordance with execution of the user-interactive application; and specifying that access to view generating logic associated with the user-interactive application be performed through an application programming interface permitting location-independent allocation and access of view components in accordance with execution of the user-interactive application; wherein partitioning of the user-interactive application is changeable during execution.
-
-
31. A method for use in a computing device environment of generating a user-interactive application that is dynamically partitionable when deployed, the method comprising the steps of:
-
providing an application programming interface such that access to a model associated with the user-interactive application is performed through the application programming interface, and wherein the application programming interface permits location-independent allocation and access of model storage in accordance with execution of the user-interactive application; and providing an application programming interface such that access to view generating logic associated with the user-interactive application is performed through the application programming interface, and wherein the application programming interface permits location-independent allocation and access of view components in accordance with execution of the user-interactive application; wherein partitioning of the user-interactive application is changeable during execution.
-
Specification