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.