Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects
First Claim
1. In a computer system having multiple users, a method of managing accessibility to program code of a component-based server application by the multiple users, the method comprising:
- executing program code of a server application in a multi-tier architecture having a first tier of client application code for initiating processing by the server application in response to a user'"'"'s inputs, a middle tier of object-oriented server application code, and a third tier of shared access data and code;
upon receiving a request from a client application process of the first tier'"'"'s client application code to create a first object of the middle tier'"'"'s object-oriented server application code, initiating an activity associated to the client application process and associating the first object in the activity;
associating any objects of the object-oriented server application code of the middle tier that are created directly or indirectly by the first object in the activity; and
controlling flow of execution into the activity so as to limit access to the activity to the client application process, wherein objects of the middle tier'"'"'s object-oriented server application code are limited to single user access.
3 Assignments
0 Petitions
Accused Products
Abstract
A multi-tier server application architecture provides a simplified programming model of multiple user server applications that enhances programmer productivity. The multi-tier architecture comprises a client tier for client application code that initiates processing by the server application in response to user input, a middle tier of object-oriented server application code, and a database tier of shared access data and management code. A run-time environment for the object-oriented server application code limits access to instantiated objects of the middle tier server application code to a single one of the users. Objects in the middle tier that are instantiated to initiate processing for a particular user and grouped into a collection. The run-time environment manages the flow of execution into the collection such that the collection has only a single logical thread of execution and access by the client application code is exclusive to the particular user.
175 Citations
18 Claims
-
1. In a computer system having multiple users, a method of managing accessibility to program code of a component-based server application by the multiple users, the method comprising:
-
executing program code of a server application in a multi-tier architecture having a first tier of client application code for initiating processing by the server application in response to a user'"'"'s inputs, a middle tier of object-oriented server application code, and a third tier of shared access data and code; upon receiving a request from a client application process of the first tier'"'"'s client application code to create a first object of the middle tier'"'"'s object-oriented server application code, initiating an activity associated to the client application process and associating the first object in the activity; associating any objects of the object-oriented server application code of the middle tier that are created directly or indirectly by the first object in the activity; and controlling flow of execution into the activity so as to limit access to the activity to the client application process, wherein objects of the middle tier'"'"'s object-oriented server application code are limited to single user access. - View Dependent Claims (2, 18)
-
-
3. A computer-readable storage medium having stored thereon computer-executable program code operative, in a computer system having multiple users, to perform a method of managing accessibility to program code of a component-based server application by the multiple users, the method comprising the steps of:
-
executing program code of a server application in a multi-tier architecture having a first tier of client application code for initiating processing by the server application in response to a user'"'"'s inputs, a middle tier of object-oriented server application code, and a third tier of shared access data and code; and upon receiving a request from a client application process of the first tier'"'"'s client application code to create a first object of the middle tier'"'"'s object-oriented server application code, initiating an activity associated to the client application process and associating the first object in the activity; associating any objects of the object-oriented server application code of the middle tier that are created directly or indirectly by the first object in the activity; and controlling flow of execution into the activity so as to limit access to the activity to the client application process, wherein objects of the middle tier'"'"'s object-oriented server application code are limited to single user access. - View Dependent Claims (4)
-
-
5. In a computer system having multiple users, a method of providing a simplified programming model for server applications, the method comprising:
-
executing server application code in a multi-tier server application architecture wherein object-oriented server application code is limited to execution in a first tier, and shared database resources and managing code executes in a second tier; executing client application code in a third tier as separate client application processes per user, the client application code in a separate client application process providing a user interface to its respective user for initiating processing by the server application responsive to the user'"'"'s input; grouping created instances of objects of the object-oriented server application code on the first tier that are performing processing initiated by a client application process for its respective user into a collection pertaining to the user; and limiting access to the created instances of objects in the collection to only the client application process throughout such instances'"'"' lifetimes, wherein the objects in the first tier are limited to processing for a single one of the users.
-
-
6. A computer-readable storage medium having stored thereon computer-executable program code operative to perform a method in a computer system having multiple users of providing a simplified programming model for server applications, the method comprising:
-
executing server application code in a multi-tier server application architecture wherein object-oriented server application code is limited to execution in a first tier, and shared database resources and managing code executes in a second tier; executing client application code in a third tier as separate client application processes per user, the client application code in a separate client application process providing a user interface to its respective user for initiating processing by the server application responsive to the user'"'"'s input; grouping created instances of objects of the object-oriented server application code on the first tier that are performing processing initiated by a client application process for its respective user into a collection pertaining to the user; and limiting access to the created instances of objects in the collection to only the client application process throughout such instances'"'"' lifetimes, wherein the objects in the first tier are limited to processing for a single one of the users.
-
-
7. A method of controlling execution in a single user object tier of a server application running on at least one server computer of a distributed computing network to limit individual server application object instances in such tier to processing for but a single user, the method comprising:
-
on each request from any of a plurality of user-specific client processes to instantiate an object in the single user object tier, creating an instance of the client process-requested object and associating a client identifier indicative of the requesting client process with that just-created instance; on each request from any of a plurality of object instances in the single user object tier to instantiate an object in the single user object tier, creating an instance of the object-requested object and associating the requesting object instance'"'"'s client identifier with that just-created instance; and restricting calls into any object instance in the single user object tier to those in a call sequence originating from the client process indicated by the client identifier associated with that object instance. - View Dependent Claims (8)
-
-
9. A computer-readable storage medium having stored thereon computer-executable program code operative to perform a method of controlling execution in a single user object tier of a server application running on at least one server computer of a distributed computing network to limit individual server application object instances in such tier to processing for but a single user, the method comprising:
-
on each request from any of a plurality of user-specific client processes to instantiate an object in the single user object tier, creating an instance of the client process-requested object and associating a client identifier indicative of the requesting client process with that just-created instance; on each request from any of a plurality of object instances in the single user object tier to instantiate an object in the single user object tier, creating an instance of the object-requested object and associating the requesting object instance'"'"'s client identifier with that just-created instance; and restricting calls into any object instance in the single user object tier to those in a call sequence originating from the client process indicated by the client identifier associated with that object instance. - View Dependent Claims (10)
-
-
11. In a computer having multi-tasking computer-operating system code supporting execution of a plurality of threads, a method to implement concurrency isolation for preventing inadvertent parallelism in application components of an object-oriented code middle tier of a multi-tier client/server application architecture having a first tier of client program processes, the object-oriented code middle tier, and a third tier of shared access data and code, the method comprising:
-
grouping a subset of the application components of the second tier that are created directly or indirectly by an initiating client process to perform processing work for the initiating client process into an activity; and controlling execution flow into the subset of application components on the middle tier that are grouped in the activity such that concurrent execution in said subset is restricted to a single logical thread of execution originating with the initiating client process. - View Dependent Claims (12)
-
-
13. A computer-readable storage medium having stored thereon computer-executable program code operative in a computer having multi-tasking computer-operating system code supporting execution of a plurality of threads, to perform a method to implement concurrency isolation for preventing inadvertent parallelism in application components of an object-oriented code middle tier of a multi-tier client/server application architecture having a first tier of client program processes, the object-oriented code middle tier, and a third tier of shared access data and code, the method comprising:
-
grouping a subset of the application components of the second tier that are created directly or indirectly by an initiating client process to perform processing work for the initiating client process into an activity; and controlling execution flow into the subset of application components on the middle tier that are grouped in the activity such that concurrent execution in said subset is restricted to a single logical thread of execution originating with the initiating client process.
-
-
14. In a distributed computer system having multiple users, a computer operating environment for providing single user server application components, the computer operating environment comprising:
-
connectivity code for receiving a request of a client application process to create a component of a component-based server application; component creation code for creating the client-requested component in an activity pertaining to the client application process in response to the client application process'"'"'request, and for creating additional components of the component-based server application in the activity in response to requests of any component in the activity to create the additional component; and execution flow control code for restricting access to components in the activity to the client application process, wherein components of the component-based server application are limited to single user access. - View Dependent Claims (15, 16)
-
-
17. A computer-readable storage medium having computer-executable program code stored thereon of a server application for execution on at least one server computer in a distributed computer network, the server application accessed by multiple users at client stations in the distributed computer network, the server application having a multi-tier architecture comprising:
-
a single user access tier of object-oriented server application code for execution in a run-time environment operative to group object instances of the object-oriented server application code that are created directly or indirectly at request of a client process run at a client station of a single one of the users and to limit access to individual of said group of object instances of the object-oriented server application code to access from the client process of the single one of the users throughout the respective object instance'"'"'s lifetime; and a shared access tier of data and code to which object instances of the single user access tier accessible to different users have shared access.
-
Specification