TRANSFORMATIONAL CONTEXT-AWARE DATA SOURCE MANAGEMENT
First Claim
1. A process for cooperatively managing a source code and multiple alternative computational data sources, the process comprising the steps of:
- obtaining a data source mapping in which a particular data source identifier is mapped to a plurality of data sources at respective execution targets;
receiving a developer source code which recites the data source identifier as a data source;
identifying a first execution target;
automatically producing from the developer source code a first executable code which upon execution in the first execution target will operate with the first execution target'"'"'s mapped data source as the data source identified by the data source identifier;
identifying a second execution target having a different data source than the first execution target; and
automatically producing from the same source code a second executable code which upon execution in the second execution target will operate with the second execution target'"'"'s mapped data source as the identified data source instead of the first execution target'"'"'s data source.
2 Assignments
0 Petitions
Accused Products
Abstract
Porting between local, cluster, and cloud execution is aided by using the same source code for multiple data sources. A data source identifier recited in source code maps to data sources at different execution targets. Executable codes tailored to successive targets are produced using a resolution API without changing the developer'"'"'s source code. An editable data source mapping is per-project, maintained in a file or project property, and placed in a distributable software package with executable code. Burdens on developers to determine execution targets in their source code and explicitly handle different execution locations in the source code are reduced. Source code can be freed of absolute path data source identifiers or code for detecting execution location. Source-to-source translation injects calls to create a folder, file, or cloud container. Data source resolution can be based on a relative path rooted at the data source identifier.
103 Citations
20 Claims
-
1. A process for cooperatively managing a source code and multiple alternative computational data sources, the process comprising the steps of:
-
obtaining a data source mapping in which a particular data source identifier is mapped to a plurality of data sources at respective execution targets; receiving a developer source code which recites the data source identifier as a data source; identifying a first execution target; automatically producing from the developer source code a first executable code which upon execution in the first execution target will operate with the first execution target'"'"'s mapped data source as the data source identified by the data source identifier; identifying a second execution target having a different data source than the first execution target; and automatically producing from the same source code a second executable code which upon execution in the second execution target will operate with the second execution target'"'"'s mapped data source as the identified data source instead of the first execution target'"'"'s data source. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-readable non-transitory storage medium configured with data and with instructions that when executed by at least one processor causes the processor(s) to perform a process for use by a developer, the process comprising the steps of:
-
obtaining a data source mapping in which a particular data source identifier is mapped to a plurality of data sources at respective execution targets; and automatically generating from the data source mapping and a source code at least two different data source resolutions for respective different execution targets, without requiring any change to the source code by the developer. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A computer system comprising:
-
a logical processor; a memory in operable communication with the logical processor; a data source mapping residing in the memory and having a particular data source identifier which is mapped to a plurality of different data sources at respective different execution targets; a developer source code residing in the memory and having the data source identifier recited as a data source within the developer source code; and an executable code producer residing in the memory and having instructions which upon execution automatically produce at different times from the same developer source code a plurality of different executable codes, each executable code making reference to a different one of the data sources. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification