Abstract
Most large-scale applications integrate remote services and/or
transactional databases. Yet building software that efficiently
invokes distributed service or accesses relational databases is still
quite difficult. Existing approaches to these problems are based on
the Remote Procedure Call (RPC), Object-Relational Mapping (ORM), or
Web Services (WS). RPCs have been generalized to support distributed
object systems. ORM tools generally support a form of query
sublanguage for efficient object selection, but it is not
well-integrated with the host language. Web Services may seems to be a
step backwards, yet document-oriented services and REST are gaining
popularity. The last 20 years have produced a long litany of
technologies based on these concepts, including ODBC, CORBA, DCE,
DCOM, RMI, DAO, OLEDB, SQLJ, JDBC, EJB, JDO, Hibernate, XML-RPC, WSDL,
Axis and LINQ. Even with these technologies, complex design patterns
for service facades and/or bulk data transfers must be followed to
optimize communication between client and server or client and
database, leading to programs that are difficult to modify and
maintain. While significant progress has been made, there is no widely
accepted solution or even agreement about what the solution should
look like. In this talk I present a new unified approach to invocation
of distributed services and data access. The solution involves a novel
control flow construct that partitions a program block into
remote and local computations, while efficiently managing the
communication between them. The solution does not require proxies, an
embedded query language, or constructions/decoding of service
requests. Although the result itself is elegant and useful, what is
more significant is that it overturns our deapseated assumption that
the original problems can be solved using existing programming
language constructs and libraries.
Short Bio
William R. Cook is an Associate Professor in the Department of
Computer Sciences at the University of Texas at Austin. His research
is focused on object-oriented programming, programming languages,
modeling languages, and the interface between programming languages
and databases. Prior to joining UT in 2003, Dr. Cook was Chief
Technology Officer and co-founder of Allegis Corporation. He was chief
architect for several award-winning products, including the eBusiness
Suite at Allegis, the Writer's Solution for Prentice Hall, and the
AppleScript language at Apple Computer. At HP Labs his research
focused on the foundations of object-oriented languages, including
formal models of mixins, inheritance, and typed models of
object-oriented languages. He completed his Ph.D. in Computer Science
at Brown University in 1989.