IP Library Granted Patent US 10,565,027
Granted Patent B2
US 10,565,027 · App. 15/858,311 · Granted Feb 18, 2020

Extensible service execution framework with data mapping architecture

Inventors: Satyapal P. Reddy (Fremont, CA); Muthukumarappa Jayakumar (Mountain House, CA); Ravikumar Meenakshisundaram (Pleasanton, CA)
Assignee: Open Text Corporation
G06F9/541G06F9/44521G06F9/547H04L67/02
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 10,565,027
App. No.
15/858,311
Granted
Feb 18, 2020
Kind
B2
Abstract

A system can comprise a device processor and a memory coupled to the device processor and configured to provide the processor with instructions to: receive a request from a first caller to invoke a software service; automatically obtain an input data mapping expression that is based on a first context tree of a first data model, and based on a current context during execution; evaluate the input data mapping expression to map input data from a first caller context to a service context of the software service; place the mapped input data into a service data consumer object for use by the software service; and invoke the software service to process the mapped input data.

Claims (64)

1. A system, comprising:

a device processor; and

a memory coupled to the device processor and configured to provide the device processor with a set of instructions to, at run-time:

based at least in part on a request from a first caller to initialize a software service, create an input mapper object based at least in part on a service binding configuration for the software service, the input mapper object configured to execute an input data mapping rule to map data from a first caller context to a service context of the software service, the input data mapping rule comprising an input data mapping expression based on a first context tree of a first data model;

receive a request from the first caller to invoke the software service to process a first set of input data;

in response to the request by the first caller to invoke the software service:

create a service binding data consumer object based at least in part on the service binding configuration, the service binding data consumer object configured to set values for use by the software service;

evaluate, by the input mapper object, the input data mapping expression based on a current context to map the first set of input data to mapped input data, the input data mapping expression specifying a mapping of the first set of input data from one logical data source to another logical data source;

place the mapped input data into the service binding data consumer object for use by the software service; and

invoke the software service to process the mapped input data, wherein invoking the software service comprises passing a parameter for the service binding data consumer object that has the mapped input data.

2. A system as recited in claim 1 , wherein evaluating the input data mapping expression comprises executing the input data mapping expression.

3. A system as recited in claim 1 , wherein the set of instructions further comprises instructions to:

create an output data mapper object based at least in part on the service binding configuration, the output data mapper object configured to execute an output data mapping rule to map data from the service context to a first recipient context, the output data mapping rule comprising an output data mapping expression;

create a service binding data producer object configured to get output data according the service context of the software service;

and

after invoking the software service, evaluate the output data mapping expression to map output data from service binding data producer object to mapped output data according to the first recipient context.

4. A system as recited in claim 3 , wherein the set of instructions further comprises instructions to:

place the mapped output data into a process variable for use by a first recipient.

5. A system as recited in claim 3 , wherein the service binding data producer object is configured to enable getting values from a data tree.

6. A system as recited in claim 1 , wherein

the service binding data consumer object is configured to enable setting values in a data tree according to the service context.

7. A system as recited in claim 1 , wherein the set of instructions further comprises instruction to:

receive a service description associated with the software service during a tooling stage, wherein the tooling stage is performed at design-time before the run-time.

8. A system as recited in claim 7 , wherein the set of instructions further comprises instructions to:

automatically determine at the tooling stage the input data mapping rule at least in part by transforming the service description and associate, with the service description, at least an indication of executable instructions for mapping between the first caller context and the service context, the input data mapping rule based on the first context tree of the first data model.

9. A system as recited in claim 8 , wherein the set of instructions further comprises instructions to:

automatically determine at the tooling stage an output data mapping rule that maps output data from the service context to a second caller context based on a second context tree of a second data model.

10. A system, comprising:

a device processor; and

a memory coupled to the device processor and configured to provide the device processor with a set of instructions to, at a run-time:

based at least in part on a request from a first caller to initialize a software service, create an input mapper object based at least in part on a service binding configuration for the software service, the input mapper object configured to execute an input data mapping rule to map data from a first caller context to a service context of the software service, the input data mapping rule comprising an input data mapping expression based on a first context tree of a first data model;

in response to a request from the first caller to invoke the software service to process a first set of input data:

create a service binding data consumer object based at least in part on the service binding configuration, the service binding data consumer object configured to set values for use by the software service;

evaluate, by the input mapper object, the input data mapping expression based on a current context to map the first set of input data to mapped input data, the input data mapping expression specifying a mapping of input data from one logical data source to another logical data source;

store the mapped input data for use by the software service by setting one or more values in a data tree using the service binding data consumer object; and

invoke the software service to process the mapped input data, wherein invoking the service binding data consumer object comprises passing a parameter for the service binding data consumer object that has the mapped input data.

11. A system as recited in claim 10 , wherein the set of instructions further comprises instructions to:

create an output data mapper object based at least in part on the service binding configuration, the output data mapper object configured to execute an output data mapping rule to map data from the service context to a first recipient context, the output data mapping rule comprising an output data mapping expression;

create a service binding data producer object configured to get output data according the service context of the software service;

and

after invoking the software service, evaluate the output data mapping expression to map output data from the service binding data producer object to mapped output data according to the first recipient context.

12. A system as recited in claim 11 , wherein the set of instructions further comprises instructions to:

place the mapped output data into a process variable for use by a first recipient.

13. A system as recited in claim 10 , wherein

the service binding data consumer object is configured to enable setting the one or more values in the data tree.

14. A system as recited in claim 10 , wherein the set of instructions further comprises instructions to:

receive a service description associated with the software service during a tooling stage, wherein the tooling stage is performed at design-time before the run-time.

15. A system as recited in claim 14 , wherein the set of instructions further comprises instructions to:

automatically determine at the tooling stage the input data mapping rule at least in part by transforming the service description and associate, with the service description, at least an indication of executable instructions for mapping between the first caller context and the service context, the input data mapping rule based on the first context tree of the first data model.

16. A system as recited in claim 15 , wherein the set of instructions further comprises instructions to:

automatically determine at the tooling stage an output data mapping rule that maps output data from the service context to a second caller context based on a second context tree of a second data model.

17. A non-transitory computer readable storage medium storing computer instructions for, during a run-time:

based at least in part on a request from a first caller to initialize a software service, creating an input mapper object based at least in part on a service binding configuration for the software service, the input mapper object configured to execute an input data mapping rule to map data from a first caller context to a service context of the software service, the input data mapping rule comprising an input data mapping expression based on a first context tree of a first data model;

receiving a request from the first caller to invoke the software service to process a first set of input data;

in response to the request from the first caller to invoke the software service:

creating a service binding data consumer object based at least in part on the service binding configuration, the service binding data consumer object configured to set values for use by the software service;

evaluating, by the input mapper object, the input data mapping expression based on a current context to map the first set of input data to mapped input data, the input data mapping expression specifying a mapping of input data from one logical data source to another logical data source;

placing the mapped input data into the service binding data consumer object for use by the software service; and

invoking the software service to process the mapped input data, wherein invoking the software service comprises passing a parameter for the service binding data consumer object that has the mapped input data.

18. The non-transitory computer readable storage medium of claim 17 , further comprising computer instructions for receiving a service description associated with the software service during a tooling stage, wherein the tooling stage is performed at design-time before the run-time.

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

automatically determining at the tooling stage the input data mapping rule at least in part by transforming the service description and associating, with the service description, at least an indication of executable instructions for mapping between the first caller context and the service context, the input data mapping rule based on the first context tree of the first data model.

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

automatically determining at the tooling stage an output data mapping rule that maps output data from the service context to a second caller context based on a second context tree of a second data model.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2018
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 044528/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2017
From: REDDY, SATYAPAL P.; JAYAKUMAR, MUTHUKUMARAPPA; MEENAKSHISUNDARAM, RAVIKUMAR
To: EMC CORPORATION
Reel/Frame 044506/0611 →
Continuity (3)
Continuation 15132105 · Apr 18, 2016
Continuation 14135513 · Dec 19, 2013
Related Publication 20180121262A1 · May 3, 2018