A First Look at Data Abstract

Data Abstract uses the "multi-tier" approach to data access. Basically, this means that your apps do not connect directly to the database, but go through a middle-tier server that acts as a "gate keeper" who controls and coordinates data access.

This has many benefits, from more efficient network transfers, over security and better control, to who can access and modify what data.

Roughly, the architecture of our app can be visualized like this:

Although your client app is what you are most excited about, of course, it makes sense to look at the three tiers in reverse order. So let's review:

The Database

Data Abstract works with pretty much any of the commonly used relational databases available. Out of the box, it supports Microsoft SQL Server, Oracle, PostgreSQL, Interbase, Firebird, NexusDB, SQLAnywhere, AdvantageDB, mySQL, ElevateDB and SQLite, but adding support for a new or more exotic database type is easy and straightforward.

And we add official support for new databases all the time, as well.

Essentially, this means Data Abstract has you covered, no matter what database system you use (or have to use). What's more, in most cases a Data Abstract middle tier can be completely database agnostic – making it easy to switch or upgrade to a different database later on.

With Data Abstract, the database can be hidden behind a firewall and closed to access by anyone except the middle-tier server. This keeps your data safe and secure.

The Middle Tier

We realize that you want to focus on writing great apps, and not spend much time writing your own middle tier. That's why Data Abstract comes with a ready-to-use middle-tier server called Relativity.

You can think of Relativity being to your business logic what, say, SQL Server is to your database, or Apache to your website: it's a ready-to-go server implementation that you can use to host the functionality you need.

You would not even consider writing your own database engine – so why bother writing your own middle-tier server?

Relativity Server is easy to install on Windows, Linux and even Mac OS X Servers (and can be run locally during development, as well). If you're using Amazon Web Services, we also have ready-made images that let you deploy Relativity Server onto EC2 with just a few clicks — no Linux knowledge needed.

Schema Modeler

Once Relativity server is installed, Data Abstract provides a great and visual tool called Schema Modeler that lets you configure your data layer – from connecting to your database to deciding what data to make available. Schema Modeler is available for Windows and Mac.

In the simplest case, all you need to do is select which tables to publish, and you're set. But you can take more fine-grained control, including writing custom SQL queries, hiding fields, making tables available based on the user, and writing custom business logic.

Once you have published the tables you need, they can be accessed from your client app.

The Client App(s)

This is where you shine. The Data Abstract frameworks make it easy to access your data from the client apps you write – no matter the platform and the development tool.

  • Write iOS and Mac apps using Xcode, Elements or Xamarin.
  • Write Android apps using Java or Elements.
  • Write Windows apps using Visual Studio or Delphi.
  • Write Windows Phone and WinRT apps using Visual Studio.
  • Write web apps using JavaScript.

On each of these platforms, Data Abstract has your back and makes access to your data seamless and fast.

The APIs

The Data Abstract APIs you will work with are crafted specifically for each of the platforms, but they follow a shared design. We believe that's the best approach, allowing you to leverage Data Abstract knowledge, once obtained, across all platforms, while still getting the fully native development experience on each platform, and no awkward platform-isms.

The core two classes or components you will work with are the Remote Data Adapter that forms the central connection to your middle-tier server, and the individual Data Table classes that let you work with the data you retrieved and manage updates. Both of these are straight forward to use, yet powerful under the hood.

The Remote Data Adapter handles all the gritty details of efficiently and securely communicating with the server – one less thing for you to worry about.

We have extensive per-platform tutorials and examples that let you dive into each of the specific APIs, as part of the free 30-day trial: