Declarative programming model for authoring and execution control and data flow for resource oriented system
First Claim
1. A method of issuing at least two operations on a data set accessible through a host according to a protocol, comprising:
- expressing the operations as a declarative resource script in a declarative script language comprising;
at least one declarative data set instruction applying a verb of the protocol to the data set, andat least one declarative flow control instruction configured to alter an execution flow of the declarative resource script according to a flow control operation selected from a flow control operation set comprising;
conditional executing of at least one operation;
relocating to a target operation of the declarative resource script;
iterative executing of at least one operation;
concurrent executing of at least two operations; and
asynchronous executing of at least one operation,wherein the declarative resource script comprises at least one declarative flow control instruction and at least two declarative data set instructions that, unless logically ordered by a declarative flow control instruction, may be executed in any logical order; and
interpreting the declarative resource script through a declarative script processor configured to perform operations on the data set by issuing the verbs of the protocol specified by the declarative data set instructions to the host.
2 Assignments
0 Petitions
Accused Products
Abstract
A data set may be managed by a host that provides access to clients through a protocol, such as a RESTful HTTP interface. A resource script may be expressed according to a script language featuring two types of instructions: data set instructions that correspond to the verbs of the protocol, and flow control instructions that alter the flow of execution of the resource script. At runtime, an execution context for the resource script may be selected as a local execution context (through a local script processor that issues protocol verbs to the host based on the data set operations) or a remote execution context (by sending the resource script to a script processor located on the host.) The runtime selection of data context may be executed without having to reconfigure the resource script, and with an equivalent effect on the data set.
91 Citations
20 Claims
-
1. A method of issuing at least two operations on a data set accessible through a host according to a protocol, comprising:
-
expressing the operations as a declarative resource script in a declarative script language comprising; at least one declarative data set instruction applying a verb of the protocol to the data set, and at least one declarative flow control instruction configured to alter an execution flow of the declarative resource script according to a flow control operation selected from a flow control operation set comprising; conditional executing of at least one operation; relocating to a target operation of the declarative resource script; iterative executing of at least one operation; concurrent executing of at least two operations; and asynchronous executing of at least one operation, wherein the declarative resource script comprises at least one declarative flow control instruction and at least two declarative data set instructions that, unless logically ordered by a declarative flow control instruction, may be executed in any logical order; and interpreting the declarative resource script through a declarative script processor configured to perform operations on the data set by issuing the verbs of the protocol specified by the declarative data set instructions to the host. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of executing at least two operations on a data set on behalf of a client, comprising:
-
receiving from the client a declarative resource script representing the at least two operations expressed in a declarative script language comprising; at least one declarative data set instruction applying a verb of a protocol to the data set, and at least one declarative flow control instruction configured to alter an execution flow of the declarative resource script according to a flow control operation selected from a flow control operation set comprising; conditional executing of at least one operation; relocating to a target operation of the declarative resource script; iterative executing of at least one operation; concurrent executing of at least two operations; and asynchronous executing of at least one operation, the declarative resource script comprising at least two declarative data set instructions and at least one declarative flow control instruction; and interpreting the declarative resource script by; for respective declarative data set instructions that are not logically ordered by a declarative flow control instruction, selecting a logical ordering of the declarative data set instructions; for respective declarative data set instructions, issuing to the host, according to the logical ordering, the verb of the protocol specified by the declarative data set instruction of the declarative resource script and specifying the data set; and altering the execution flow of the declarative resource script according to respective declarative flow control operations of the declarative resource script. - View Dependent Claims (14, 15, 16, 17, 19, 20)
-
-
18. A method of issuing at least two operations on a data set at least one resource represented in a deployable computing environment accessible through a host supporting a protocol comprising Hypertext Transport Protocol (HTTP) and comprising an HTTP endpoint, the method comprising:
-
displaying for a user a development environment configured to express declarative resource scripts according to a declarative script language; and upon receiving from the user at least two interactions specifying at least two operations, expressing the operations as a declarative resource script in a declarative script language comprising; at least one declarative data set instruction applying a verb of the protocol comprising HTTP POST, HTTP GET, HTTP PUT, and HTTP DELETE to the data set; and at least one declarative flow control instruction configured to alter an execution flow of the declarative resource script comprising at least one of; conditional executing of at least one operation, relocating to a target operation of the declarative resource script, iterative executing of at least one operation, concurrent executing of at least two operations, and asynchronous executing of at least one operation, the declarative resource script comprising at least one declarative data set instruction and at least one declarative flow control instruction; and upon receiving a request to interpret the declarative resource script; selecting an execution context; for respective declarative data set instructions that are not logically ordered by a declarative flow control instruction, selecting a logical ordering of the declarative data set instructions; interpreting the declarative resource script through a declarative script processor on the device configured to perform operations on the data set and according to the logical ordering by, for respective declarative data set operations, issuing the corresponding verb of the protocol to the host and specifying the data set; and upon selecting an execution context on the host; serializing the declarative resource script according to a wire protocol supported by the host to express a serialized declarative resource script; sending the serialized declarative resource script to a declarative script processor on the host configured to perform operations on the data set by issuing the verbs of the protocol specified by the declarative data set instructions to the host; and upon receiving from the host at least one declarative resource script response resulting from executing the declarative resource script, data binding at least one aspect of the device with the declarative resource script result.
-
Specification