IP Library Granted Patent US 7,908,286
Granted Patent B2
US 7,908,286 · App. 11/007,894 · Granted Mar 15, 2011

Techniques for providing XQuery access using web services

Assignee: Oracle International Corporation
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,908,286
App. No.
11/007,894
Granted
Mar 15, 2011
Kind
B2
Abstract

An XQuery access API is described, for providing access to XML data from a data source, using the XQuery language. A requestor can request, from a server, performance of an operation on XML data, wherein request messages and response messages conform to the Simple Object Access Protocol (SOAP). Request and response messages can be transmitted using Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol over Secure Socket Layer (HTTPS). The format of the request and response messages is specified in a definition of a Web service, where the definition conforms to the Web Service Description Language (WSDL).

Claims (79)

1. A method for a client to interface with a server, the method comprising:

at the client, making a plurality of application programming interface (API) calls to the server;

wherein each API call in the plurality of API calls requests the server to perform an action;

wherein making the plurality of API calls comprises:

for a first API call that requests a connection to the server:

creating a first client web service message to request the connection;

for a second API call that requests execution, by the server, of an expression that conforms to the XQuery language:

creating a second client web service message that encapsulates the expression that conforms to the XQuery language, wherein the expression specifies an XQuery operation to be performed on XML data; and

sending, via web service communications, the client web service messages to the server;

receiving, at the client, from the server, via web service communications, a server web service message;

wherein the server web service message contains a sequence of items:

wherein the sequence of items contains at least part of results from execution of the XQuery expression;

wherein execution of the XQuery expression comprises performance of the XQuery operation on the XML data;

wherein the method is performed by one or more computing devices.

2. The method of claim 1 , further comprising:

based at least in part on the sequence of items, generating a set of results;

wherein the step of generating comprises iterating over the sequence of items.

3. The method of claim 1 , wherein the web service messages conform to Simple Object Access Protocol (SOAP).

4. The method of claim 1 , wherein

the second client web service message conforms to a definition of a web service; and

the definition conforms to Web Service Description Language (WSDL).

5. The method of claim 2 , wherein the server web service message is a first server web service message and wherein the sequence of items is a first sequence of items, further comprising:

receiving, at the client, from the server, via web service communications, a second server web service message;

wherein the second server web service message contains a second sequence of items;

wherein the second sequence of items contains at least part of the results from execution of the XQuery expression;

wherein generating the set of results is further based on the second sequence of items; and

wherein the step of generating further comprises iterating over the second sequence of items.

6. The method of claim 2 , further comprising:

detecting whether the XQuery expression contains at least one external variable;

in response to detecting that the XQuery expression contains at least one external variable, examining the second API call to determine a bind value for each of the at least one external variable;

wherein the second client web service message further contains information that indicates a bind value for each of the at least one external variable in the XQuery expression; and

wherein the execution of the XQuery expression is performed using the bind value for each of the at least one external variable in the XQuery expression.

7. The method of claim 1 , wherein the server web service message is a first server web service message that contains an identifier associated with the state of the execution of the XQuery expression, the method further comprising:

sending, at the client, a third client web service message that contains a request;

wherein the request contains the identifier; and

wherein a second server web service message is received in response to the third client web service message that contains the request.

8. The method of claim 6 , wherein the second client web service message contains a request that the server maintain a state of execution of the XQuery expression.

9. A non-transitory computer-readable storage medium storing instructions for a client to interface with a server, the instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:

at the client, making a plurality of application programming interface (API) calls to the server;

wherein each API call in the plurality of API calls requests the server to perform an action;

wherein making the plurality of API calls comprises:

for a first API call that requests a connection to the server:

creating a first client web service message to request the connection;

for a second API call that requests execution, by the server, of an expression that conforms to the XQuery language:

creating a second client web service message that encapsulates the expression that conforms to the XQuery language, wherein the expression specifies an XQuery operation to be performed on XML data; and

sending, via web service communications, the client web service messages to the server;

receiving, at the client, from the server, via web service communications, a server web service message;

wherein the server web service message contains a sequence of items;

wherein the sequence of items contains at least part of results from execution of the XQuery expression;

wherein execution of the XQuery expression comprises performance of the XQuery operation on the XML data.

10. The non-transitory computer-readable storage medium of claim 9 , further comprising instructions for:

based at least in part on the sequence of items, generating a set of results;

wherein the step of generating comprises iterating over the sequence of items.

11. The non-transitory computer-readable storage medium of claim 9 , wherein the web service messages conform to Simple Object Access Protocol (SOAP).

12. The non-transitory computer-readable storage medium of claim 9 , wherein:

the second client web service message conforms to a definition of a web service; and

the definition conforms to Web Service Description Language (WSDL).

13. The non-transitory computer-readable storage medium of claim 10 , wherein the server web service message is a first server web service message and wherein the sequence of items is a first sequence of items, further comprising instructions for:

receiving, at the client, from the server, via web service communications, a second server web service message;

wherein the second server web service message contains a second sequence of items;

wherein the second sequence of items contains at least part of the results from execution of the XQuery expression;

wherein the instructions for generating the set of results are further based on the second sequence of items; and

wherein the instructions for generating further comprises instructions for iterating over the second sequence of items.

14. The non-transitory computer-readable storage medium of claim 10 , further comprising instructions for:

detecting whether the XQuery expression contains at least one external variable;

in response to detecting that the XQuery expression contains at least one external variable, examining the second API call to determine a bind value for each of the at least one external variable;

wherein the second client web service message further contains information that indicates a bind value for each of the at least one external variable in the XQuery expression; and

wherein the execution of the XQuery expression is performed using the bind value for each of the at least one external variable in the XQuery expression.

15. The non-transitory computer-readable storage medium of claim 9 , wherein the server web service message is a first server web service message that contains an identifier associated with the state of the execution of the XQuery expression, the computer-readable storage medium further comprising instructions for:

sending, at the client, a third client web service message that contains a request;

wherein the request contains the identifier; and

wherein a second server web service message is received in response to the third client web service message that contains the request.

16. The non-transitory computer-readable storage medium of claim 14 , wherein the second client web service message contains a request that the server maintain a state of execution of the XQuery expression.

17. The method of claim 1 , further comprising:

receiving, at the client, in response to the request, a state identifier that identifies a state of returning results for the XQuery expression;

sending, to the server, a client web service message that contains the state identifier.

18. The non-transitory computer-readable storage medium of claim 9 , further comprising instructions for:

receiving, at the client, in response to the request, a state identifier that identifies a state of returning results for the XQuery expression;

sending, to the server, a client web service message that contains the state identifier.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2004
From: KRISHNAPRASAD, MURALIDHAR; LIU, ZHEN HUA; MUTHIAH, KARUNA; LU, YING; WARNER, JAMES W.; ANGRISH, ROHAN; ARORA, VIKAS; MANIKUTTY, ANAND
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 016089/0237 →
Continuity (1)
Related Publication 20060122982A1 · Jun 8, 2006