ORDA – Vom Anfänger zum Experten

ORDA, die Abkürzung für Object Relational Data Access, ist eine Methode des Datenzugriffs, die die Vorteile der objektorientierten Programmierung mit denen relationaler Datenbanken kombiniert und es Entwicklern ermöglicht, sich auf die Lösung von Geschäftsproblemen zu konzentrieren, anstatt den Datenzugriff zu verwalten.

Unabhängig davon, ob Sie neu in ORDA sind oder bereits damit vertraut sind und Ihr Wissen erweitern möchten, betrachten Sie diesen Blogbeitrag als eine Roadmap, die Sie durch den Lernprozess führt.

Dieser Blogbeitrag enthält die folgenden Punkte:

Lassen Sie uns ohne Umschweife zur Sache kommen!

Warum sollte ich mich für ORDA interessieren?

Bevor wir auf die technischen Details eingehen, sollten wir einige der Vorteile von ORDA auflisten:

Alles ist ein Objekt

ORDA ist eine Welt, in der alles ein Objekt ist, auch die Datenbank.

Dieser Ansatz ermöglicht den Zugriff auf die gesamte 4D-Datenbank über einen objektorientierten Ansatz, der die Arbeit mit den Daten erleichtert und die Komplexität des Codes reduzieren kann. ORDA bildet Daten auf reale Konzepte ab, so dass die Verwendung der Daten einfach wird und kein tiefes Verständnis der relationalen Struktur erforderlich ist.

Geschäftsorientierter Code mit Klassen

ORDA verfügt über Klassen, die dem Datenmodell gewidmet sind. Dank der Klassen kann die Komplexität der physischen Datenimplementierung ausgeblendet werden, und die Anwendung kann problemlos Dienste bereitstellen, ist einfacher zu verwalten und zu pflegen und lässt sich nahtlos in andere Anwendungen integrieren.

Out-of-the-Box-Leistung

ORDA kann dazu beitragen, die Leistung von Anwendungen zu verbessern, indem es verschiedene Optimierungstechniken wie Kontexte und „Lazy Loading“ bereitstellt. Diese Techniken können dazu beitragen, die Anzahl der auszuführenden Datenbankabfragen zu reduzieren, was zu schnelleren Antwortzeiten der Anwendung führt. Und das Beste daran? Das alles geschieht automatisch; im Gegensatz zu SQL oder einem ORM-Tool ist keine Programmierung erforderlich.

Erhöhte Skalierbarkeit

ORDA kann die Skalierbarkeit von Anwendungen durch die Unterstützung verteilter Datenbankarchitekturen erhöhen. Das bedeutet, dass die Daten auf mehrere Datenbankserver verteilt werden können, was zu einer besseren Leistung und zur Bewältigung größerer Datenmengen beitragen kann.

Offen und erweiterbar

ORDA ermöglicht eine nahtlose Integration zwischen verschiedenen Systemen. Es kann mit dem REST-Server kombiniert werden, um Geschäftslogik mit einer kontrollierten API (über Ihre Klassen) für andere Tools, wie z. B. Web-Frameworks wie Angular oder React, bereitzustellen.

Nachdem wir einige der Vorteile von ORDA kennengelernt haben und wissen, wie sich diese Technologie positiv auf Ihre Anwendung auswirken kann, wollen wir uns nun den technischen Details widmen.

ORDA im globalen Überblick

Dieses Schema zeigt einen globalen Überblick über die gesamte ORDA-Nutzung:

  • ORDA bietet APIs für die Arbeit mit Ihren Daten und eine robuste Abstraktionsschicht, die als Geschäfts-APIs offengelegt werden.
  • Ein komplettes System von Berechtigungen ist verfügbar, um den Zugriff auf Ihre Daten zu filtern.
  • Mit ORDA können Sie mit dem REST-Server arbeiten, indem Sie entfernte Datenspeicher oder die REST-APIs verwenden.
  • Sie können ORDA verwenden, wenn Sie im Client-Server-Modus arbeiten.
  • ORDA-Code kann auch in einer Web-Anwendung verwendet werden (4DACTION, 4D-Tags).

Dieses Diagramm soll Ihnen einen Überblick darüber geben, wie ORDA mit verschiedenen 4D Teilen verbunden ist. Sobald die Idee klar ist, folgen Sie den untenstehenden Schritten, um Ihre Lernreise zu beginnen.

Die Lernreise kann beginnen!

Schritt 1 – Hauptkonzepte

Die wichtigsten Konzepte von ORDA können Sie hier entdecken.

Machen Sie sich zunächst mit den Begriffen Datastore, Dataclass, Entity und Entity Selections vertraut. Verstehen Sie die Bedeutung dieser Konzepte, denn Sie werden sie bei der Arbeit mit ORDA häufig sehen.

Schritt 2 – ORDA-APIs

Im zweiten Schritt sehen Sie sich die objektorientierten ORDA-APIs an und erfahren, wie Sie Ihre Daten mit diesen APIs bearbeiten können.

Die am häufigsten verwendete API ist zum Beispiel query(), um eine Abfrage auf Ihrer Datenbank auszuführen.

Damit Sie die einzelnen APIs besser kennenlernen können, finden Sie hier eine Liste von Blogeinträgen mit Demoanwendungen, mit denen Sie spielen können.

  1. Abfrage Ihrer Datenbank mit einem objektorientierten Ansatz
  2. Hin- und Hergehen zwischen aktuellen Selektionen und ORDA
  3. CRUD-Aktionen
  4. Logische Operationen
  5. Handhabung von Entities
  6. Arbeiten mit Objects und Collections
  7. Berechnen von Statistiken
  8. Order by formula
  9. Query with formulas
  10. Benannte Platzhalter für Attributpfade
  11. Benannte Platzhalter
  12. Entity Selection: extract()- und refresh()-Methoden
  13. Mitgliedsmethoden zum Abrufen von Strukturinformationen
  14. Vergleich von zwei Entity Selections
  15. Optimistische Sperrmechanismen
  16. Sperren von Entities
  17. Schreiben von generischem Code
  18. Beispiel für generischen Code
  19. ORDA-Spickzettel

Entdecken Sie die Macht der Beziehungen mit ORDA

Wie bereits erwähnt, ist ORDA eine Methode des Datenzugriffs, die die Vorteile der objektorientierten Programmierung mit denen relationaler Datenbanken verbindet.

Wenn Sie noch weiter gehen und alle Vorteile entdecken möchten, die Sie mit ORDA aus den Relationen ziehen können, finden Sie hier eine Reihe von Demos, in denen Sie lernen, wie Sie viele Codezeilen einsparen und eine benutzerfreundliche Schnittstelle aufbauen können.

    1. Folge 1
    2. Folge 2
    3. Folge 3
    4. Folge 4

Verknüpfen Sie es mit klassischem 4D Code

Wenn Sie noch den klassischen 4D-Code verwenden (den wir alle kennen und lieben), können Sie ihn bei Bedarf mit dem ORDA-Code mischen.

Dies ist nützlich, um ORDA-Konzepte schrittweise in Ihrer Anwendung einzuführen.

Details dazu finden Sie in diesem Blogbeitrag.

Schritt 3 – ORDA-Abstraktionsschicht.

Um mit ORDA weiterzukommen, sollten Sie die Vorteile der Abstraktionsschicht nutzen.

In dieser Schicht implementieren Sie Ihre gesamte Geschäftslogik durch ORDA-Datenmodellklassen.

Die Handhabung von Klassen ist ein weiterer Schritt in der objektorientierten Programmierung. Jede Klasse kann Geschäftslogik in Funktionen aufnehmen.

Entdecken Sie die Vorteile von berechneten Attributen und Aliasen. Es ist einfach, ein berechnetes Attribut einzurichten, das seine Berechnungsformel und seine gesamte Geschäftslogik definiert. Oder Sie definieren einen Alias wie jedes andere Attribut in Ihrem Datenmodell.

Daher werden die Entwickler diese Abstraktionsschicht nutzen, anstatt sich um die physische Implementierungsschicht zu kümmern.

  1. Willkommen in der Welt der ORDA-Klassen
  2. ORDA-Klassen zur Handhabung Ihres Datenmodells
  3. ORDA-Datenmodellklassen und REST
  4. TIPS mit ORDA-Datenmodell-Klassen
  5. Eine Zaubershow mit berechneten Attributen
  6. Begrüßen Sie Aliases

 

Schritt 4 – Aus der Ferne arbeiten

Jetzt ist es Zeit für den spaßigen Teil 🙂

client-server

Sie können ORDA im Client-Server-Modus verwenden. Verwenden Sie den ds-Befehl, um das Datastore-Objekt zu erhalten und mit Ihren Daten zu arbeiten.

Hier finden Sie weitere Details zu den spezifischen Funktionen für die Arbeit in C/S.

  1. Das lokale Schlüsselwort
  2. Aktualisieren der Entitätsauswahl

Remote-Datenspeicher

Wenn Sie in Client Server arbeiten, sind Sie auf die aktuelle Datenbank beschränkt, die eine permanente Netzwerkverbindung erfordert.

Dank des Remote Datastore kann eine Anwendung Daten aus einer anderen Remote 4D Datenbank auf einem 4D Server abrufen !

Dieses Feature deckt eine Vielzahl von Anwendungsfällen ab:

  • Organisieren Sie Ihre Anwendungen so, dass sie offline arbeiten und die lokalen Daten nur synchronisieren, wenn die entfernten Daten erreichbar sind
  • Veröffentlichen Sie Ihre Daten auf mehreren Servern und wechseln Sie bei Bedarf von einem zum anderen
  • Teilen Sie Ihr Datenmodell auf verschiedene Datenbanken auf( z. B. lokale Daten, internationale Daten). So können Sie Ihre Daten an verschiedenen Orten verteilen und dennoch über einen einzigen 4D Client Code (Projektmethoden und Formularobjekte) zugreifen

 

Lesen Sie diese Blogbeiträge, um mehr zu erfahren:

  1. Mehrere 4D Datenquellen, interessiert?
  2. Remote datastores, ein praktischer Anwendungsfall

REST-APIs

Die REST-Server-APIs basieren auf ORDA-Konzepten.

Hier finden Sie einige wertvolle Blogeinträge, um zu lernen, wie man REST APIs benutzt.

    1. 4D Rest Server und Postman
    2. 4D Rest Server und ReactJs
    3. ORDA-Datenmodellklassen und REST
    4. Das exponierte Schlüsselwort

Schritt 5 – Optimierung der Anfragen

Wenn Sie aus der Ferne mit ORDA arbeiten, sollten Sie wissen, dass die Anfragen automatisch optimiert werden, um nur die benötigten Attribute an den Server zu senden. Darüber hinaus können Sie auch Ihre eigenen Optimierungsregeln anpassen, um die Leistung zu verbessern.

Um mehr Schritt für Schritt zu erfahren, finden Sie hier eine Liste von Blogbeiträgen.

  1. Verwenden Sie ORDA zur Leistungssteigerung
  2. Vollständige Kontrolle über die REST-Anfragen
  3. Anforderungsoptimierung und eine Demo
  4. Protokollierung der Anfragen

 

Und hier ist eine Live-Video-Demo, die während des Summit 2020 gemacht wurde

Schritt 6 – Berechtigungssystem zum Filtern des Zugriffs auf Daten

Das Filtern des Datenzugriffs ist eine unverzichtbare Funktion, um böswilligen Zugriff auf Ihre Anwendung zu verhindern.

Seit v19R8 profitieren Sie von einem leistungsstarken und vollständig anpassbaren System zum Schutz Ihrer Daten vor unbefugten Benutzern. Es handelt sich um ein System zum Schutz Ihrer Daten, das davon abhängt, wer auf sie zugreift und auf welche Daten zugegriffen wird.

Es deckt alle Web-Prozesse ab, wie z. B. REST-Anfragen, Anfragen, die auf einem Remote-Datenspeicher eingehen, und Web-Prozesse wie 4DACTION oder 4D-Tags.

Lesen Sie diesen Blogbeitrag, um mehr zu erfahren.

Schritt 7 – Gemeinsame Nutzung von Daten zwischen Prozessen

Sie haben vielleicht schon mit gemeinsam genutzten Objekten und Sammlungen gearbeitet. Sie können auch Entity Selections zwischen mehreren Prozessen teilen, um die Leistung zu steigern.

Lesen Sie diese Blogbeiträge, um mehr zu erfahren:

  1. Gemeinsame Nutzung einer Entity Selection zwischen Prozessen
  2. Reibungsloser Übergang zu gemeinsam nutzbaren Entity Selections

Webanwendung

Sie können dies auch nutzen, wenn Sie mit skalierbaren Websitzungen arbeiten. Sie können mehrere Prozesse im präemptiven Modus verarbeiten. Das bedeutet, dass skalierbare Websitzungen mehrere User-Agent-Anfragen gleichzeitig entgegennehmen können.

Diese neuen skalierbaren Websitzungen können Daten zwischen diesen Prozessen austauschen, sogar Entity Selections.

Diese Blog-Posts werden Ihnen helfen, wenn Sie mit Entity Selections in Webprozessen arbeiten.

    1. Skalierbare Websitzungen für fortgeschrittene Webanwendungen
    2. Gemeinsame Nutzung führt zu mehr Leistung
    3. ORDA-Schleifenbildung mit 4D-Tag

Zum Schluss

Denken Sie daran, dass ORDA ein leistungsstarkes Werkzeug ist, das Ihren Entwicklungsprozess und den Datenzugriff schneller und effizienter machen kann.

Wir hoffen, dass dieser Blogbeitrag Ihnen geholfen hat. Zögern Sie nicht, Fragen im Forum zu stellen.

Wir helfen Ihnen gerne mit ORDA!

Avatar
- Product Owner - Marie-Sophie Landrieu-Yvert ist seit 2017 als Product Owner im 4D Produktteam tätig. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Marie-Sophie ist Absolventin der ESIGELEC Ingenieurschule und begann ihre Karriere als Ingenieurin bei IBM im Jahr 1995. Sie nahm an verschiedenen Projekten teil (Wartungs- oder Build-Projekte) und arbeitete als Cobol-Entwicklerin. Dann arbeitete sie als UML-Designerin und Java-Entwicklerin. In letzter Zeit bestand ihre Hauptaufgabe darin, funktionale Anforderungen zu analysieren und zu schreiben sowie Geschäfts- und Entwicklungsteams zu koordinieren.