Jaba Batches

From JVMLangSummit
Revision as of 17:08, 26 September 2012 by Jrose (talk | contribs) (moved Jaba Batches: A Radical (And Better) New Approach to SQL, RMI, and WS Clients to Jaba Batches: new name easier to publish as a link)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Batch services are a new approach to distributed computation in which clients send batches of operations to a server and receive hierarchical results sets in response. This architecture is modeled on the successful SQL execution model, but it is generalized so that the scripts are not quoted strings, but are instead extracted from normal client code. The key to making this work seamlessly is that the operations are normal method calls, loops and conditionals expressed in the native client language, but these operations are lifted out of the client program and encoded as cross-platform batch scripts for execution on the server. This raises important questions for language designers, in finding the best way to map client language features (types, loops, variables, lambdas) onto the batch script language. The benefit of doing so is that batch scripts allow high-performance cross-platform access to services, and also have a clean mapping to SQL, where a batch always generates a constant number of SQL queries, no matter how many nested loops are used. Batch blocks in effect create Data Transfer Objects and Remote Facades on the fly. I will demonstrate an extension of javac for batches and also discuss ongoing work on batches for Python and JavaScript. For more information, see http://www.cs.utexas.edu/~wcook/projects/batches

Here are the slides from the talk: http://www.cs.utexas.edu/~wcook/Drafts/2012/2012-07-JVM-Summit-Batches.pdf

Here is the video: http://medianetwork.oracle.com/video/player/1785453109001