CARA Script-Engine / Script-Interpreter
Besondere OptionenEntwicklungswerkzeuge
Topologie
Die Scriptsprache CARA dient zur Entwicklung von Datenbankanwendungen für das Betriebssystem Windows.
CARA wird durch die Creative Soft- & Hardware GbR (CSH) nach GNU-General-Public-License verfügbar gemacht, der verantwortliche Entwickler ist Dieter Dasberg.
Die 4GL-Scriptsprache CARA wird seit 1992 zunächst in Pascal, später in Delphi entwickelt und ist der Nachfolger der Vorgängerengine, die Grundlage für Datenbank-Software auf dem Betriebssystem DOS war.
CARA (create any relational-database application) stellte eine RAD-Umgebung (rapid application development) zur Verfügung, mit deren Hilfe es extrem schnell möglich ist Datenbank-Anwendungen zu entwickeln und Änderungen – auch während der Laufzeit - daran vorzunehmen.
Unter Anderem werden viele, sich wiederholende Funktionselemente bei Datenbankanwendungen vom Interpreter direkt erledigt und müssen nicht aufwendig programmiert werden. CARA unterstützt umfassend Embedded-SQL (d.h. Datenbankabfragen können mittels der Datenbanksprache SQL (stuctured query language = strukturierte Abfragesprache) direkt in den Scriptcode eingegeben werden).
Darüber hinaus bietet die Scriptsprache an einigen Stellen Abstraktionslayer, die es dem Programmierer erlauben, seine Applikation unabhängig von verschiedenen Rahmenbedingungen beim Kunden zu entwickeln. Ein Beispiel hierfür ist die Anbindung von Datenbanken. Hierzu bietet die Scriptsprache ein ANSI-SQL erweitert um diverse Funktionen, die der Interpreter entsprechend der angebundenen Datenbank anpasst und ausführt. Dieser Layer kann optional zu protokollzwecken und Datenbank-Nutzungsprofilen genutzt werden. Derzeit unterstützt CARA die Datenbanken DB/2, Informix, Oracle, MS-SQL, MySQL, PostgeSQL, Interbase, SyBase, iAnywhere, PervasiveSQL, Paradox, Foxpro, dBase, MS-Access und alle über ODBC- und ADO-Treiber ansprechbare SQL-Datenbanken.
Serverseitig ist das System an keine Plattform gebunden, da die Software lediglich auf einem Netzwerklaufwerk bereitgestellt werden muss und für jedes gängige System eine der unterstützten Datenbanken verfügbar ist. Seitens IBM liegen Enablements (erfolgreiche Test) für die X-Series, P-Series und System-I inkl. AS400 vor.
Der Interpreter selbst ist für alle gängigen Windows Betriebssysteme (von Windows 95 bis Windows Vista und auch Windows 7) verfügbar.
Besondere Optionen:
- CARA bietet zur Speicherung von Daten SuperUniqueRecordIDs an, mit denen automatisch eine Referenzliste aller Datensätze aller Tabellen mit absolut ein-eindeutigen Datensatz-IDs über die gesamte Anwendung erstellt wird.
- Die automatische Protokollierung aller Änderungen von Datensätzen aus Benutzerdialogen kann jederzeit und übergreifend Aufschluss über Datum, Uhrzeit und Benutzer des Vorgangs geben.
- VirtualDelete macht es möglich alle Löschvorgänge der Anwendung zu protokollieren und wiederrufbar zu machen. Dabei können die gelöschten Daten wahlweise über die Standard-Dialoge gesichtet werden und ebenfalls Aufschluss über Datum, Uhrzeit und Benutzer des Auslösens der Löschung geben.
- Die integrierten Manager-Module für Notizen, Dokumentenverwaltung und Termine stehen für jedes Dialogelement bzw. alle Datensätze aller Tabellen ohne zusätzlichen Programmieraufwand zur Verfügung.
- Wildcard-Suche, Volltext-Suche und Phonetik-Suche müssen vom Entwickler in keinem Dialogelement explizit implementiert werden, da dies integrale Elemente der Benutzerdialoge sind.
- Alle GUI-Einstellungen der Benutzer werden automatisch gesichert und beim erneuten Aufruf geladen.
- Der Application-Log protokolliert alle Ein- und Aus-Log-Vorgänge der Benutzer. Auch wenn diese Remote auf die Datenbank zugreifen. Dabei können lokale Zeitunterschiede z.B. wegen unterschiedlicher Zeitzonen, kompensiert werden.
- Der Interpreter ist in der Lage im Zusammenhang mit der MySQL-Datenbank zur Laufzeit einen SSH verschlüsselten Tunnel z.B. zu einem Zentralserver aufzubauen.
- Bei aktivierter Mandantenverwaltung kann eine Applikation automatisch bis zu 42 Mandanten parallel halten und die Daten interaktiv untereinander austauschen und sogar wahlweise an gleichen Daten partizipieren lassen.
- Das Export-Tool erlaubt es dem User aus allen SQL-Abfragen in folgende Formate zu exportieren: XLS, DOC, PDF, DBF, XML, HTML, RTF, TXT, CSV, DIF, SQL, SYLK, LaTeX und natürlich das Clipboard. Das Export-Tool kann auch aus der Script-Sprache heraus angesprochen werden und ermöglicht die Ausgabe von Daten in diesen nativen Dateiformaten.
- Der Query-Konfigurator erlaubt dem Benutzer die vom Programmierer verfügbar gemachten Datenlisten (SQL-Views) frei und nach eigenen Wünschen einzustellen, ohne dabei die Funktionalität zu gefährden.
- Datenbank-Anwendungen können auf mehrere Datenbanken zur gleichen Zeit zugreifen.
- Mit dem EASY-Setup-Tool können CARA-Applikationen leicht und schnell installiert werden.
- Mit dem CARA-Smtp-Serial-Mailer können Serienmails direkt aus Anwendungen versandt werden.
- CARA-Anwendungen werden mittels des CARA-Licence-Managers mit einem concurrent Client ausgeliefert, der es erlaubt beliebig viele Installationen zu managen, die sich die lizensierte Benutzeranzahl teilen. Dabei wird das mehrfache Starten der Anwendung auf einem Client erkannt und nicht doppelt gezählt. Somit können moderne Lizenzmodelle wie sie für On-Demand- und SaaS-Konzepte (Software as a Service) notwendig sind, realisiert werden.
- Das in CARA implementierte Rechtemodell-Management steht sofort in jeder Applikation zu Verfügung und kann Modelle, Gruppen und Einzelrechtesysteme zu jedem einzelnen Applikations-Menüpunkt abbilden. Dabei können Schreib-, Lese-, Änderungs- und Lösch-Rechte, hierarchische Modelle, sowie Export- und Konfigurations-Rechte jeweils unabhängig voneinander definiert werden.
- Mit der eigens für die Script-Interpreter-Engine entwickelten CALI-Schnittstelle (CARA-Link) können Fremdprogramme direkt Scripte und Prozesse einer CARA-Anwendung anstoßen und so eine einfache und unproblematische Interaktion herbeiführen. Dies wird über den Application-WatchDog für CALI-Dateien realisiert.
- Mit der ebenfalls im Hause CSH durch Josef Bräuer erstellten Entwicklungsumgebung CATA (create any telnet application) können Telnet-Anwendungen erstellt werden, die mit CARA-Anwendungen interagieren. Ein Beispiel ist die Steuerung von WLan-Barcode-Readern mit Telnet-Client, die mit einer Datenbank-Anwendung gekoppelt werden sollen.
- Die ebenfalls im Hause CSH durch "das UNI-Team" Josef Bräuer, Manuel Bandmann, Benedikt de Lauso, Acun Gürsoy und Marc Deuser erstellte Entwicklungsumgebung CAWA (create any web application) ist die konsequente und kompromisslose Weiterentwicklung der CARA-Engine für die Realisierung von Web-Applikationen. Es handelt sich dabei um eine PHP-Web-Klassen-Bibliothek, die indirekt mittels CALI und nativ in Hybrid- bzw. Terminal-Lösungen mit einer CARA-Anwendung kommunizieren kann.
- Zu den Telefonie-Lösungen "OSITRON CTI" (http://www.ositron.com) der Fa. Ositron und "CATS" (http://www.cats.ms) der Fa. SPUeNTRUP bestehen Schnittstellen, die direkt aus einer Script-Applikation heraus angesprochen werden können.
- In CARA ist eine grafische Druckengine implementiert, die u.a. auch als Reportgenerator genutzt werden kann.
Folgende Hilfsmittel unterstützen die Entwicklung (auch zur Laufzeit):
- Script-Monitor
- Script-Procedure-Monitor
- SQL-Monitor
- Monitor2File Option
- Free-SQL-Interface
- Opcode-Compiler
- ASCII-Data-Import-Tool
- SQL-Streaming Option
- Direct Editor-Call der Quellcodes aus der Applikation heraus