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
Remote
Batch Invocation for Compositional Object Services
European
Conference on Object-Oriented Programming (ECOOP 2009)
Ali
Ibrahim, Yang Jiao, Eli Tilevich, William R. Cook
(Updated
Slides)
Remote
Batch Invocation for SQL Databases
Ben
Wiedermann and William R. Cook
The 13th International Symposium
on Database Programming Languages (DBPL), 2011.
Remote
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
Older papers
Explicit
Batching for Distributed Objects
Eli Tilevich, William
R. Cook, Yang Jiao
Int’l Conference on Distributed Computing
Systems (ICDCS 2009).
Web
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
Eli Tilevitch
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.