William R. Cook
Batches are a new approach to relational database access, remote procedure calls, and web services.
A Remote Batch statement combines remote and local execution: all the remote code is executed in a single round-trip to the server, where all data sent to the server and results from the batch are communicated in bulk. Batches support remote blocks, iteration and conditionals, and local handling of remote exceptions. Batches are efficient even for fine-grained interfaces, eliminating the need for hand-optimized server interfaces.
Batch services also provide a simple and powerful interface to relational databases, with support for arbitrary nested queries and bulk updates. One important property of the system is that a single batch statement always generates a constant number of SQL queries, no matter how many nested loops are used.
Batch Java Runtime (GitHub)
Includes a SQL gateway for batches, TCP transport with JSON and XML
Batch Javac Language Extension (GitHub)
Implements the "batch" statement in javac
NEW: Batches wiki
Batch Invocation for Compositional Object Services
European Conference on Object-Oriented Programming (ECOOP 2009)
Ali Ibrahim, Yang Jiao, Eli Tilevich, William R. Cook
Batch Invocation for SQL Databases
Ben Wiedermann and William R. Cook
The 13th International Symposium on Database Programming Languages (DBPL), 2011.
Batch Invocation for Web Services:
Document-Oriented Web Services with Object-Oriented Interfaces
Ali Ibrahim, Yang Jiao, Marc Fisher II, William R. Cook, Eli Tilevich
European Conference on Web Services (ECOWS) 2009
Batching for Distributed Objects
Eli Tilevich, William R. Cook, Yang Jiao
Int’l Conference on Distributed Computing Systems (ICDCS 2009).
Services versus Distributed Objects: A Case Study of Performance
and Interface Design
William R. Cook, Janel Barfield
Proc. of the IEEE International Conference on Web Services ( ICWS) 2006.
September 18-22, Chicago, USA
Ali Ibrahim: Safe Query Objects & Learning database query extents
Ben Wiedermann: Extracting relational queries via control/data flow analysis
NSF CAREER #CCF-0448128: Integrating Programming Languages
and Databases. March 1, 2005
This material is based upon work supported by the National Science Foundation under Grant No. 0448128. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.