Integrator: An Architecture for an Integrated Cloud/On-Premise Data-Service
Abstract
Large enterprises have built very large 'on-premise' data-sets that are critical to many business functions. With the availability of cloud-based storage, many of these enterprises are considering whether and how to make some of this data available on the cloud. One motivation is to offload the processing of new mobile application workloads from the on-premise system to the cloud. Another motivation is to improve the performance of these mobile applications. However, because of the importance of this data, and because of regulatory constraints, many enterprises are unwilling to simply move their data from an on-premise environment to the cloud. Instead, they prefer to keep the 'master' version of the data on-premise, while projecting a subset of the data to the cloud. Several challenges face these enterprises. First, how can large data-sets be efficiently made available on the cloud with minimal disruption to the ongoing on-premise business function? Second, how can this data be represented in a way that will be useful to cloud developers? Typically, cloud developers want data represented in a way that is easily consumable by REST APIs, but the on-premise representation may not be amenable to such usage. Our INTEGRATOR project addresses these challenges by providing an integrated cloud/on-premise data-service. Importantly, the INTEGRATOR architecture is broadly applicable across various back-end systems. In this paper we describe the INTEGRATOR architecture and a prototype implementation for a specific on-premise system. We examine alternative architectures-'table based' and 'business object based'-and explain why we chose the business object approach.