Lade...
 

Das InstantView RAD Framework

Das InstantView RAD Framework

Zielsetzung

Zu InstantView gehört ein interaktives Design-Tool (Workbench), das den InstantView-Code für eine Oberflächenbeschreibung automatisch generiert.

Dieses Werkzeug ist selbst mit InstantView geschrieben: InstantView bearbeitet hier statt der Geschäftsobjekte die Windowobjekte der Oberfläche.

InstantView-Code kann alternierend mit der Workbench oder mit einem Editor bearbeitet werden. Der Codegenerator des Design-Tools modifiziert bereits existierenden Code, wobei die mit dem Editor getroffene Formatierung und Kommentare erhalten bleiben.

Da die Workbench selbst aus InstantView-Code besteht, kann sie als leicht zu modifizierender Baukasten eines Design-Tools gesehen werden. Eine reduzierte Version – MiniWorkbench – kann in eine Anwendung integriert werden, um schnelle Änderungen zu unterstützen.

Anwendungsmodule sind mit der Skriptsprache InstantView geschriebene Programmteile. Sie entsprechen einer Teilaufgabe bzw. einem Arbeitsschritt der Anwendung und bestimmen, wie sich eine Anwendung dem Benutzer präsentiert. Die Module sind in einer umfangreichen Bibliothek, dem AppsWarehouse, zusammengestellt. Somit stehen für gleiche Teilaufgaben diverse Module zur Verfügung.

Dynamisches Interface zu Geschäftsobjekten

Die Software-Schicht InstantView  stellt mächtige, auf die Bedürfnisse betriebswirtschaftlicher Anwendungen zugeschnittene Bausteine für Darstellung und interaktive Bearbeitung der Daten zur Verfügung. Die entsprechenden C++-Klassen sind nicht direkt zugänglich, sondern werden über eine einfache Sprache erreicht, die der InstantView-Interpreter ausführt. Dies erlaubt es, die Oberfläche zur Programmlaufzeit - 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.

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.

Drucken

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.