About Data Abstract for All Platforms

Build scalable multi-tier database solutions.

RemObjects Data Abstract is a RAD tool for writing multi-tier solutions. It allows you to create services that access any database, by providing a clear separation between data-access and business-logic. Data Abstract enables your applications to interface with different database systems, even simultaneously, instead of depending from any single one. RemObjects Data Abstract supports a wide range of database back-ends, including Microsoft SQL Server, Oracle, DB2, Interbase/Firebird, Sybase, PostgreSQL, MySQL, SQLite and many more.

RemObjects Data Abstract has established itself as a premier framework for building fast, secure and reliable data access into your applications, from Enterprise solutions to mobile apps, no matter what development platform you are on: .NET, Java, Cocoa, Delphi or even JavaScript.

Data Abstract is not a one-size-fits-all cross-platform library. RemObjects Software believe strongly in creating native apps for all target platforms. Data Abstract is designed from the ground up for each individual platform. They have five client library implementations (.NET, Cocoa, Java, JavaScript and Delphi), and each implementation embraces its platform and is designed using the paradigms that developers on that platform rightfully expect.

At the same time, Data Abstract on all five platforms is built on the same founding principles and on the same architecture – Schemas, Services, Remote Data Adapters, Data Tables – so knowledge and experience with one platform will seamlessly translate to using Data Abstract on other platforms as well.

Why Data Abstract?
Today, almost all applications need to work with data that is either obtained from online sources, or stored and synced via "the cloud". Implementing your own data layer that takes care of this problem is a lot of work. Implementing your own data layer that works, and is reliable, secure and resiliant against failure is near impossible. Data Abstract is the product of thousands upon thousands of manhours and the culmination of over ten years of experience in building networked data systems. With Data Abstract, you can focus on what matters – your application and the way you capture, present and work with your data – while all the grind-work is taken care of for you.

Data Abstract is what is commonly referred to as a "multi-tier" framework, meaning that it is based on the principle that data access should be separated into multiple levels, or tiers – usually three. While in theory the multi-tier architecture (as indicated by the name) can consist of a variable number of tiers, the most commonly used scenario is a three-tier solution, which roughly maintains the concept of the old 2 tier system of client and server, but inserts a third tier (often called "middle tier" or "business tier") in between.

From a very high level point of view, one can say that the middle tier performs two main tasks:

  • It isolates client applications from direct access to the back-end database.
  • It consolidates the enforcement of business logic and business rules in one controlled place.

Isolating the client from access to the database means that the client applications no longer connect to or communicate directly with the database server, nor do they directly access the tables or raw data defined in the database or databases. All access to data – both for reading and for manipulation – goes through the middle-tier server, which maintains full control over the data access.

Implementing the business logic on the middle tier means that there is now one central place where these rules are enforced, and – because all data access has to go through the middle tier – there is no way for client applications to bypass those rules.

The middle-tier server will usually be deployed in a secure location, for example as part of the server farm also hosting the databases, and it exposes a very limited interface to the network that provides nothing more than what is actually needed by clients. And it will make use of a standardized internet protocol, such as HTTP or Web Services, to make sure this access works seamlessly across the global network, if needed.

Compared to the Client/Server model, the client application is trimmed down to a so-called "thin client" that provides everything needed to deliver a rich user interface to the end user – but anything related to ensuring data integrity is now handled on the middle-tier server. The very worst a "hacked" or otherwise compromised client application is able to do is to obtain access to the same data and perform the same kind of changes that are permitted anyway – anything else will be rejected by the middle tier.

Relativity Server: Your Ready-to-use Middle Tier
Hosting your own middle tier does not need to be daunting. Data Abstract comes with Relativity Server, which is essentially a pre-build middle-tier server that can host your server infrastructure without you having to write any code. You just define your schemas, and maybe write some business rule scripts in JavaScript. Relativity does the rest. (And it's built on the same Data Abstract for .NET that you can use to compile your own server tier, should you want to.) Relativity Server can run on Windows, Linux and even Mac OS X servers (or locally on your development machines). What's more, RemObjects have free and ready-to-use AMIs for Amazon Web Services that you can use to boot up an infinitely scalable middle tier with just a few clicks.

Data Abstract is a Complete Solution
Data Abstract provides a holistic framework that covers all parts of the multi-tier data access story – not merely the data access itself, but also:

  • How client and server communicate (leveraging the RemObjects SDK).
  • How authentication of clients will be handled.
  • How parameters or conditions for data retrieval will be passed between client and server.
  • How business rules are applied to the data.
  • How error conditions will be passed back from server to client if updates fail.