Batches: Unified and Efficient Access to RPC, WS, and SQL Services

Subscribers:
344,000
Published on ● Video Link: https://www.youtube.com/watch?v=Rxv6jfHbY5M



Duration: 57:27
107 views
4


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), Web Services (WS), and distributed objects. 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. While significant progress has been made, 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. I present a new unified approach to invocation of distributed services and data access, called Batch Services. Batch Services introduce a novel control flow construct that partitions a program block into remote and local computations, while efficiently managing the communication between them. Batch Services do not require proxies, an embedded query language, or construction/decoding of service requests. The end result is a natural unified interface to distributed services and data, which can be added to any programming language. While hiding most of the complexity of remote communication, Batch Services also provide performance guarantees in terms of the number of round trips required to perform a batch. In the context of database access, a single batch statement always generates a constant number of SQL queries, no matter how many nested loops are used.




Other Videos By Microsoft Research


2016-07-27Enabling Trustworthy Users
2016-07-27Video-based In Situ Tagging for Mobile Augmented Reality
2016-07-27Metric Learning and Manifolds: Preserving the Intrinsic Geometry
2016-07-27Making money with �free� apps
2016-07-27Collecting a Heap of Shapes
2016-07-27Automatically Assessing Personality from Speech
2016-07-27Ten User Experience Best Practices for Windows Phone Application Development
2016-07-27Generalization Bounds and Consistency for Latent-Structural Probit and Ramp Loss
2016-07-27Structured Prediction in NLP: Dual Decomposition and Structured Sparsity
2016-07-27High Availability for Database Systems in Cloud Computing Environments
2016-07-27Batches: Unified and Efficient Access to RPC, WS, and SQL Services
2016-07-27Reliable Multithreading through Schedule Memoization
2016-07-27Generalized Oblivious Transfer (GOT)
2016-07-27From Contextual Search to Automatic Content Generation: Scaling Human Editorial Judgment
2016-07-27Bound Analysis of Imperative Programs with the Size-change Abstraction
2016-07-27A mobile context monitoring platform for dynamic mobile computing environments
2016-07-27Privacy Amplification and Non-Malleable Extractors Via Character Sums
2016-07-27Visualization Clusters: from Tiled Displays to Remote Visualization
2016-07-27The Median Hypothesis
2016-07-27Developing Natural Language-based Software Analyses & Tools to Expedite Software Maintenance
2016-07-27Semi-Supervised Learning for Acoustic and Prosodic Modeling in Speech Recognition



Tags:
microsoft research