A computer-implemented method, including: receiving a SQL query, where the SQL query includes an identifier associated with a resource that is external to a data processing system; generating a computer program based on the SQL query, including: identifying a database or other data storage having functionality for managing concurrent data read and write operations and having a catalog containing data corresponding to the resource, the data representing configuration data associated with the external resource usable to configure a computer program to transmit instructions to the resource, generating a request to a query planner based on the SQL query, providing the request to the query planner, receiving a query plan generated by the query planner based on the request, the query plan including a description of one or more steps to be performed by a system managing a relational database, and generating the computer program based on the query plan, wherein the generated computer program is configured to communicate with the resource based on the data of the catalog; receiving, from the identified catalog, the configuration data; and executing the computer program on an executing system, based on the configuration data, the execution of the computer program causing: transmitting one or more instructions to the resource, the instructions defining operations other than operations of the SQL query, and receiving data from the resource in response to the instructions. receiving a SQL query, where the SQL query includes an identifier associated with a resource that is external to a data processing system; generating a computer program based on the SQL query, including: identifying a database or other data storage having functionality for managing concurrent data read and write operations and having a catalog containing data corresponding to the resource, the data representing configuration data associated with the external resource usable to configure a computer program to transmit instructions to the resource, generating a request to a query planner based on the SQL query, providing the request to the query planner, receiving a query plan generated by the query planner based on the request, the query plan including a description of one or more steps to be performed by a system managing a relational database, and generating the computer program based on the query plan, wherein the generated computer program is configured to communicate with the resource based on the data of the catalog; receiving, from the identified catalog, the configuration data; and executing the computer program on an executing system, based on the configuration data, the execution of the computer program causing: transmitting one or more instructions to the resource, the instructions defining operations other than operations of the SQL query, and receiving data from the resource in response to the instructions. identifying a database or other data storage having functionality for managing concurrent data read and write operations and having a catalog containing data corresponding to the resource, the data representing configuration data associated with the external resource usable to configure a computer program to transmit instructions to the resource, generating a request to a query planner based on the SQL query, providing the request to the query planner, receiving a query plan generated by the query planner based on the request, the query plan including a description of one or more steps to be performed by a system managing a relational database, and generating the computer program based on the query plan, wherein the generated computer program is configured to communicate with the resource based on the data of the catalog; receiving, from the identified catalog, the configuration data; and executing the computer program on an executing system, based on the configuration data, the execution of the computer program causing: transmitting one or more instructions to the resource, the instructions defining operations other than operations of the SQL query, and receiving data from the resource in response to the instructions. transmitting one or more instructions to the resource, the instructions defining operations other than operations of the SQL query, and receiving data from the resource in response to the instructions.