TECHNICAL FIELD

The present disclosure relates to computer-implemented methods, software, and systems for accessing an object store.

BACKGROUND

An object database can store different types of objects. In some cases, an object database can store an object as a BLOB (Binary Large OBject). The object database can provide features for storage and management of objects. For instance, the object database can support creation, upload, download, and deletion of objects.

SUMMARY

The present disclosure involves systems, software, and computer implemented methods for accessing an object store. One example method includes: providing a persistency factory object that is configured to provide access to multiple types of persistency adapters, wherein each type of persistency adapter is configured to interface with a particular object store, and wherein the multiple types of persistency adapters include a first persistency adapter class configured to interface with a first object store; receiving a first persistency adapter request from a consumer for a persistency adapter; determining a type of persistency adapter to be provided in response to the first persistency adapter request; determining that an environment of the consumer is configured to interface with the first object store; determining that the first persistency adapter class is associated with the first object store; providing, to the consumer and in response to the first persistency adapter request, a first run-time reference to a first persistency adapter instance of the first persistency adapter class; receiving, at the first persistency adapter instance, a first object store operation request to perform a first object store operation, wherein the first object store operation request is submitted by the consumer using the provided first run-time reference; and interfacing, by the first persistency adapter instance, with the first object store to fulfill the first object store operation request.

Implementations of the can include one or more of the following features. Each type of persistency adapter can extend an abstract persistency adapter class. Consumer source code can include a source-code reference to the abstract persistency adapter class without including a source-code reference to the first persistency adapter class. The abstract persistency adapter class can declare insert, fetch, delete, delete-all, object-exists, and get-object-list methods. The first persistency adapter class can provide implementations for the declared insert, fetch, delete, delete-all, object-exists, and get-object-list methods. The implementations provided by the first persistency adapter class can interface with the first object store. A second persistency adapter request can be received from the consumer for a persistency adapter. The persistency factory can determine that the environment of the consumer has been changed to use a second object store that is different from the first object store. The persistency factor can determine that a second persistency adapter class is associated with the second object store. A second run-time reference can be provided to a second persistency adapter instance of the second persistency adapter class to the consumer in response to the second persistency adapter request. A second object store operation request to perform a second object store operation can be received, at the second persistency adapter instance. The second object store operation request can be submitted by the consumer using the provided second run-time reference. The second persistency adapter instance can interface with the second object store to fulfill the second object store operation request. The first object store operation request and the second object store operation request can each be received as a result of executing same executable code that is based on the same consumer source code. Determining that the environment of the consumer is configured to use the first object store can include retrieving object store credentials from the environment and evaluating the object store credentials.

While generally described as computer-implemented software embodied on tangible media that processes and transforms the respective data, some or all of the aspects may be computer-implemented methods or further included in respective systems or other devices for performing this described functionality. The details of these and other aspects and embodiments of the present disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.

