CortexEngine

Aus MARJORIE-WIKI
Wechseln zu: Navigation, Suche
CortexEngine
Entwickler Cortex AG
Erscheinungsjahr 2008
Betriebssystem Cross-platform
Programmier­sprache C++, C
Kategorie bi-temporale Kontext-Informationsmanagement-System (Multi-Model, MultiValue)
Lizenz kommerziell
www.cortex-ag.com

CortexEngine (ehemals CortexDB) ist ein Kontext-Informationsmanagement-System, welches schema-frei, bi-temporal, dokumentenorientiert arbeitet. Ein adaptives Multi-Model, MultiValue System, das in den Programmiersprachen C++ und C geschrieben ist.[1][2]

Die Entwicklung der CortexEngine entstand aus einem Vorgängerprodukt, das bereits 1987 Ansätze schemaloser Datensätze kannte und für den speziellen Anwendungsfall CRM entwickelt und eingesetzt wurde. Die Entwicklung der CortexEngine wurde im Jahr 1999 in eine eigenständige Produktentwicklung überführt und verfolgt einen universellen Ansatz, um beliebige Anwendungsfälle abdecken zu können. Die Vermarktung, Partner- und Projektarbeit wird durch die Cortex AG übernommen, die zurzeit von der Pleodat GmbH, einer Tochter der SPRIND, gefördert wird.

Merkmale[Bearbeiten]

Zu den Merkmalen gehören unter anderem:

  • generalistisches, vollautomatisches Index-Schema auf schemaloser Datenstruktur
  • UTF-8-Kodierung der Datensätze. Nicht-UTF-8-Daten können mittels eines speziellen Binärdatentyps gespeichert und abgerufen werden.
  • Plattformübergreifende Unterstützung: Die Binärdateien sind verfügbar für Windows, Linux, OS X und können im Rahmen von Projekten oder für Forschungseinrichtungen auch für weitere Plattformen zur Verfügung gestellt werden.
  • Ad-hoc-Abfragen: CortexEngine erlaubt es, jedes Feld jederzeit abzufragen und mit Hilfe von einfacher Mengenlehre mit anderen Ergebnissen zu kombinieren (Schnitt-, Vereinigungs-, Differenz,- symmetrische Differenzmenge). Dabei werden auch Bereichsabfragen und das Suchen mit Hilfe regulärer Ausdrücke unterstützt.
  • Serverseitige JavaScript-Ausführung: JavaScript kann direkt zur CortexEngine geschickt und dort ausgeführt werden. Selektionsergebnisse können somit direkt serverseitig verarbeitet werden.
  • Abbildung von Graphen zur Verbindung zwischen Datensätzen (explizite Verweisstrukturen)
  • Aufbau impliziter Graphen anhand von gleichen Inhalten zwischen Feldern unterschiedlicher Satzarten
  • Mehrfache Verwendung gleicher Felder im selben Datensatz (MultiValue)
  • bi-temporale Speicherung von Informationen je Feld (Transaktionszeit und Gültigkeit je Feld)

Indizierung[Bearbeiten]

Die CortexEngine führt vollautomatisch ein Dictionary aller Feldinhalte und Feldbezeichner (außer Binärdaten und Fließtexten), von denen jeder in Feldindexen geführt wird, die bei der Ausführung von Selektionen kombiniert werden (Mengenlehre). Damit bietet die CortexEngine gegenüber anderen Informationssystemen den Vorteil eines selbstverwalteten, standardisierten Index-Schemas auf Basis schemaloser Datenstrukturen. Eine administrative Optimierung oder weitere Anpassungen sind nicht notwendig. Jede Kombination beliebiger Suchparameter ist daher jederzeit möglich.

Das Dictionary der CortexEngine kann optional über Server-Parameter bestimmte Feldinhalte ein- oder ausschließen.

API[Bearbeiten]

Zwei Formen der API stehen zur Verfügung.

  • eine REST-ähnlicher Zugriff, über den JSON-Objekte für die Abfrage und Datenrückgabe verarbeitet werden. Diese API setzt die Konfiguration der graphischen Oberfläche Uniplex voraus, mit dessen Hilfe vollständige Datenmodelle, Rollen und Rechte, sowie weitere Funktionen umgesetzt werden, so dass im Rahmen der Softwareentwicklung nur noch grundlegende Kernaufgaben umgesetzt werden müssen.
  • eine Kern-API auf Basis von C++, für die ein PHP-Treiber zur Verfügung steht.

Der Einsatz der erstgenannten API auf Basis des Uniplex wird empfohlen.

Offizielle Werkzeuge[Bearbeiten]

Uniplex[Bearbeiten]

Bei dem Uniplex handelt es sich um eine grafische Oberfläche mit dessen Hilfe interaktive Anwendungen (z.B. für spezielle Fachbereiche) erstellt werden können. Durch Konfigurationen wird eine Anwendung vom Datenmodell, dem Rechte-/Rollen-System, bis hin zu einzelnen Funktionen vollständig für den Einsatz entworfen. Im Rahmen agiler Projektphasen ist es somit möglich, fachbereichsbezogene Anwendungen zu erstellen, wie auch die Basis für die Software-Entwicklung zu bieten, um individuelle Anwendungen zu erstellen.

Uniplex-Plug-ins[Bearbeiten]

Über verschiedene Plug-ins können Standardarbeitsprozesse oder Hilfswerkzeuge umgesetzt werden, die sich in die Standardoberfläche des Uniplex integrieren lassen.

Implex[Bearbeiten]

Für die Datenintegration steht diese Java-basierte Applikation zur Verfügung. Mit deren Hilfe ist die Integration von Standardformaten, wie CSV- oder XML-Dateien, möglich und auch die Anbindung weiterer Datenquellen über eine abstrakte Java-Klasse. Ergänzend dazu ist der Import aus derselben und anderen CortexEngine-Systemen möglich.

Dashboard[Bearbeiten]

Auf Basis der CortexEngine und des Uniplex kann diese grafische Oberfläche zur Anzeige und Filterung beliebiger Daten genutzt werden (z.B. für Balken-, Ring-, Liniendiagramme und mehr).

Remote-Admin[Bearbeiten]

Für die grundlegende Verwaltung eines CortexEngine-Servers wird dieses Werkzeug bereitgestellt, um entfernte Engine-Server verwalten zu können. Die Lizenzierung, grundlegende Benutzerverwaltung, manuelle Backup/Restore, Reorganisationen u.a. können hiermit durchgeführt werden.

CortexEngine-Browser[Bearbeiten]

Ein einfach gehaltetes Programm zur Visualisierung aller Datensätze der CortexEngine, ohne den Uniplex einsetzen zu müssen.

Reporter[Bearbeiten]

Einfache, automatisch ablaufende Prozesse auf Basis konfigurierbarer Regelwerke können mit Hilfe des Reporters definiert werden. Beispielsweise können Werte einzelner Datensätze über Graphen in einen gemeinsamen Datensatz zusammengeführt werden (Summe, Durchschnitt, Minimum, Maximum, Anzahl). Hierbei kann auch auf JavaScript zurückgegriffen werden, um beliebige Berechnungen durchzuführen und deren Ergebnisse in einen Datenzsatz zu schreiben.

Agenten[Bearbeiten]

Komplexer ablaufende, automatische Prozesse, die beliebige Aufgaben ausführen können (nicht nur in der CortexEngine).

HTTP-API (DataService)[Bearbeiten]

Eine REST-ähnliche API, die über URL-Aufrufe die Selektion, Ausgabe und Änderung von Datensätzen erlaubt. Grundlage bildet ein konfigurierter Uniplex (siehe oben).

Lizenzierung und Support[Bearbeiten]

Bei der CortexEngine und den dazugehörenden Werkzeugen handelt es sich um kommerzielle Produkte, für die auf Nachfrage gerne kostenlose Lizenzen an Bildungseinrichtungen, Partner und freie Entwickler ausgestellt werden können.

Bekannte Anwender[Bearbeiten]

  • Unter anderem setzte der Automobilhersteller BMW die Datenbasis und dazugehörende Werkzeuge für verschiedene Zwecke ein[3]
  • Neben dem Automotive-Bereich finden sich derzeit weitere Einsatzberichte unter anderem im Fahrzeughandel, des Finance-Controlling, der Datenvalidierung und dem Objektmanagement

Weblinks[Bearbeiten]

Einzelnachweise und Anmerkungen[Bearbeiten]

  1. Hochspringen Cortex AG Website. Abgerufen am 1. Dezember 2014.
  2. Hochspringen Online-Dokumentation der CortexDB. Abgerufen am 1. Dezember 2014.
  3. Hochspringen BMW setzt auf Datenbanksystem CortexDB. In: automobil-produktion.de. 21. August 2014, archiviert vom Original am 23. September 2015; abgerufen am 29. Oktober 2023.
Info Sign.svg Dieser Wikipedia-Artikel wurde, gemäß GFDL, CC-by-sa mit der kompletten History importiert.