IP Library Granted Patent US 7,437,740
Granted Patent B1
US 7,437,740 · App. 10/636,924 · Granted Oct 14, 2008

Generation of Java language application programming interface for an object-oriented data store

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,437,740
App. No.
10/636,924
Granted
Oct 14, 2008
Kind
B1
Abstract

An embodiment of the present invention is a technique to interface to a repository. A connection between a client and a repository database is established. The repository database has a repository application programming interface (API). The repository database contains objects related to a project management process. The repository API is communicated with to perform an operation based on parameters passed from the client via the connection. A return value associated with the operation is returned to the client.

Claims (96)

1. A computer implemented method comprising:

establishing a stateful connection between a client and a repository database having a repository application programming interface (API), the repository database containing objects, the connection being established by;

creating an instance of a repository component;

calling a remote method invocation (RMI) daemon;

calling a RMI registry to obtain connection information; and

creating a virtual machine to service connection calls using the connection information;

communicating with the repository API to perform an operation based on parameters passed from the client via the connection; and

returning a return value associated with the operation to the client.

2. The method of claim 1 wherein communicating comprises:

sending a document containing the parameters from the client to a repository dynamic link library (DLL) function;

parsing the document using the repository DLL function; and

calling a repository API function in the repository API to perform the operation.

3. The method of claim 2 wherein sending the document comprises:

sending the document from the client to the repository component;

sending the document from the repository component to the virtual machine using a RMI; and

sending the document from the virtual machine to a repository DLL function.

4. The method of claim 1 further comprises:

generating classes for the repository API.

5. The method of claim 4 wherein generating classes comprises:

parsing an XML document representing a model;

generating Java class files from the model;

generating C++ class files from the model; and

generating make files.

6. The method of claim 1 wherein creating an instance of a repository component comprises:

creating an instance of a repository Enterprise Java Bean (EJB).

7. The method of claim 1 wherein creating a virtual machine comprises:

creating a Java virtual machine (JVM).

8. The method of claim 2 wherein sending a document comprises:

sending an eXtensible Markup Language (XML) document, the XML document including at least one of a parameter list element and a return list element, the parameter list element including at least one of a single-valued parameter and a multi-valued parameter, the return list element including at least one of a single-valued return item, a multi-valued return item, and a notification list element.

9. The method of claim 1 wherein establishing comprises:

establishing the stateful connection between the client and the repository database containing the objects related to a project management process.

10. The method of claim 3 wherein sending the document from the virtual machine to a repository DLL function comprises:

sending the document from the virtual machine to a repository DLL function using a Java Native Interface (JNI) call.

11. An article of manufacture comprising:

a machine-accessible storage medium including data that, when accessed by a machine, causes the machine to perform operations comprising:

establishing a stateful connection between a client and a repository database having a repository application programming interface (API), the repository database containing objects, the connection being established by;

creating an instance of a repository component;

calling a remote method invocation (RMI) daemon;

calling a RMI registry to obtain connection information; and

creating a virtual machine to service connection calls using the connection information;

communicating with the repository API to perform an operation based on parameters passed from the client via the connection; and

returning a return value associated with the operation to the client.

12. The article of manufacture of claim 11 wherein the data causing the machine to perform communicating comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

sending a document containing the parameters from the client to a repository dynamic link library (DLL) function;

parsing the document using the repository DLL function; and

calling a repository API function in the repository API to perform the operation.

13. The article of manufacture of claim 12 wherein the data causing the machine to perform sending the document comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

sending the document from the client to the repository component;

sending the document from the repository component to the virtual machine using a RMI; and

sending the document from the virtual machine to a repository DLL function.

14. The article of manufacture of claim 12 wherein the data causing the machine to perform calling the repository API function comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

generating class files for use by the repository API function.

15. The article of manufacture of claim 14 wherein the data causing the machine to perform calling the repository API function further comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

parsing the generated class files.

16. The article of manufacture of claim 11 wherein the data causing the machine to perform creating an instance of a repository component comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

creating an instance of a repository Enterprise Java Bean (EJB).

17. The article of manufacture of claim 11 wherein the data causing the machine to perform creating a virtual machine comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

creating a Java virtual machine (JVM).

18. The article of manufacture of claim 12 wherein the data causing the machine to perform sending a document comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

sending an eXtensible Markup Language (XML) document, the XML document including at least one of a parameter list element and a return list element, the parameter list element including at least one of a single-valued parameter and a multi-valued parameter, the return list element including at least one of a single-valued return item, a multi-valued return item, and a notification list element.

19. The article of manufacture of claim 13 wherein the data causing the machine to perform establishing comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

establishing the stateful connection between the client and the repository database containing the objects related to a project management process.

20. The article of manufacture of claim 13 wherein the data causing the machine to perform sending the document from the virtual machine to a repository DLL function comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

sending the document from the virtual machine to a repository DLL function using a Java Native Interface (JNI) call.

21. A system comprising:

a processor; and

a memory coupled to the processor, the memory containing instructions that, when executed by the processor, causes the processor to:

establish a stateful connection between a client and a repository database having a repository application programming interface (API), the repository database containing objects, the connection being established by causing the processor to:

create an instance of a repository component;

call a remote method invocation (RMI) daemon;

call a RMI registry to obtain connection information; and

create a virtual machine to service connection calls using the connection information;

communicate with the repository API to perform an operation based on parameters passed from the client via the connection, and

return a return value associated with the operation to the client.

22. The system of claim 21 wherein the instructions causing the processor to communicate comprises instructions that, when executed by the processor, causes the processor to:

send a document containing the parameters from the client to a repository dynamic link library (DLL) function;

parse the document using the repository DLL function; and

call a repository API function in the repository API to perform the operation.

23. The system of claim 22 wherein the instructions causing the processor to send the document comprises instructions that, when executed by the processor, causes the processor to:

send the document from the client to the repository component;

send the document from the repository component to the virtual machine using a RMI; and

send the document from the virtual machine to a repository DLL function.

24. The system of claim 22 wherein the instructions causing the processor to call the repository API function comprises instructions that, when executed by the processor, causes the processor to:

generate class files for use by the repository API function.

25. The system of claim 22 wherein the instructions causing the processor to call the repository API function further comprises instructions that, when executed by the processor, causes the processor to:

parse the generated class files.

26. The system of claim 21 wherein the instructions causing the processor to create an instance of a repository component comprises instructions that, when executed by the processor, causes the processor to:

create an instance of a repository Enterprise Java Bean (EJB).

27. The system of claim 21 wherein the instructions causing the processor to create a virtual machine comprises instructions that, when executed by the processor, causes the processor to:

create a Java virtual machine (JVM).

28. The system of claim 22 wherein the instructions causing the processor to send a document comprises instructions that, when executed by the processor, causes the processor to:

send an eXtensible Markup Language (XML) document, the XML document including at least one of a parameter list element and a return list element, the parameter list element including at least one of a single-valued parameter and a multi-valued parameter, the return list element including at least one of a single-valued return item, a multi-valued return item, and a notification list element.

29. The system of claim 23 wherein the instructions causing the processor to establish comprises instructions that, when executed by the processor, causes the processor to:

establish the stateful connection between the client and the repository database containing the objects related to a project management process.

30. The system of claim 23 wherein the instructions causing the processor to send the document comprises instructions that, when executed by the processor, causes the processor to:

send the document from the virtual machine to a repository DLL function using a Java Native Interface (JNI) call.

Assignments (12)
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 →
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2012
From: UNISYS CORPORATION
To: GOOGLE INC.
Reel/Frame 028060/0908 →
RELEASE OF SECURITY INTEREST Recorded Feb 29, 2012
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: UNISYS CORPORATION
Reel/Frame 027784/0530 →
RELEASE OF SECURITY INTEREST Recorded Feb 29, 2012
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: UNISYS CORPORATION
Reel/Frame 027784/0701 →
RELEASE OF SECURITY INTEREST Recorded Feb 29, 2012
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: UNISYS CORPORATION
Reel/Frame 027784/0777 →
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 Aug 6, 2003
From: KOERBER, PAUL DONALD; SADHU, AVINASH
To: UNISYS CORPORATION
Reel/Frame 014377/0185 →