Produkte Shop Support Über Uns |
Data Abstract

Schneller, einfacher und sicherer Datenzugriff für Ihre Apps.

Data Abstract ist das führende Framework zum Erstellen von schnellen, sicheren und zuverlässigen Datenbankanwendungen.

Mit dem multi-tier-Ansatz können Sie mit Data Abstract Geschäftslogik, Zugriffsrechte und Datenkonsistenz auf dem Server durchsetzen, ohne Ihre Datenbank direkt dem Netzwerk auszusetzen.

Mit seinem einzigartigen Schema™-Modell können Sie mit Data Abstract die einfachen Implementierungsdetails Ihrer physischen Datenbank von Clientanwendungen abstrahieren. Verwenden Sie eine einheitliche Datenzugriffs-API, unabhängig davon, mit welchem Datenbanktyp Sie eine Verbindung herstellen.

Data Abstract-Bibliotheken sind für eine Vielzahl von Plattformen verfügbar und unterstützen praktisch alle modernen Datenbanktypen.

Getting started with Data Abstract is easy – and gets only simpler from there.

.NET Cocoa Java Delphi JavaScript

Windows. MAUI, oder plattformübergreifendes Mono und Xamarin.
Data Abstract bietet Ihnen einfachen Zugriff auf Ihre Daten.

C# Oxygene Swift Visual Basic Iodine
var rda = new LinqRemoteDataAdapter("https://sample.remobjects.com/bin");
var table = from c in rda.GetTable<Clients>() where c.ClientName.EndsWith("A");
foreach (Clients c in table)
{
    // die Daten verarbeiten
}
var lRda := new LinqRemoteDataAdapter("https://sample.remobjects.com/bin");
for each from c in lRda.GetTable<Clients> where c.ClientName.EndsWith('A') do begin
  // die Daten verarbeiten
end;
let rda = LinqRemoteDataAdapter("https://sample.remobjects.com/bin")
let table = rda.GetTable<Clients>().Where({!$0.ClientName.EndsWith("A")})
for c in table {
    // die Daten verarbeiten
}
(Use Swift on .NET with our free RemObjects Swift Compiler).
Dim rda = New LinqRemoteDataAdapter("https://sample.remobjects.com/bin")
Dim table = From c In rda.GetTable(Of Clients)() Where c.ClientName.EndsWith("A")
For Each c As Clients In table
  ' die Daten verarbeiten
Next
var rda = new LinqRemoteDataAdapter("https://sample.remobjects.com/bin");
var table = rda.GetTable<Clients>().Where( (c) -> c.ClientName.EndsWith("A") );
for (Clients c : table)
{
    // die Daten verarbeiten
}

Egal, ob Sie für Mac, iOS, watchOS oder tvOS entwickeln. Ob Sie Swift, Objective-C oder Elements verwenden.
Der Zugriff auf Ihre Daten war noch nie so einfach.

Swift Objective-C Oxygene RemObjects C# Iodine
let url = NSURL(string: "https://sample.remobjects.com/bin")
let rda = DARemoteDataAdapter(targetURL: url!)
rda.beginGetDataTable("Clients", withSQL: "SELECT * FROM Clients where ClientName LIKE '%A'") { table in
    // die Daten verarbeiten
}
NSURL *url = [NSURL URLWithstring:@"https://sample.remobjects.com/bin"];
DARemoteDataAdapter *rda = [DARemoteDataAdapter adapterWithTargetURL:url];
[rda beginGetDataTable:@"Clients"
               withSQL: @"SELECT * FROM Clients where ClientName LIKE '%A'")
        startWithBlock: ^(DADataTable *table) {
    // die Daten verarbeiten
}];
var lUrl := NSURL.URLWithstring('https://sample.remobjects.com/bin');
var lRda := new DARemoteDataAdapter withTargetURL(lUrl);
lRda.beginGetDataTable('Clients')
  withSQL("SELECT * FROM Clients where ClientName LIKE '%A'")
  startWithBlock( (table) -> begin
  // die Daten verarbeiten
end);
var url = NSURL.URLWithstring("https://sample.remobjects.com/bin");
var rda = new DARemoteDataAdapter withTargetURL(url);
rda.beginGetDataTable("Clients")
    withSQL("SELECT * FROM Clients where ClientName LIKE '%A'")
    startWithBlock( (table) => {
    // die Daten verarbeiten
});
var url = NSURL.URLWithstring("https://sample.remobjects.com/bin");
var rda = new DARemoteDataAdapter withTargetURL(url);
rda.beginGetDataTable("Clients")
    withSQL("SELECT * FROM Clients where ClientName LIKE '%A'")
    startWithBlock( (table) -> {
    // die Daten verarbeiten
});

Zielen Sie auf Android oder ein anderes Java-System ab.
Mit Data Abstract sind Ihre Daten nur wenige Codezeilen entfernt.

Java Oxygene Swift RemObjects C#
URI url = URI.create( "https://sample.remobjects.com/bin");
RemoteDataAdapter rda = new RemoteDataAdapter(url);
DataTable table = new DataTable("Clients");
rda.fillWithSqlAsync(table, "SELECT * FROM Clients where ClientName LIKE '%A'", null,
                     new FillRequestTask.Callback() {
    @Override
    public void completed(final FillRequestTask aTask, Object aState) {
        // die Daten verarbeiten
    }
}).execute();
var lUrl := URI.create('https://sample.remobjects.com/bin');
var lRda := new RemoteDataAdapter(lUrl);
var lTable := new DataTable('Clients');
lRda.fillWithSqlAsync(lTable, "SELECT * FROM Clients where ClientName LIKE '%A'", nil, (aTask: FillRequestTask; aState: Object) -> begin
  // die Daten verarbeiten
end)).execute();
let url = URI.create("https://sample.remobjects.com/bin")
let rda = RemoteDataAdapter(url)
let table = DataTable("Clients")
rda.fillWithSqlAsync(table, "SELECT * FROM Clients where ClientName LIKE '%A'", nil, { (aTask, aState) in
    // die Daten verarbeiten
}).execute()
(Use Swift on Java and Android with our free RemObjects Swift Compiler).
var url = URI.create("https://sample.remobjects.com/bin")
var rda = new RemoteDataAdapter(url);
var table = new DataTable("Clients");
rda.fillWithSqlAsync(table, "SELECT * FROM Clients where ClientName LIKE '%A'", nil, (aTask, aState) => {
    // die Daten verarbeiten
}).execute()

Stellen Sie mit Data Abstract eine sichere Verbindung zu Ihrer Datenbank her.
Von VCL- und FireMonkey-Apps auf Windows, Mac, Android und iOS.

Delphi Language C++Builder
rda := TDARemoteDataAdapter.Create(nil);
rda.TargetURL: = 'https://sample.remobjects.com/bin';
table := TDAMemDataTable.Create(nil);
rda.FillWithDASql(table,'SELECT * FROM Clients where ClientName LIKE ''%A''', nil);
// die Daten verarbeiten
table.Free;
rda.Free;
TDARemoteDataAdapter *rda = new TDARemoteDataAdapter(NULL);
TDAMemDataTable *table = new TDAMemDataTable(NULL);
rda->TargetURL = "https://sample.remobjects.com/bin";
rda->FillWithDASql(table,"SELECT * FROM Clients where ClientName LIKE '%A'",NULL);
 // die Daten verarbeiten

Ihre Daten. Im Browser.
Es war noch nie so einfach wie mit Data Abstract.

JavaScript
var rda = new RemObjects.DataAbstract.RemoteDataAdapter(serviceUrl, "DataService");
var table = new RemObjects.DataAbstract.DataTable("clients");
adapter.getSQLData(table, "SELECT * FROM Clients where ClientName LIKE '%A'", function() {
    // die Daten verarbeiten
}, RemObjects.UTIL.showError);


Data Abstract macht es einfach, datenbankgesteuerte Anwendungen für alle modernen Plattformen zu erstellen.

Vorteile von Data Abstract

Data Abstract verwendet einen mehrstufigen Ansatz für den Datenzugriff, der den Datenzugriff für die moderne Online-Welt einfach, schnell und sicher macht.

Auf der Serverebene haben Sie die volle Kontrolle darüber, wie auf Daten zugegriffen und diese geändert werden, und stellen sicher, dass Clientanwendungen Ihre Regeln nicht umgehen oder Daten in einem inkonsistenten Zustand belassen können. Und das alles, ohne selbst eine Serveranwendung schreiben und warten zu müssen.

In Ihrer Client-Anwendung bietet Data Abstract eine einfache, aber flexible API, die es einfach macht, Daten anzufordern, zu ändern und an den Server zurückzusenden – sofort oder später. Alles ohne sich mit HTTP-Anfragen, REST oder ähnlichen Implementierungsdetails auf niedriger Ebene herumzuschlagen.

Mit Data Abstract können Sie Aktenkoffer-Dateien verwenden, um Daten in Ihrer lokalen App verfügbar zu machen, auch wenn der Benutzer nicht mit dem Netzwerk verbunden ist. Sie können dem Benutzer sogar erlauben, Änderungen an den Daten vorzunehmen und sie zu einem späteren Zeitpunkt hochzuladen.

Data Abstract abstrahiert auch vollständig die kniffligen Details der Arbeit mit verschiedenen Datenbank-Back-Ends. Während Sie Ihre Hände schmutzig machen können und zum Beispiel benutzerdefinierte SQL-Abfragen auf dem Server schreiben, bleiben Ihre Client-Apps vollständig datenbankunabhängig.

Data Abstract für
.NET

Data Abstract für
Delphi

Data Abstract für
Cocoa

Data Abstract für
Java & Android

Data Abstract für
JavaScript

Data Abstract erleichtert den Zugriff auf Daten aus Ihren Apps, unabhängig davon, auf welche Plattform Sie abzielen oder welches Entwicklungstool Sie verwenden.

Um dies zu erreichen, wurde Data Abstract für jede der fünf unterstützten Entwicklungsplattformen neu entwickelt – .NET, Cocoa, Java, JavaScript und Delphi.

Alle Editionen von Data Abstract folgen einem gemeinsamen Entwurfsmuster rund um einige Kernklassen wie einen Remote Data Adapter und Datentabellen, aber die Infrastruktur wird nativ auf jeder Plattform implementiert, sodass Sie dies nicht tun müssen mit .NET-Ismen umgehen, wenn Sie in Xcode arbeiten, oder mit Java-Ismen, wenn Sie mit .NET arbeiten, und so weiter.

Und es versteht sich von selbst, dass unabhängig von den Plattformen, für die Sie Client-Apps schreiben, alle nahtlos mit demselben Server kommunizieren können.

Was ist Data Abstract?

Ein 30-Sekunden Video-Überblick:

Die Datenbanken

Mit seiner flexiblen Treiberarchitektur ermöglicht Data Abstract Ihrer Anwendung, mit praktisch jedem verfügbaren relationalen Datenbanksystem zu kommunizieren. Sowohl mit Data Abstract für .NET und Delphi als auch mit Relativity Server wird Unterstützung für gängige Datenbankanbieter in der Box bereitgestellt. Und das Anschließen neuer oder esoterischer Datenbanktypen ist einfach.

Und da Data Abstract ein echtes Multi-Tier-System ist, sind auf dem Client natürlich keine Datenbank-Clientbibliotheken erforderlich, was eine echte Thin-Client-Bereitstellung auf allen unterstützten Plattformen ermöglicht und Ihre Datenbank sicher hinter Ihrer Firewall verbirgt.

Microsoft SQL Server | Oracle | PostgreSQL | MySQL | Interbase

SQLite | Firebiord | DBISAM | NexusDB | SQL Azure | ElevateDB

und viele mehr

Sehen Sie sich ein Video an, um loszulegen:

Einführung in Data Abstract für Delphi (8:41)

Anschauen auf RemObjects TV | Anschauen auf YouTube

Einführung in Data Abstract para für .NET (8:51)

Anschauen auf RemObjects TV | Anschauen auf YouTube

Schliessen

Wie können wir Ihnen helfen?

Ihr Name:
Ihre Emailadresse:
 
Ihre Frage:
Schliessen

Vielen Dank!

Ihre Nachricht wurde gesendet und jemand wird sich in Kürze, normalerweise innerhalb eines Werktages, bei Ihnen melden.

Bei technischen Fragen oder Support-Fragen besuchen Sie bitte auch unser RemObjects Talk Support-Forum sowie andere Support-Optionen .