Client container for building EJB-hosted java applications
First Claim
Patent Images
1. A computer-implemented method for executing a Java application on a client using data hosted on an EJB server, the method comprising:
- generating an object graph descriptor;
creating a light-weight object graph, based on the object graph descriptor, the light-weight object graph being a subset of a domain object graph on the EJB server;
transporting the light-weight object graph to the client;
executing the Java application on the client;
monitoring a plurality of method invocations performed on the client that interact with the light-weight object graph;
logging a subset of method invocations of the plurality of method invocations that result in a change to the light-weight object graph in a stack; and
persisting changes to the domain object graph on the EJB server.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method of minimizing the development cost and increasing the power of EJB-hosted Java applications is disclosed. The invention is a “client container” that extends the J2EE container paradigm to the rich client. The client container efficiently and transparently localizes certain parts of an EJB-hosted application into a client framework, where it can be easily accessed by the client application, and later re-persisted to the hosting EJB container.
105 Citations
52 Claims
-
1. A computer-implemented method for executing a Java application on a client using data hosted on an EJB server, the method comprising:
-
generating an object graph descriptor;
creating a light-weight object graph, based on the object graph descriptor, the light-weight object graph being a subset of a domain object graph on the EJB server;
transporting the light-weight object graph to the client;
executing the Java application on the client;
monitoring a plurality of method invocations performed on the client that interact with the light-weight object graph;
logging a subset of method invocations of the plurality of method invocations that result in a change to the light-weight object graph in a stack; and
persisting changes to the domain object graph on the EJB server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer program product residing on a computer-readable medium for use in creating a client container for interacting with an EJB server, the computer program product comprising:
-
first instructions for creating a light-weight object graph, based on an object graph descriptor, the light-weight object graph being a subset of a domain object graph on the EJB server;
second instructions for transporting the light-weight object graph to the client;
third instructions for monitoring a plurality of method calls performed on the client that interact with the light-weight object graph;
fourth instructions for logging in a stack a subset of method calls of the plurality of method calls that result in a change to the light-weight object graph; and
fifth instructions for persisting changes to the domain object graph on the EJB server. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer system for executing a Java application on a client using data hosted on an EJB server, the system comprising:
-
a first storage medium located on the EJB server, the first storage medium including a domain object graph consisting of a plurality of heavy-weight objects;
a servlet located on the EJB server, the servlet configured to execute computer code adapted to;
(i)create a light-weight object graph, based on an object graph descriptor, the light-weight object graph being a subset of the domain object graph; and
(ii)transport the light-weight object graph to the client;
a processor located on the client; and
a second storage medium located on the client, the second storage medium storing the light-weight object graph and computer code adapted to;
(i)execute the Java application; and
(ii)log a subset of method calls of the plurality of method calls that result in a change to the light-weight object graph;
- View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46)
-
-
41. A computer-implemented method for executing an application on a client using a domain object graph hosted on an EJB server, the method comprising:
-
generating an object graph descriptor identifying at least one root object and at least one degree of traversal from the root object;
creating a light-weight object graph, based on the object graph descriptor, the light-weight object graph being a subset of the domain object graph on the EJB server; and
transporting the light-weight object graph to the client. - View Dependent Claims (42, 43, 44)
-
-
47. A computer-implemented, object-oriented programming model for facilitating execution of an application on a client using data stored on an EJB server, the model including:
-
a foundational light-weight object class specifying a set of states and a set of behaviors associated with a set of light-weight objects;
at least one specific light-weight object class specifying a second set of states and set of behaviors associated with the specific light-weight object class, the specific light-weight object class inheriting from the foundational light-weight object class;
at least one instance of the at least one specific light-weight object class, the at least one instance including information corresponding to the first and second set of states; and
at least one entity bean including a third set of behaviors, the entity bean inheriting from the at least one instance.
-
-
48. A method of resolving changes between a light-weight object graph located on a client and a domain object graph located on an EJB server, the method comprising:
-
monitoring a plurality of method invocations performed on the client that interact with the light-weight object graph;
logging a subset of method invocations of the plurality of method invocations that result in a change to the light-weight object graph in a stack;
transporting the stack to the EJB server; and
executing the method calls on the domain object graph. - View Dependent Claims (49, 50, 51, 52)
-
Specification