Claims
- 1. A system for executing bulk data transfers between persistent data stores in connection with an enterprise-level business workflow, comprising:
a data integration server coupled to one or more persistent data stores; one or more programmatic source interfaces, each being associated with a corresponding source data store, defined according to a common programmatic source interface specification, and exposed within the data integration server during a bulk data transfer in connection with an enterprise-level business workflow to enable the data integration server to extract from the corresponding source data store one or more data entities for loading into any one or more selected target data stores during the bulk data transfer; and one or more programmatic target interfaces, each being associated with a corresponding target data store, defined according to a common programmatic target interface specification, and exposed within the data integration server during a bulk data transfer in connection with an enterprise-level business workflow to enable the data integration server to load into the corresponding target data store one or more data entities extracted from any one or more selected source data stores during the bulk data transfer; each programmatic interface:
providing to the corresponding data store an abstraction of bulk data transfer operations within the data integration server such that custom code need not be developed in connection with the corresponding data store to enable bulk data transfers between the corresponding data store and any other particular data stores; and isolating from the data integration server specific details associated with the corresponding data store such that custom code need not be developed in connection with the data integration server to enable bulk data transfers between the corresponding data store and any other particular data stores.
- 2. The system of claim 1, wherein the data integration server is operable to expose its bulk data transfer operations as services to applications or other systems within an enterprise-level infrastructure and to execute a bulk data transfer operation in response to a request from such an application or other system.
- 3. The system of claim 1, wherein the programmatic interfaces comprise JAVA interfaces.
- 4. The system of claim 1, wherein:
a programmatic interface may be exposed within the data integration server as an industry standard interface supporting bulk data transfers according to an industry standard protocol; and the data integration server is operable to:
receive a request from a client indicating that the client is extracting data from or loading data into a data store in accordance with the industry standard protocol; create the corresponding programmatic interface to enable extraction of the data from or loading of the data into the data store; and for data extraction, as the programmatic source interface produces the data extracted from the data store, send the outgoing data to the client in accordance with the industry standard protocol; or for data loading, as the data arrives from the client in accordance with the industry standard protocol, send the incoming data to the programmatic target interface for loading into the data store.
- 5. The system of claim 4, wherein the data integration server allows a client supporting an industry standard protocol for bulk data transfers to perform bulk data transfers with respect to an existing data store using a programmatic interface whether or not the existing data store or an associated existing application itself supports bulk data transfers in accordance with the industry standard protocol.
- 6. The system of claim 1, wherein:
a programmatic source interface may be exposed within the data integration server as an industry standard File Transfer Protocol (FTP) interface supporting bulk data transfers according to an FTP industry standard protocol; and the data integration server is operable to:
allow an FTP client to open an FTP connection informing the data integration server that the FTP client is downloading a stream of data from the corresponding source data store; create the programmatic source interface to enable extraction of the stream of data from the corresponding source data store; and as the programmatic source interface produces the stream of data extracted from the corresponding source data store, send the outgoing stream of data to the FTP client in accordance with FTP.
- 7. The system of claim 6, wherein at least one FTP client comprises a commercially available Extract-Transform-Load (ETL) tool supported within the data integration server.
- 8. The system of claim 1, wherein:
a programmatic target interface may be exposed within the data integration server as an industry standard File Transfer Protocol (FTP) interface supporting bulk data transfers according to an FTP industry standard protocol; and the data integration server is operable to:
allow an FTP client to open an FTP connection informing the data integration server that the FTP client is uploading a stream of data to the corresponding target data store; create the programmatic target interface to enable loading of the stream of data into the corresponding source data store; and as the stream of data arrives from the FTP client in accordance with FTP, send the incoming stream of data to the programmatic target interface for loading into the corresponding target data store.
- 9. The system of claim 8, wherein at least one FTP client comprises a commercially available Extract-Transform-Load (ETL) tool supported within the data integration server.
- 10. The system of claim 1, wherein a particular data store may be a source data store or a target data store for a particular bulk data transfer depending on whether data entities are extracted from the particular data store or loaded into the particular data store during the particular bulk data transfer.
- 11. The system of claim 1, wherein loading data entities comprises inserting, updating, or deleting data entities.
- 12. The system of claim 1, wherein:
within each programmatic interface, one or more resources representing data entities contained in the corresponding data store are defined; and the data integration server is operable to, in response to a request to execute a bulk data transfer involving one or more resources contained in one or more data stores, create each programmatic interface within which at least one of the resources is defined.
- 13. The system of claim 1, wherein the data integration server supports a commercially available Extract-Transform-Load (ETL) tool operable to:
connect directly to data stores with which the ETL tool is compatible to extract data entities directly from and load data entities directly into these data stores; and connect to data stores, whether or not the ETL tool is compatible with these data stores, using the corresponding programmatic interfaces to extract data entities from and load data entities into these data stores.
- 14. The system of claim 13, wherein the data integration server is operable to use programmatic interfaces to support compatibility between any commercially available ETL tool and any corresponding data store.
- 15. The system of claim 14, wherein the data integration server supports a controller operable to execute individual bulk data transfers using programmatic interfaces where either:
an Extract-Transform-Load (ETL) tool is not present; or an ETL tool is present but its capabilities are not needed to transform data entities extracted from one or more source data stores, using the one or more corresponding programmatic source interfaces, before the extracted data entities are loaded into one or more target data stores, using the one or more corresponding programmatic target interfaces, because physical database schemas of the source and target data stores are at least substantially similar.
- 16. The system of claim 1, wherein:
the system further comprises one or more transformation interfaces exposed within the data integration server, each transformation interface:
comprising one or more programmatic interfaces defined within the transformation interface; comprising custom transformation logic to be applied to data entities extracted from one or more source data stores in a bulk data transfer, using the one or more corresponding programmatic source interfaces, before the extracted data entities are loaded into one or more target data stores in the bulk data transfer, using the one or more corresponding programmatic target interfaces; and isolating its custom transformation logic from its one or more defined programmatic interfaces; and the data integration server is further operable to, in connection with creating the programmatic interfaces, create each transformation interface within which at least one of the programmatic interfaces is defined for application of the associated custom transformation logic in the bulk data transfer.
- 17. The system of claim 16, further comprising a controller supported within the data integration server and operable to use a transformation interface in executing an individual bulk data transfer without using a commercially available Extract-Transform-Load (ETL) tool in connection with the bulk data transfer.
- 18. A method for executing bulk data transfers between persistent data stores in connection with an enterprise-level business workflow, comprising:
providing a data integration server coupled to one or more persistent data stores; providing one or more programmatic source interfaces, each being associated with a corresponding source data store, defined according to a common programmatic source interface specification, and exposed within the data integration server during a bulk data transfer in connection with an enterprise-level business workflow to enable the data integration server to extract from the corresponding source data store one or more data entities for loading into any one or more selected target data stores during the bulk data transfer; and providing one or more programmatic target interfaces, each being associated with a corresponding target data store, defined according to a common programmatic target interface specification, and exposed within the data integration server during a bulk data transfer in connection with an enterprise-level business workflow to enable the data integration server to load into the corresponding target data store one or more data entities extracted from any one or more selected source data stores during the bulk data transfer; each programmatic interface:
providing to the corresponding data store an abstraction of bulk data transfer operations within the data integration server such that custom code need not be developed in connection with the corresponding data store to enable bulk data transfers between the corresponding data store and any other particular data stores; and isolating from the data integration server specific details associated with the corresponding data store such that custom code need not be developed in connection with the data integration server to enable bulk data transfers between the corresponding data store and any other particular data stores.
- 19. The method of claim 18, comprising the data integration server exposing its bulk data transfer operations as services to applications or other systems within an enterprise-level infrastructure and to execute a bulk data transfer operation in response to a request from such an application or other system.
- 20. The method of claim 18, wherein the programmatic interfaces comprise JAVA interfaces.
- 21. The method of claim 18, wherein:
a programmatic interface may be exposed within the data integration server as an industry standard interface supporting bulk data transfers according to an industry standard protocol; and the method comprises:
receiving a request from a client indicating that the client is extracting data from or loading data into a data store in accordance with the industry standard protocol; creating the corresponding programmatic interface to enable extraction of the data from or loading of the data into the data store; and for data extraction, as the programmatic source interface produces the data extracted from the data store, sending the outgoing data to the client in accordance with the industry standard protocol; or for data loading, as the data arrives from the client in accordance with the industry standard protocol, sending the incoming data to the programmatic target interface for loading into the data store.
- 22. The method of claim 21, further comprising allowing a client supporting an industry standard protocol for bulk data transfers to perform bulk data transfers with respect to an existing data store using a programmatic interface whether or not the existing data store or an associated existing application itself supports bulk data transfers in accordance with the industry standard protocol.
- 23. The method of claim 18, wherein:
a programmatic source interface may be exposed within the data integration server as an industry standard File Transfer Protocol (FTP) interface supporting bulk data transfers according to an FTP industry standard protocol; and the method comprises:
allowing an FTP client to open an FTP connection informing the data integration server that the FTP client is downloading a stream of data from the corresponding source data store; creating the programmatic source interface to enable extraction of the stream of data from the corresponding source data store; and as the programmatic source interface produces the stream of data extracted from the corresponding source data store, sending the outgoing stream of data to the FTP client in accordance with FTP.
- 24. The method of claim 23, wherein at least one FTP client comprises a commercially available Extract-Transform-Load (ETL) tool supported within the data integration server.
- 25. The method of claim 18, wherein:
a programmatic target interface may be exposed within the data integration server as an industry standard File Transfer Protocol (FTP) interface supporting bulk data transfers according to an FTP industry standard protocol; and the method comprises:
allowing an FTP client to open an FTP connection informing the data integration server that the FTP client is uploading a stream of data to the corresponding target data store; creating the programmatic target interface to enable loading of the stream of data into the corresponding source data store; and as the stream of data arrives from the FTP client in accordance with FTP, sending the incoming stream of data to the programmatic target interface for loading into the corresponding target data store.
- 26. The method of claim 25, wherein at least one FTP client comprises a commercially available Extract-Transform-Load (ETL) tool supported within the data integration server.
- 27. The method of claim 18, wherein a particular data store may be a source data store or a target data store for a particular bulk data transfer depending on whether data entities are extracted from the particular data store or loaded into the particular data store during the particular bulk data transfer.
- 28. The method of claim 18, wherein loading data entities comprises inserting, updating, or deleting data entities.
- 29. The method of claim 18, wherein:
within each programmatic interface, one or more resources representing data entities contained in the corresponding data store are defined; and the method comprises, in response to a request to execute a bulk data transfer involving one or more resources contained in one or more data stores, creating each programmatic interface within which at least one of the resources is defined.
- 30. The method of claim 18, wherein the data integration server supports a commercially available Extract-Transform-Load (ETL) tool operable to:
connect directly to data stores with which the ETL tool is compatible to extract data entities directly from and load data entities directly into these data stores; and connect to data stores, whether or not the ETL tool is compatible with these data stores, using the corresponding programmatic interfaces to extract data entities from and load data entities into these data stores.
- 31. The method of claim 30, further comprising the data integration server using programmatic interfaces to support compatibility between any commercially available ETL tool and any corresponding data store.
- 32. The method of claim 31, further comprising providing a controller within the data integration server operable to execute individual bulk data transfers using programmatic interfaces where either:
an Extract-Transform-Load (ETL) tool is not present; or an ETL tool is present but its capabilities are not needed to transform data entities extracted from one or more source data stores, using the one or more corresponding programmatic source interfaces, before the extracted data entities are loaded into one or more target data stores, using the one or more corresponding programmatic target interfaces, because physical database schemas of the source and target data stores are at least substantially similar.
- 33. The method of claim 18, further comprising:
providing one or more transformation interfaces exposed within the data integration server, each transformation interface:
comprising one or more programmatic interfaces defined within the transformation interface; comprising custom transformation logic to be applied to data entities extracted from one or more source data stores in a bulk data transfer, using the one or more corresponding programmatic source interfaces, before the extracted data entities are loaded into one or more target data stores in the bulk data transfer, using the one or more corresponding programmatic target interfaces; and isolating its custom transformation logic from its one or more defined programmatic interfaces; and the data integration server, in connection with creating the programmatic interfaces, creating each transformation interface within which at least one of the programmatic interfaces is defined for application of the associated custom transformation logic in the bulk data transfer.
- 34. The method of claim 33, further comprising providing a controller supported within the data integration server and operable to use a transformation interface in executing an individual bulk data transfer without using a commercially available Extract-Transform-Load (ETL) tool in connection with the bulk data transfer.
- 35. Software for executing bulk data transfers between persistent data stores in connection with an enterprise-level business workflow, the software being embodied in computer-readable media and when executed operable to:
provide a data integration server coupled to one or more persistent data stores; provide one or more programmatic source interfaces, each being associated with a corresponding source data store, defined according to a common programmatic source interface specification, and exposed within the data integration server during a bulk data transfer in connection with an enterprise-level business workflow to enable the data integration server to extract from the corresponding source data store one or more data entities for loading into any one or more selected target data stores during the bulk data transfer; and provide one or more programmatic target interfaces, each being associated with a corresponding target data store, defined according to a common programmatic target interface specification, and exposed within the data integration server during a bulk data transfer in connection with an enterprise-level business workflow to enable the data integration server to load into the corresponding target data store one or more data entities extracted from any one or more selected source data stores during the bulk data transfer; each programmatic interface:
providing to the corresponding data store an abstraction of bulk data transfer operations within the data integration server such that custom code need not be developed in connection with the corresponding data store to enable bulk data transfers between the corresponding data store and any other particular data stores; and isolating from the data integration server specific details associated with the corresponding data store such that custom code need not be developed in connection with the data integration server to enable bulk data transfers between the corresponding data store and any other particular data stores.
- 36. The software of claim 35, operable to expose bulk data transfer operations of the data integration server as services to applications or other systems within an enterprise-level infrastructure and to execute a bulk data transfer operation in response to a request from such an application or other system.
- 37. The software of claim 35, wherein the programmatic interfaces comprise JAVA interfaces.
- 38. The software of claim 35, wherein:
a programmatic interface may be exposed within the data integration server as an industry standard interface supporting bulk data transfers according to an industry standard protocol; and the data integration server is operable to:
receive a request from a client indicating that the client is extracting data from or loading data into a data store in accordance with the industry standard protocol; create the corresponding programmatic interface to enable extraction of the data from or loading of the data into the data store; and for data extraction, as the programmatic source interface produces the data extracted from the data store, send the outgoing data to the client in accordance with the industry standard protocol; or for data loading, as the data arrives from the client in accordance with the industry standard protocol, send the incoming data to the programmatic target interface for loading into the data store.
- 39. The software of claim 38, wherein the data integration server allows a client supporting an industry standard protocol for bulk data transfers to perform bulk data transfers with respect to an existing data store using a programmatic interface whether or not the existing data store or an associated existing application itself supports bulk data transfers in accordance with the industry standard protocol.
- 40. The software of claim 35, wherein:
a programmatic source interface may be exposed within the data integration server as an industry standard File Transfer Protocol (FTP) interface supporting bulk data transfers according to an FTP industry standard protocol; and the data integration server is operable to:
allow an FTP client to open an FTP connection informing the data integration server that the FTP client is downloading a stream of data from the corresponding source data store; create the programmatic source interface to enable extraction of the stream of data from the corresponding source data store; and as the programmatic source interface produces the stream of data extracted from the corresponding source data store, send the outgoing stream of data to the FTP client in accordance with FTP.
- 41. The software of claim 40, wherein at least one FTP client comprises a commercially available Extract-Transform-Load (ETL) tool supported within the data integration server.
- 42. The software of claim 35, wherein:
a programmatic target interface may be exposed within the data integration server as an industry standard File Transfer Protocol (FTP) interface supporting bulk data transfers according to an FTP industry standard protocol; and the data integration server is operable to:
allow an FTP client to open an FTP connection informing the data integration server that the FTP client is uploading a stream of data to the corresponding target data store; create the programmatic target interface to enable loading of the stream of data into the corresponding source data store; and as the stream of data arrives from the FTP client in accordance with FTP, send the incoming stream of data to the programmatic target interface for loading into the corresponding target data store.
- 43. The software of claim 42, wherein at least one FTP client comprises a commercially available Extract-Transform-Load (ETL) tool supported within the data integration server.
- 44. The software of claim 35, wherein a particular data store may be a source data store or a target data store for a particular bulk data transfer depending on whether data entities are extracted from the particular data store or loaded into the particular data store during the particular bulk data transfer.
- 45. The software of claim 35, wherein loading data entities comprises inserting, updating, or deleting data entities.
- 46. The software of claim 35, wherein:
within each programmatic interface, one or more resources representing data entities contained in the corresponding data store are defined; and the data integration server is operable to, in response to a request to execute a bulk data transfer involving one or more resources contained in one or more data stores, create each programmatic interface within which at least one of the resources is defined.
- 47. The software of claim 35, wherein the data integration server supports a commercially available Extract-Transform-Load (ETL) tool operable to:
connect directly to data stores with which the ETL tool is compatible to extract data entities directly from and load data entities directly into these data stores; and connect to data stores, whether or not the ETL tool is compatible with these data stores, using the corresponding programmatic interfaces to extract data entities from and load data entities into these data stores.
- 48. The software of claim 47, wherein the data integration server is operable to use programmatic interfaces to support compatibility between any commercially available ETL tool and any corresponding data store.
- 49. The software of claim 48, wherein the data integration server supports a controller operable to execute individual bulk data transfers using programmatic interfaces where either:
an Extract-Transform-Load (ETL) tool is not present; or an ETL tool is present but its capabilities are not needed to transform data entities extracted from one or more source data stores, using the one or more corresponding programmatic source interfaces, before the extracted data entities are loaded into one or more target data stores, using the one or more corresponding programmatic target interfaces, because physical database schemas of the source and target data stores are at least substantially similar.
- 50. The software of claim 35, wherein:
the software is further operable to provide one or more transformation interfaces exposed within the data integration server, each transformation interface:
comprising one or more programmatic interfaces defined within the transformation interface; comprising custom transformation logic to be applied to data entities extracted from one or more source data stores in a bulk data transfer, using the one or more corresponding programmatic source interfaces, before the extracted data entities are loaded into one or more target data stores in the bulk data transfer, using the one or more corresponding programmatic target interfaces; and isolating its custom transformation logic from its one or more defined programmatic interfaces; and the data integration server is further operable to, in connection with creating the programmatic interfaces, create each transformation interface within which at least one of the programmatic interfaces is defined for application of the associated custom transformation logic in the bulk data transfer.
- 51. The software of claim 50, further operable to provide a controller that is supported within the data integration server and is operable to use a transformation interface in executing an individual bulk data transfer without using a commercially available Extract-Transform-Load (ETL) tool in connection with the bulk data transfer.
- 52. A system for executing bulk data transfers between persistent data stores in connection with an enterprise-level business workflow, comprising:
means for providing a data integration server coupled to one or more persistent data stores; means for providing one or more programmatic source interfaces, each being associated with a corresponding source data store, defined according to a common programmatic source interface specification, and exposed within the data integration server during a bulk data transfer in connection with an enterprise-level business workflow to enable the data integration server to extract from the corresponding source data store one or more data entities for loading into any one or more selected target data stores during the bulk data transfer; and means for providing one or more programmatic target interfaces, each being associated with a corresponding target data store, defined according to a common programmatic target interface specification, and exposed within the data integration server during a bulk data transfer in connection with an enterprise-level business workflow to enable the data integration server to load into the corresponding target data store one or more data entities extracted from any one or more selected source data stores during the bulk data transfer; each programmatic interface:
providing to the corresponding data store an abstraction of bulk data transfer operations within the data integration server such that custom code need not be developed in connection with the corresponding data store to enable bulk data transfers between the corresponding data store and any other particular data stores; and isolating from the data integration server specific details associated with the corresponding data store such that custom code need not be developed in connection with the data integration server to enable bulk data transfers between the corresponding data store and any other particular data stores.
- 53. A system for executing bulk data transfers between persistent data stores in connection with an enterprise-level business workflow, comprising:
a data integration server coupled to one or more persistent data stores, the data integration server operable to expose its bulk data transfer operations as services to applications or other systems within an enterprise-level infrastructure and to execute a bulk data transfer operation in response to a request from such an application or other system; one or more programmatic source interfaces, each being associated with a corresponding source data store, defined according to a common programmatic source interface specification, and exposed within the data integration server during a bulk data transfer in connection with an enterprise-level business workflow to enable the data integration server to extract from the corresponding source data store one or more data entities for loading into any one or more selected target data stores during the bulk data transfer; one or more programmatic target interfaces, each being associated with a corresponding target data store, defined according to a common programmatic target interface specification, and exposed within the data integration server during a bulk data transfer in connection with an enterprise-level business workflow to enable the data integration server to load into the corresponding target data store one or more data entities extracted from any one or more selected source data stores during the bulk data transfer; each programmatic interface:
providing to the corresponding data store an abstraction of bulk data transfer operations within the data integration server such that custom code need not be developed in connection with the corresponding data store to enable bulk data transfers between the corresponding data store and any other particular data stores; and isolating from the data integration server specific details associated with the corresponding data store such that custom code need not be developed in connection with the data integration server to enable bulk data transfers between the corresponding data store and any other particular data stores; one or more transformation interfaces exposed within the data integration server, each transformation interface:
comprising one or more programmatic interfaces defined within the transformation interface; comprising custom transformation logic to be applied to data entities extracted from one or more source data stores in a bulk data transfer, using the one or more corresponding programmatic source interfaces, before the extracted data entities are loaded into one or more target data stores in the bulk data transfer, using the one or more corresponding programmatic target interfaces; and isolating its custom transformation logic from its one or more defined programmatic interfaces; the data integration server further operable to, in connection with creating the programmatic interfaces, create each transformation interface within which at least one of the programmatic interfaces is defined for application of the associated custom transformation logic in the bulk data transfer; and a controller supported within the data integration server and operable to use a transformation interface in executing an individual bulk data transfer without using a commercially available Extract-Transform-Load (ETL) tool in connection with the bulk data transfer.
RELATED APPLICATION
[0001] This application claims the benefit under 35, U.S.C. § 119(e) of U.S. Provisional Application Ser. No. 60/469,259, filed May 8, 2003.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60469259 |
May 2003 |
US |