Programmierschnittstellen (APIs)

Programmierschnittstellen (APIs)

VisionR hat eine eigene Skriptsprache, die eine erweiterte JavaScript Syntax aufweist. Diese Sprache zusammen mit anderen Schnittstellen, die in VisionR unterstützt werden, erleichtert die Änderung und Neuerstellung von Modulen. Kundenwünsche können leicht und exakt in Programmfunktionalitäten umgesetzt werden.
Allgemeine Information

Es gibt fünf VisionR-spezifische Sprachen, die für Entwickler zur Verfügung stehen:

  • XML für Objektdefinitionen
  • VisionR Skript
  • VisionR SQL
  • VisionR Server Pages
  • VisionR Stylesheet Language
eXtensible Markup Language (XML)

VisionR benutzt schema-unabhängiges einfaches XML, um Objektdefinitionen und deren Relationen zu beschreiben. Objektdefinitionen, die im System als "objectdefs" (Objektklassen) bekannt sind, sind der Grundbaustein in VisionR und werden für die Bearbeitung aller systemspezifischen Eigenschaften eingesetzt. Kern-Operationen, Benutzeroberflächenkomponenten und Businessobjekte mit ihren Instanzen sind alle mit den vorhandenen Objektdefinitionen verknüpft.

Das VisionR-XML wird für Datenimport/-export, als auch für den Datentransport intern oder mit externen Anwendungen eingesetzt.

VisionR-Server hat ein eigenes Datenbankschema, in dem alle notwendigen Systemobjekte automatisch in Datenbanktabellen übersetzt werden (Object Relational Mapping - ORM).

Es gibt Unterschiede zwischen dem Schema in einer relationalen Datenbank und dem VisionR-Schema. Das VisionR-Schema ist ein abstraktes Model und wird unabhängig vom Speichermedium geführt. Die abstrakten Objektdefinitionen werden systemintern in physisch vorhandene Datenbanktabellen und -spalten übersetzt.

VisionR-Skript (VSC)

VSC ist die Hauptschnittstelle vom VisionR-Kern. Die Sprache braucht keine Datentypdefinitionen, ist aber trotzdem objektorientiert. Sie ermöglicht einen leichten und schnellen Zugriff zu allen Datenbankobjekten und allen VisionR Kernfunktionalitäten. Haupteigenschaft dieser Sprache ist die Möglichkeit Datenbankobjekte performant über kompilierte Abfragen (prepared statements) abzufragen. VSC-Skripte werden systemintern einmalig in JAVA-Binärcode übersetzt und temporär abgelegt, sodass sie als Java-Code ausgeführt werden. So wird eine sehr hohe Performanz bei der Ausführung erreicht.

Die Sprache selbst hat Schnittstellen zu alle anderen VisionR-Kern-APIs und ermöglicht auf dieser Art und Weise die Ausführung unterschiedlicher Skript-Implementierungen von Geschäftsabläufen; Datenbankereignisse wie Hinzufügen, Aktualisieren und Löschen von Objekten; bis hin zu Erzeugen von Komponenten für eine kundenspezifische Benutzeroberfläche.

VisionR-SQL (VSQL)

Die VisionR Strukturierte Abfragesprache (Structured Query Language) wird speziell für die Abfrage und Bearbeitung von Datenbankobjekten eingesetzt. Die Syntax ist ähnlich wie bei SQL (Structured Query Language). VSQL erweitert die Möglichkeiten von SQL, indem sie zusätzliche Abfrage über Relationspfade, vereinfachte Syntax und Entbehren von FROM- und JOIN-Klauseln erlaubt.

Die Ergebnisse bei VSQL-Abfragen sind Objekte, die in der unterliegenden Datenbank persistent gespeichert sind. Statt Tabellen und Spalten, werden in VSQL Objekt-Sammlungen mit Objektpfaden selektiert.

VSQL kann in benutzerdefinierte Skripten eingesetzt werden, um gefilterte Informationen aus der Datenbank auszulesen. Vorkenntnisse in SQL sind nicht erforderlich, um VSQL-Abfragen definieren zu können.

VisionR-Server Pages (VSP)

Die VSP-Sprache ermöglicht eine serverseitige Generierung von Inhalten, ähnlich wie andere solche Sprachen: PHP, ASP, JSP etc. Der Programmcode ist eine Mischung zwischen Text und VisionR-Skript (VSC).

VSP integriert die VisionR-Skript-Sprache mit HTML, ähnlich wie bei anderen serverseitigen Programmiersprachen (Java Server Pages - JSP) oder PHP (Hypertext Preprocessor). Sie erlaubt den Zugriff auf die VisionR-Kern-API über VSC, die zusätzlich mit statischem HTML-Inhalt kombiniert wird, um dynamische webfähige Inhalte zu generieren.

VisionR-Stylesheet Language (VSL)

VSL ist eine XML-basierte Sprache, die VisionR-Skript Aufrufe benutzt, um eine schnelle Erzeugung von XML (und auch anderen Dokumententypen) zu ermöglichen, die mit Inhalten aus der VisionR-Datenbank gefüllt werden. VSL ist die Hauptschnittstelle für Datenexporte aus VisionR in andere Applikationen.

VSL weist viele Ähnlichkeiten mit XSL (eXtensible Stylesheet Language) auf, wie z.B. die Syntax und der Einsatz von Templates.