IP Library Granted Patent US 7,266,827
Granted Patent B1
US 7,266,827 · App. 10/679,635 · Granted Sep 4, 2007

Exposing an application object model to web-based clients via object model traversal

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,266,827
App. No.
10/679,635
Granted
Sep 4, 2007
Kind
B1
Abstract

Method and apparatus for exposing an application object model to web-based clients. The various embodiments involve parsing each HTTP-form-processing request received from a client by a web server. As the property names are obtained form the HTTP-form-processing request, the objects in the object model are traversed. When the end of the HTTP-form-processing request is reached and the object model is traversed, a selected property of a referenced object is returned to the client.

Claims (46)

1. A processor-implemented method for exposing an application object model to web-based clients, comprising:

parsing each hyper-text transport protocol (HTTP)-form-processing request received from a client by a web server;

traversing objects in the application object model in response to each property names obtained from the HTTP-form-processing request;

wherein traversing includes comparing a property name from the request to a property name of an object defined in the application object model;

for a reference-type property of an object found in traversing the application object model, generating a unique identifier for the reference-type property, registering the unique identifier for the reference-type property in a collection, and returning a Uniform Resource Identifier (URI) that includes the unique identifier to the client;

maintaining each identifier in the collection according to a lifetime type associated with each identifier, wherein a short-lifetime type reference is controlled by client access to the short-lifetime type reference, and a long-lifetime type reference is controlled by an application object; and

returning to the client a value of a selected property of an object in the application object model in response to traversal of the application object model.

2. The method of claim 1 , further comprising initiating execution of a method of an object in response to a method name obtained from an HTTP-form-processing request.

3. The method of claim 1 , further comprising:

creating an event queue in response to a first keyword obtained from an HTTP-form-processing request;

registering, in response to a second keyword obtained from an HTTP-form-processing request, with the application objects to receive events generated by the application objects;

entering the events in the event queue; and

returning events in the event queue to the client in response to a third keyword obtained from an HTTP-form-processing request.

4. The method of claim 1 , further comprising aborting parsing of an HTTP-form-processing request in response to an annotated property associated with a property name obtained from the HTTP-form-processing request.

5. The method of claim 1 , further comprising converting a character string parameter in an HTTP-form-processing request to a value having a data type compatible with a property of a property name obtained from the HTTP-form-processing request and setting the property of the object to the value.

6. The method of claim 1 , wherein the URI is a globally unique identifier (GUID).

7. The method of claim 1 , further comprising removing a short-lifetime type reference from the collection if a client does not submit an HTTP-forms-processing request containing the URI for a selected period of time.

8. The method of claim 7 , further comprising maintaining long-lifetime type reference in the collection until a referenced application object is removed.

9. The method of claim 1 , further comprising:

configuring the web server arrangement with an initial object name associated with a name of an application object model; and

retrieving an object definition of the initial object name in response to the name of the application object model obtained from an HTTP-form-processing request.

10. A computing arrangement for exposing objects to web-based clients, comprising:

a web server arrangement that includes a data processing system configured with a web server;

an application object model hosted by the web server, the application object model containing the objects to be exposed;

a web objects model hosted by the web server, the web objects model configured to parse each hyper-text transport protocol (HTTP)-form-processing request received from a client by a web server, traverse objects in the application object model in response to property names obtained from the HTTP-form-processing request, wherein traversing includes comparing a property name from the request to a property name of an object defined in the application object model, generate, for a reference-type property of an object found in traversing the application object model, a unique identifier for the reference-type property, registering the unique identifier for the reference-type property in a collection, and return a Uniform Resource Identifier (URI) that includes the unique identifier to the client, maintain each identifier in the collection according to a lifetime type associated with each identifier, wherein a short-lifetime type reference is controlled by client access to the short-lifetime type reference, and a long-lifetime type reference is controlled by an application object, and return to the client a selected property of an object in the application object model in response to traversal of the application object model.

11. The arrangement of claim 10 , wherein the web objects model is further configured to initiate execution of a method of an object in response to a method name obtained from an HTTP-form-processing request.

12. The arrangement of claim 10 , wherein the web objects model is further configured to initiate a method to create an event queue in response to a first keyword obtained from an HTTP-form-processing request, and initiate a method to register, in response to a second keyword obtained from an HTTP-form-processing request, with the application objects to receive events generated by the application objects, and return events in the event queue to the client in response to a third keyword obtained from an HTTP-form-processing request.

13. The arrangement of claim 10 , wherein the web objects model is further configured to abort parsing of an HTTP-form-processing request in response to an annotated property associated with a property name obtained from the HTTP-form-processing request.

14. The arrangement of claim 10 , wherein the web objects model is further configured to convert a character string parameter in an HTTP-form-processing request to a value having a data type compatible with a property of a property name obtained from the HTTP-form-processing request and set the property of the object to the value.

15. The arrangement of claim 10 , wherein the URI is a globally unique identifier (GUID).

16. The arrangement of claim 10 , wherein the web objects model is further configured to remove a short-lifetime type reference from the collection if a client does not submit an HTTP-forms-processing request containing the URI for a selected period of time.

17. The arrangement of claim 16 , wherein the web objects model is further configured to maintain long-lifetime type reference in the collection until a referenced application object is removed.

18. The arrangement of claim 10 , further comprising:

an initial object name associated with a name of an application object model in the web server; and

wherein the web objects model is further configured to retrieve an object definition of the initial object name in response to the name of the application object model obtained from an HTTP-form-processing request.

19. An apparatus for exposing an application object model to web-based clients, comprising:

one or more data processing systems;

means for parsing each hyper-text transport protocol (HTTP)-form-processing request received from a client by a web server process hosted on the one or more data processing systems;

means for traversing objects in the application object model in response to property names obtained from the HTTP-form-processing request and for comparing a property name from the request to a property name of an object defined in the application object model as part of the traversing; and

means for generating, for a reference-type property of an object found in traversing the application object model, a unique identifier for the reference-type property, registering the unique identifier for the reference-type property in a collection, and for returning a Uniform Resource Identifier (URI) that includes the unique identifier to the client;

means for maintaining each identifier in the collection according to a lifetime type associated with each identifier, wherein a short-lifetime type reference is controlled by client access to the short-lifetime type reference, and a long-lifetime type reference is controlled by an application object; and

means for returning to the client a selected property of an object in the application object model in response to traversal of the application object model.

20. The apparatus of claim 19 , further comprising:

means for creating an event queue in response to a first keyword obtained from an HTTP-form-processing request;

means for registering, in response to a second keyword obtained from an HTTP-form-processing request, with the application objects to receive events generated by the application objects; and

means for returning events in the event queue to the client in response to a third keyword obtained from an HTTP-form-processing request.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
PATENT SECURITY AGREEMENT (JUNIOR LIEN) Recorded Oct 13, 2009
From: UNISYS CORPORATION
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
Reel/Frame 023364/0098 →
PATENT SECURITY AGREEMENT (PRIORITY LIEN) Recorded Oct 12, 2009
From: UNISYS CORPORATION
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
Reel/Frame 023355/0001 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023086/0255 →
SECURITY AGREEMENT Recorded Jun 20, 2006
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
To: CITIBANK, N.A.
Reel/Frame 018003/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2003
From: SIEVERT, JAMES A.
To: UNISYS CORPORATION
Reel/Frame 014593/0719 →