Das InstantView RAD Framework
- Zielsetzung
- Dynamisches Interface zu Geschäftsobjekten
- Multimedia-Objekte, Spracheingabe
- Hilfe-System
- InstantView Editor
Zielsetzung
Das InstantView RAD Framework ermöglicht es mit ausschließlichem Gebrauch der InstantView Skriptsprache betriebswirtschaftliche Anwendungen ganzheitlich zu erstellen:
- Speichern, Lesen und Löschen von Geschäftsobjekten in der Datenbank
- Programmierung der Geschäftslogik
- Erstellen der Benutzerdialoge
Weder benötigt man Kenntnisse in SQLum Daten zu schreiben, lesen oder löschen, noch ein Wissen über eine gesonderte Sprache oder ein spezielles Tool, um die Oberfläche (GUI) für die Benutzerdialoge zu erstellen. Alle zum Erstellen einer betriebswirtschaftlichen Anwendung notwendigen Kommandos für Datenspeicherung, Programmlogik und Oberfäche sind Teil der Skriptsprache InstantView .
Alle von classix angebotenen Lösungen und Anwendungs-Apps bestehen aus mit der Skriptsprache InstantView geschriebenen Programm-Modulen. Sie entsprechen einer Teilaufgabe bzw. einem Arbeitsschritt einer Anwendungslösung und bestimmen, wie sich eine Anwendung dem Benutzer präsentiert.
Alle verfügbaren Apps sind in einer umfangreichen Bibliothek, dem AppsWarehouse, zusammengestellt, auch für gleiche bzw. ähnliche Teilaufgaben stehen diverse Apps bzw. Module zur Verfügung.
Im AppsWarehouse findet sich auch die AppsWarehouse® Browser App, ein interaktives Tool (Workbench), das u.a. InstantView-Code für eine Oberflächenbeschreibung automatisch generieren kann. Dieses Werkzeug ist selbst mit der InstantView Skriptsprache geschrieben: InstantView bearbeitet hier statt der Geschäftsobjekte die Windowobjekte der Oberfläche.
Dynamisches Interface zu Geschäftsobjekten
Die Software-Schicht InstantView stellt mächtige, auf die Bedürfnisse betriebswirtschaftlicher Anwendungen zugeschnittene Bausteine und Kommandos für Darstellung und interaktive Bearbeitung persistenter - d.h. in einer Datenbank gespeicherten - Geschäftsobjekte und derer Daten zur Verfügung. Die zu den Geschäftsobjekten gehörenden C++-Klassen sind nicht direkt zugänglich, sondern werden über einfache Skript-Anweisungen erreicht, die der InstantView-Interpreter zur Laufzeit (runtime) ausführt. Dies erlaubt es, die Oberfläche zur Programm-Ausführungszeit - z.B. direkt bei der Diskussion mit einem Anwender – zu modifizieren.
Der Interpreter schützt das darunter liegende System, gewährleistet hohe Fehlertoleranz. Änderungen an den Anwendungen stellen ein nicht mehr so hohes Fehlerrisiko dar, und der geänderte InstantView-Code kann bei laufendem System ausgetauscht werden. Eine agile Vorgehens- und Programmentwicklung wird somit in höchstem Maße unterstützt.
InstantView-Anweisungen für den Datentransfer zwischen (Geschäfts-)Objekten und der Oberfläche stützen sich auf die Definition einer Abbildung der Daten auf die Elemente der Window Oberfläche. Damit ist die Ein- und Ausgabe beliebiger Daten - die in allen Anwendungen immer wiederkehrende Aufgabe - besonders einfach und elegant zu beschreiben.
InstantView ist Objekt orientiert mit all seinen Facetten, was sich auf die Module niederschlägt, wobei sich die Vererbung auch auf die Windows-Ressourcen bezieht: Man kann die Windows Oberfläche eines Moduls durch Ableitung modifizieren, Man vermeidet so das Kopieren von Codesegmenten und die damit verbundenen Probleme der.
InstantView-Anweisungen haben natürlich vollen Zugriff auf alle Datenfelder der Geschäftsobjekte und können deren Methoden aufrufen.
InstantView ist das dynamische Interface zu den Geschäftsobjekten, das
- die Visualisierung organisiert und
- das Zusammenwirken der Geschäftsobjekte steuert.
Der letzte Punkt beinhaltet, dass es eine Aufgabenteilung zwischen dem C++-Code in den Methoden der Objekte und mit InstantView formulierten Algorithmen gibt, der die Anpassung an ständig variierende Anforderungen erleichtert.
Das Laufzeit-System der Softwareschicht InstantView enthält C++-Klassen, die u.a.
- das User-Interface organisieren (Grundbausteine zur Visualisierung).
- Operationen mit Objekten und Objektmengen (Collections) erlauben.
- den Objektcharakter der Applets implementieren (Kapselung durch Messages, Vererbung, Polymorphie).
- Dienste der Datenbank zugänglich machen.
Diese Dienste werden durch den in Module organisierten InstantView-Sourcecode aufgerufen. Module kommunizieren ausschließlich durch Messages (und sind damit weitgehend entkoppelt) untereinander. Ein Modul kann problemlos durch ein Modul ähnlicher Funktionalität ersetzt werden.
Multimedia-Objekte, Spracheingabe
Die InstantView-Anweisungen für die Dateneingabe DrainWindow und Datenausgabe FillWindow unterstützen auch Bitmaps (Graphiken) als Datenfelder der Geschäftsobjekte.
Graphiken können aber auch als Hintergrund eines jeden Fensters oder als Symbole für einen Button benutzt werden.
In jedem geeignetem Oberflächen-Objekt kann ein Video-File abgespielt werden und es gibt Anweisung zum Abspielen von Wave-Files (Audio).
Eingabefelder können für Spracheingabe aktiviert werden, d. h. das Eingabefeld, das den Focus besitzt, würde sowohl Tastatureingaben als auch in das Mikrophon gesprochenen Text akzeptieren. Man kann Kommandos vereinbaren, d. h. es werden Tupel aus einem Wort und einer Message (siehe COM-Objekte) angemeldet. Wenn ein als Kommando angemeldetes Wort erkannt wird, wird es nicht Bestandteil des eingegebenen Textes sondern die mit dem Wort verbundene Message wird ausgelöst.
InstantView unterstützt das Erzeugen von Drucklisten. Ausgabetexte, OLE-Objekte, Bitmaps und andere graphische Elemente wie Linien und Rechtecke können jederzeit an beliebige Positionen in der aktuellen Seite oder innerhalb des gesamten Dokuments platziert werden (Seitenkonzept).
Teile der Window-Oberfläche können in die Druckliste übernommen werden; bei einer Objektbox schließt dies auch die gerade nicht sichtbaren Zeilen ein.
Ist eine Druckliste breiter als der bei Windows angemeldete Drucker, so wird die Liste auf mehrere Blätter verteilt.
Hilfe-System
Sowohl für die Online-Hilfe des Systems als auch für die der Anwendungen werden HTML-Files verwendet. Die einfache Verbindung zwischen InstantView-Source-Code und HTML-Files versetzt Anwender in die Lage, die Hilfstexte mit eigenen Anmerkungen zu erweitern.
Dabei kann jedem Window-Objekt eine eigene Hilfe zugeordnet werden.
InstantView Editor
Für das Editieren von InstantView Code steht ein plug in für Eclipse zur Verfügung. Der Editor unterstützt ein Debugging zur Laufzeit.