Session V-ADD2

Die wichtigsten AddOns, Teil 2

Jürgen Wondzinski
ProLib Software GmbH


Einleitung

Diese Session stellt die wichtigsten Zusatzprogramme für den Visual FoxPro Programmierer vor. In Verbindung mit der Session V-ADD1 haben Sie somit einen relativ vollständigen Überblick über diese Dinge und können vielleicht besser entscheiden, ob sich bei Ihnen der Einsatz lohnt.

Auf der beiliegenden Konferenz-CD finden sie zu den Tools auch entsprechende Testversionen.

Datenmodellierung mit xCase

xCase ist eine ideale Ergänzung Ihrer FoxPro-Arbeitsumgebung. xCase für FoxPro ist ein Datenbankmodellierungs- und Analysewerkzeug nach dem neuesten Stand der Datenbanktechnologie, das unmittelbar mit FoxPro 2.x und Visual FoxPro zusammenarbeitet. Mit xCase schreiben Sie übersichtliche ER Diagramme, die Sie direkt in die Projektdokumentation übernehmen können

xCase kennt auch die aktuellen Designmethoden wie Attributvererbung und Domänen und erzeugt automatisch Datenbankcode nach den von Ihnen vorgegebenen Regeln. Das ist natürlich nicht alles:

xCase unterstützt Sie während des gesamten Datenbankentwicklungsprozesses. Angefangen von der grundlegenden Analyse über das Design und die Erstellung der Dokumentation für das Pflichtenheft bis zur Generierung des Datenbankschemas und des Programmcodes steht Ihnen xCase in jeder Phase Ihrer Arbeit

zur Seite. Sie können sich auf die wichtigen Aspekte Ihrer Arbeit konzentrieren, während xCase die lästigen und zeitraubenden Nebenarbeiten übernimmt. xCase reizt die Vorteile der graphischen Arbeitsoberfläche voll aus. Mit nur wenigen Tasten drücken oder Mausbewegungen produziert xCase perfekt gestaltete ER-Diagramme mit Erläuterungen in Form von Texten und Graphiken. Sie bestimmen selber Fonts, Farben, Größen und Formate. Mit xCase teilen Sie ganz einfach komplexe Modelle in mehrere Diagramme auf, die jeweils einen Aspekt des Gesamtbildes zeigen. Am Schluß haben Sie ein eindrucksvolles Gesamtbild Ihres Entwurfs, das jeden Kunden durch seine Klarheit und Verständlichkeit beeindruckt.

Aber xCase malt nicht nur schöne Bilder:

Das eingebaute Data Dictionary speichert umfangreiche Informationen über jedes Objekt Ihrer Datenbank und die logischen Regeln für den Datenbankaufbau. Ein übersichtlicher Editor hilft Ihnen bei der Definition der Attribute verschiedener Komponenten Ihrer Datenbank. Sie können selbstverständlich das Data Dictionary auch um eigene Attribute erweitern. Mit dem eingebauten Reportgenerator erzeugen Sie in kürzester Zeit eine

optimal lesbare und sauber gegliederte Dokumentation Ihres Datenbankmodells. Weil das Data Dictionary im FoxPro - Format vorliegt, können Sie auch jeden anderen Reportgenerator verwenden. Alles automatisch !

Während Sie mit der Maus auf dem Bildschirm Entitäten entwerfen und Relationen definieren leistet xCase Schwerstarbeit hinter den Kulissen: Es erstellt Fremdschlüssel, Indizes und Zugriffsschlüssel und steuert die automatische Vererbung von Attributen nach den von Ihnen definierten Regeln. xCase registriert sofort alle Veränderungen, die Sie auf dem Bildschirm vornehmen und aktualisiert das Datenmodell automatisch auf allen Ebenen: Vom den Indizes bis zum Code und hinunter zur Ebene der physikalischen Datenbank. xCase überprüft im Hintergrund ständig die Konsistenz Ihres Datenmodells, und verhindert so Designfehler schon zum frühestmöglichen Zeitpunkt. So stellen Sie die Integrität Ihrer Datenbank schon in der Entwurfsphase sicher.

Smart Views

Selbst die komplexesten SQL-Views definieren Sie mit xCase ohne Umwege direkt am Bildschirm. xCase sorgt für die automatische Vererbung von Feldattributen und setzt die Eigenschaften des Views, ohne daß Sie eine einzige Zeile Code schreiben müßten. xCase nutzt die Relationen und Indizes Ihres Modells optimal aus. WHERE-Anweisungen werden automatisch erzeugt und verwaltet. Und natürlich nutzt xCase, wo immer möglich, die Rushmore-Optimierung!

Codeerzeugung

Nur ein korrektes logisches Modell garantiert, daß auch im späteren Programm die referenzielle Integrität der Daten erhalten bleibt. Mit xCase erzeugen Sie den Code für Stored Procedures aus entsprechenden Vorlagen (Templates), wobei xCase sicherstellt, daß die referenzielle Integrität ebenso sicher gewährleistet ist wie die Beachtung der weiterer Regeln, die Sie definiert haben. Selbstverständlich können Sie den generierten Code hinterher noch anpassen und verändern.

Einfaches Re-Engineering

xCase kann die DBC-Dateien von Visual FoxPro sowohl lesen als auch schreiben. Weiterhin kann es Daten aus FoxPro-Datenbanken und aus jeder ODBC-fähigen Datenbank importieren. xCase fügt dem Hauptmenü von VFP einen Menüpunkt hinzu, mit dem Sie ein VFP-Modell direkt in ein übersichtliches xCase-Diagramm verwandeln. Die Professional Edition von xCase für FoxPro bearbeitet Tabellen aus SQL-Datenbanken zusammen mit FoxPro-Tabellen und schafft so eine ideale Lösung für das Design von Client/Serversystemen mit gemischter Datenhaltung.

xCase und FoxPro - eine ideale Kombination

xCase ist vollständig in die FoxPro-Arbeitsumgebung integriert. Es importiert und verändert FoxPro 2.x Tabellen, vergleicht Ihr Datenmodell mit den tatsächlichen Gegebenheiten und aktualisiert die Tabellen, ohne vorhandene Daten zu gefährden. Es erleichtert Ihnen damit nicht zuletzt den beträchtlichen Sprung von FoxPro 2.x auf Visual FoxPro.

xCase in der FoxPro-Arbeitsumgebung

xCase verbessert die FoxPro-Arbeitsumgebung durch die folgenden Features:

Ein flexibles und erweiterbares Data Dictionary, das Sie nach Ihren Vorstellungen einrichten können. Funktionen für die übersichtliche Entwicklung von extrem komplexen Datenmodellen wie z.B. Aufspaltung in Teildiagramme, Zoom-Funktionen, gleichzeitiges Öffnen von mehreren Fenstern. Verschiedene Sichten auf das Modell erleichtern die Hervorhebung von bestimmten Teilaspekten (Beschreibung, Felder, Indizes, Schlüssel usw.) Ausdrucken von qualitativ hochwertigen Diagrammen, die Sie ohne Nachbearbeitung für Präsentationen verwenden können.

Automatische Generierung von Indizes und Zugriffsschlüsseln

Die Überwachung der referenziellen Integrität arbeitet auch mit zusammengesetzten Schlüsseln korrekt. Eltern und Kind-Indizes dürfen unterschiedliche Schlüsselstrukturen haben.

Automatische Anpassung von Indizes, Sichten und Relationen bei Änderungen der Feldattribute. Die automatische Überwachung der Modellintegrität erkennt und unterbindet die Einrichtung von fehlerhaften Relationen z.B. bei unvollständigen Primär- oder Fremdschlüsseln.

Automatische Erstellung und Verwaltung von SQL-Views einschließlich der Rushmore-Optimierung. Einschluß von SQL-Server, Oracle und viele andere Datenbanksysteme in das erstellte Modell (Professionelle Version). Sehr verständliche und umfassende Reports zu allen Aspekten des Datenmodells.

Datenmodellierung

xCase ist vollständig integriert in Fox /Visual FoxPro. xCase kennt virtuelle Felder, redundante Felder und Felder vom Aufzählungstyp. Sie erstellen Prototypen ohne gleich den physikalischen Datenbankaufbau zu verändern.

Unterstützung für Domänen und automatisch generierten Primärschlüsseln.

Präsentation und Dokumentation

  • Volle Kontrolle über Fonts, Farben und Darstellungsgröße
  • Einfache Bewegung innerhalb eines Diagramms
  • Leichte Aufteilung in überschaubare Diagramme
  • Verschiedene Typen von Informationen gleichzeitig auf dem Bildschirm
  • Erstellen und Drucken von farbigen Diagrammen und Reports.

Verbessertes Data Dictionary

  • Dynamisch erweiterbares Data Dictionary
  • Benutzerdefinierte physikalische Datenbankstruktur
  • Benutzerdefinierte Regeln

Intelligente Views

Viewdefinition über automatisch generierte Sätze von Relationen zur Verbindung von nicht unmittelbar verbundenen Datentabellen (sog. Pfade) Automatische Erstellung von komplexen SELECT-Anweisungen. Alle View-Attribute werden automatisch definiert, ohne daß Sie eine einzige Zeile Code schreiben müssen.

Automatische Verwaltung von WHERE-Anweisungen mit Rushmore-Optimierung

Codeerzeugung

Erzeugung von Code für die Einhaltung der referenzielle Integrität, Feldvalidierung oder Einhaltung von vorgegebenen Regeln

Datenbankneugestaltung und -übernahme

Übernahme von Datenbankmodellen aus DBC-Dateien und Aktualisierung von DBC-Dateien. Import von Datentabellen aus FoxPro 2.x und von ODBC-Datenbanken

Automatisierung

  • Benutzerdefinierte Vererbung von Attributen übernommener Felder
  • Benutzerdefinierte Vererbung von Feldsichtattributen
  • Benutzerdefinierte Domänen-Vererbung
  • Automatische Definition von Primärschlüsseln
  • Automatische Definition von Zugriffsschlüsseln
  • Automatische Definition von Primär- und Fremdschlüsseln
  • Automatische Erzeugung von SQL Joins und FROM-Anweisungen in Sichten

Dokumentation

  • Ausführliches Benutzerhandbuch
  • Umfangreiche Online-HilfexCase Professional

xCase Professional hat außer allen Funktionen der Standardedition noch folgende:xCase Professional unterstützt im vollen Funktionsumfang lokale- UND Serverdatenbanken (Oracle and SQL Server). Sie können nun die Modelle für lokale- und Serverdatenbanken nützen. Weiterhin können Sie heterogene Client-Server-Datenbanken bauen, die sowohl lokale-, als auch Servertabellen beinhalten.

Innerhalb einer lokalen Datenbank ist es möglich, Remote-Views zu gestalten, um auf Serverdaten zugreifen zu können. Nützen Sie bei lokalen- oder Serverdatenbanken überall die Technik des Reverse-Engineerings. Diese Pro-Edition hilft Ihnen beim Übergang von lokalen- zu Serverdatenbanken. xCase Professional Edition ist ein guter Kauf für einen professionellen Entwickler.

xCase Professional unterstützt FoxPro, Visual FoxPro, Jet (Visual Basic und Access), SQL Server und Oracle, und es gibt eine spezielle Version für Interbase.

Viewer Edition

Der Viewer (Betrachter), wie der Name schon sagt, erlaubt es auch anderen Benutzern, jedes einzelne Detail Ihres erzeugten Modells anzusehen. Jedoch ist es nicht möglich, irgendetwas an Ihrer Arbeit zu verändern. Somit ist der Viewer ideal für Ihre Kunden, Ihre Kollegen in einer Arbeitsgruppe und allgemein für Ihre Firma.

Den Viewer kann man mit alles xCase-Editionen einsetzen. Auch können Sie den Viewer an irgendeinem Zeitpunkt Ihrer Produktplanung einsetzen.

Mit dem Viewer haben Sie die Möglichkeit, statt unzähligen Seiten, die das Produkt erklären, eine dynamische graphische Dokumentation anzubieten. Diese Möglichkeit erlaubt es Ihren Kunden, verschiedene Verknüpfungen Ihrer mit xCase erstellten Modells anzusehen. All das wird Ihren Planungs- und Arbeitsaufwand senken, Sie werden in der Lage sein, effizienter arbeiten zu können.

Das neue xCase 4.0 bietet eine Mnge neuer Features zur besseren Datenbank-Modellierung:

Graphik/Ansicht:

verbesserte Visualisierung und Mehrfachansichten eingebetteter Diagramme, erweitertes Display Management, Betrachtungsmöglichkeit von Datenmodellen und Echtdaten.

Diagramme:

Eingebettete Diagramme (Diagramm im Diagramm)

Editieren:

Betrachten und Editieren von Daten in Modelltabellen über ODBC-Anbindung zur Datenbank,

Up-/Downsizing von Datenmodellen.

Allgemein:

Script Execution für SQL Datenbanken, Hinzufügen oder Entfernen von Feldern in SQL Daten-banken, Abfrage-/Ansichttypisierung. Stark erweitertes Menu mit großem Bedienungskomfort. Bugfixes der Vorgängerversion.

xCase 4.0 Professional Edition:

Kopieren von Modellen mit verschiedenen Target DBMS;

Copy Data wandelt nicht nur Modell um, sondern auch Echtdaten in Tabellen und Feldern der Quelldatenbank.

Erweiterte Datenbankunterstützung:

  • SQL Server (6.x),
  • Oracle (7.x and 8.x),
  • Interbase (4.x and 5.x),
  • Sybase,
  • SQL Anywhere (5.x),
  • Informix (7.x),
  • DB2 (Universal),
  • Fox/VFP (3, 5 and 6),
  • Jet (Visual Basic and Access) (2.x and 3.x).

Datenpflege mit Stonefield Database Toolkit

Das Database Toolkit gehört zu den wichtigsten AddOns für VFP, denn es erweitert den VFP-Datenbankcontainer um alle Funktionen, die zum echten DataDictionary fehlen. Das SDT ist voll DBCX - kompatibel und ermöglicht beliebige Properties zu jedem Datenbankfeld.

Durch das SDT ist auch eine komplette Dokumentation des DBC kein Problem mehr (vorausgesetzt Sie dokumentieren Ihre Felder <g>). Durch die vielen mitgelieferten Klassen können Sie auch data-driven Applikationen erstellen. Die Indexerstellung und Tabellenreparatur sowie die Übernahme aller Information aus dem Stonefield DataDictionary gehören ebenfalls zu den Aufgaben, die das SDT ausgezeichnet beherrscht.

Durch die Möglichkeit, den Datenbankcontainer nun mit beliebigen weiteren Eigenschaften zu erweitern, ist es nun möglich, alle benötigten Informationen pro Tabellenfeld abzuspeichern:

  • Input Mask
  • Label-Caption
  • Min. und Max. Range
  • Tooltip Text
  • Statusbar Text
  • Hilfetext
  • Fremdsprachige Labels
  • usw.

Der im Paket enthaltene Autosize-Builder (neudeutsch: Steuerelementassistent) wird beim Drag&Drop eines Tabellenfeldes auf die Form aktiv und überträgt alle im DD gespeicherten Informationen selbsttätig in die Eigenschaften des Textbox-Objektes. Wahlweise wird dabei auch gleich noch ihre Wunsch-Klassenbibliothek und Wunschklasse eingetragen und auch noch das dazugehörige Label erstellt. Schneller geht's nimmer !

Des weiteren gehören die klassischen DD Routinen zum Lieferumfang:

  • Indexerstellung: Dadurch, daß im DD alle benötigten Informationen abgespeichert sind, kann ein Index wirklich neu erstellt werden (kein REINDEX!). Die COLLATE Sortierzuweisung erfolgt automatisch, und kann pro Indextag definiert werden.
  • Tabellenreparatur: Anhand der DD Informationen kann auch ein defekter dbf-Header komplett neu erstellt werden.
  • Tabellen-Strukturänderungen können auf einfachste Weise beim Kunden vollzogen werden durch Auslieferung der geänderten DD-Dateien und Starten der UPDATE() Funktion.
  • Indexorder setzen: Zeigt alle im DD definierten Indextags mit Langtext zur Auswahl an. u.v.a.m.

Kurzum: Eines der Tools, auf die kein VFP Entwickler verzichten sollte.

Einige der neuen Funktionen des SDT für Visual FoxPro 5.0/6.0:

  • Korrupte Memo-Header können nun repariert werden.
  • Das neue Feld-Repository ermöglicht es, ein Set von Feldern für Ihre Applikationen zu definieren. Zum Beispiel haben Sie nun die Möglichkeit, zum Beispiel die Felder STADT, ADRESSE, STAAT, PLZ und TELEPHON im Feld-Repository zu definieren, jedes der Felder hat eigene Eigenschaften, bzw. erweiterte Eigenschaften. Sie können die Felder von Feld-Repository per Drag&Drop auf eine Tabelle ziehen und so schnell Tabellen mit Standardfeldern erzeugen.
  • SDT unterstützt nun Views visuell.
  • Mit Hilfe von SDT können Sie nun Tabellen und Views von einer Tabelle in die andere ziehen, bzw. Felder von einer Tabelle in die andere.
  • Der Stonefield-Datenbank-Explorer zeigt nun die Eigenschaften von Datenbanken, Tabellen, Views, Feldern, Indizes und vom Feld-Repository an. Das bedeutet, daß Sie die gewünschten Informationen sehr schnell bekommen.
  • SDT ist jetzt nicht mehr modal, das heißt, Sie können nun mehrere Kopien des Stonefield-Datenbank-Explorers oder den Forms des "Extended Table Designers" öffnen.
  • Es werden nun die Menüs unterstützt, die Sie mit der rechten Maustaste öffnen (Shortcut-Menüs).
  • SDT unterstützt nun die neuen VFP-Eigenschaften für Felder: InputMask, Format, DisplayClass, und DisplayClassLibrary.
  • Verbesserung der Geschwindigkeit in vielen Bereichen.

Programmschutz mit Refox

Haben Sie Ihren aktuellen Quellcode nicht mehr zur Hand? Ist beim Kunden vielleicht eine ältere Version installiert? Kein Problem für ReFox, denn er erstellt durch Dekompilation wieder alle Source-Dateien.

ReFox ist ein universelles System zum Wiederherstellen verlorengegangener oder zerstörter Sourcecodes der Produkte FoxBase+, FoxPro1.x, FoxPro2.x und Visual FoxPro.

ReFox rekonstruiert Sourcecode durch Dekompilation der .FXP (.FOX , .MPX , .SPX etc.), .APP- oder .EXE-Module und erstellt Sourcecode, der funktionsmäßig identisch zum Original ist, inklusive Variablen- und Procedure-Namen. Ab der Refox-Version 6.0 besteht auch die Möglichkeit, Klassen zu dekompilieren und weiter zu bearbeiten.

Refox wird oft zur Sourcecode Hinterlegung verwendet. Ein Beispiel aus der Praxis: Kennen Sie die Problematik, daß der Kunde auf Hinterlegung des Sourcecode besteht, Sie aber ungern ihr gesammeltes Know-how aus dem Haus geben wollen? Normalerweise löst man das Dilemma indem man die Sourcen beim Notar im versiegelten Umschlag hinterlegt. Nun bringt das aber im Laufe der täglichen Weiterentwicklung einen erheblichen Aufwand mit sich, da man ja nicht nur den Kunden, sondern auch den Notar ständig mit neuen Versionen versorgen muß. Ein Anwender löste das nun so, daß er einfach seine ReFox Lizenz beim Notar hinterlegte, und dem Kunden nur noch kompilierte EXEs auslieferte. Im Fall des Falles kommt so der Kunde zu seinem Source, und der Update-Arbeitsaufwand bleibt so gering wie möglich.

ReFox Grundfunktionen:

  • Rekonstruktion: Erstellt den Sourcecode aus FoxBase+, FoxPro1, FoxPro2.x und VFP 3.x Dateien und entschlüsselt auch Programme, die mit der ENCRYPT Option erstellt wurden.
  • Zerlegen: Mit dieser Funktion können FoxPro APPs und EXEs wieder in ihre einzelnen Dateien zerlegt werden. Daten, Reports, Masken, Abfragen usw. können somit wiederhergestellt und abgeändert werden.
  • Vergleichen: Vergleicht die vom rekonstruierten Source erstellte Applikation mit der Originalapplikation
  • Schützen: ReFox Anwender haben die Möglichkeit, ihre Programme mit ihrer eigenen ReFox SerienNr. zu markieren. Dies hindert jedes andere ReFox-Programm am Dekompilieren.

Datenschutz mit Cryptor

Cryptor, die in Assembler geschriebene FoxPro API-Library, ermöglicht die problemlose Integration von Datenverschlüsselung. Dabei werden die Daten zwischen dem Lesen von Platte und der Übergabe an FoxPro von Cryptor "on the fly" ver und entschlüsselt, was zur Folge hat, daß die Daten auf der Festplatte immer verschlüsselt und nur innerhalb Ihrer Applikation lesbar sind.

Sie können eine oder mehrere Dateien verschlüsseln. Dazu rufen Sie Cryptor in einer FoxPro-Session einmal unter Angabe der geschützten Dateien und des Paßwortes auf - das war alles. Hat man eine verschlüsselte Datei einmal mit dem richtigen Paßwort geöffnet, fällt gar nicht mehr auf, daß sie eigentlich verschlüsselt ist.

Der unberechtigte Benutzer findet nur vollkommen unleserliche Daten. Cryptor kann jede Dateiart, die unter FoxPro geöffnet werden kann, verschlüsseln: z.B. dbf-, fpt- und txt-Dateien sowie Dateien, die über FOPEN() oder FCREATE() bearbeitet werden.

Die verwendeten Paßwörter können entweder beim Systemstart vom Anwender eingegeben werden, im Sourcecode fest hinterlegt werden, oder aber in einer speziell dafür vorgesehenen DBF verschlüsselt abgespeichert werden. Diese dbf kann wiederum nur von dieser einen Cryptor-Lizenz entschlüsselt werden.

Die Arbeit mit Cryptor

Die Verwendung ist ganz einfach: Bestehende Dateien müssen einmal in das verschlüsselte Format gebracht werden, dafür gibt es eine kleine Routine. Ist eine Datei einmal verschlüsselt, muß sie vor der Benutzung bei Cryptor mit Namen und Paßwort angemeldet werden, danach wird genau so verwendet wie eine normale Datei. D.h. die Integration von Cryptor beschränkt sich auf ganze zwei Zeilen:

SET LIBRARY TO CRYPTOR
= CRYPTOR("Adressen.dbf", "Mein geheimes Passwort")
USE Adressen

So einfach wie Cryptor zu verwenden ist, so wasserfest ist die Verschlüsselung. Je nach "Gefahrenstufe" können sie zwischen acht verschiedenen Verschlüsselungsstufen wählen. Selbstverständlich macht sich die Verschlüsselung durch den erforderlichen Rechenaufwand zeitlich bemerkbar, je nach Verschlüsselungstiefe mehr oder weniger. Deutlich merkbar ist uns der Einsatz von Cryptor nur bei DOS Programmen auf einem 386er aufgefallen (ca 10-20%). Bei den heutigen Hardwareleistungen fällt der Rechenaufwand hingegen nicht mehr auf; Windows allein treibt wesentlich mehr im Hintergrund...

Unter Windows muß übrigens ein VXD Treiber in die SYSTEM.INI eingebunden werden, damit Cryptor sich in den Dateikanal einklinken kann. Achten Sie daher darauf, daß ihr Installationsprogramm gegebenenfalls INI Dateien ändern kann....

Wichtig: Auch verschlüsselte Dateien können bei Rechnerabstürzen zerstört werden, diese können aber mit Tools wie z.B. FoxFix ohne vorherige Entschlüsselung repariert werden (Voraussetzung dafür ist, daß das Reparatur-Tool innerhalb FoxPro läuft, wie eben z.B. FoxFix. Bei Verwendung anderer Tools muß die Datei dagegen erst entschlüsselt werden.)

Die verschiedenen Cryptor-Versionen:

Entwicklerversion:

Cryptor ist prinzipiell netzwerkfähig, jedoch muß pro Entwickler-Arbeitsplatz eine Cryptor-Lizenz gekauft werden. Mit dieser Entwicklerlizenz erhalten Sie zusätzlich 5 Runtime-Lizenzen. Mit dieser können Sie den Cryptor 5 mal mit Ihrer Anwendung installieren.

Cryptor Lizenzen:

Um Cryptor in einer Anwendung weiterverkaufen zu können, benötigen Sie für jede Anwendung eine Cryptor Lizenz. Diese können Sie gestaffelt erwerben (25 Zusatzlizenzen, 100 Zusatzlizenzen, 500 Zusatzlizenzen) bis hin zu einer unlimited Runtime-Lizenz.

Datenschutz mit Compaxion

Was ist COMPAxiON ?

COMPAxiON ist eine einmalige 32-Bit Softwarelösung (Windows 95 and Windows NT), die dem Entwickler nicht nur einen Mechanismus zur Datenkompression zur Verfügung stellt, sondern ihm auch den freien Zugang zu den komprimierten Dateien ermöglicht. Dieser Mechanismus funktioniert mit jedem lesbaren Speichermedium einschließlich CD-ROM, Disketten, Iomega Zip Disketten, um nur einige zu nennen.

Die Benutzung der Datenkompression ist sehr weit verbreitet; der Terminus "ZIP" oder "PKZIP" wurde zum Synonym für sie und de facto praktisch zum Standard in der PC-Industrie. Immer feiner entwickelte Kompressions-Tools erlauben nun Datenkompression auf Betriebssystem-Ebene. In letzter Zeit wurden Tools entwickelt, die einen nahtlosen Zugang zu ZIP-Dateien ermöglichen. Diese Methoden sind jedoch entweder plattformgebunden und/oder benötigen im allgemeinen noch immer Platz auf der Festplatte in Form eines Windows Swap oder einer Auslagerungsdatei, in welche die vollständige Datei dekomprimiert wird. Das ist bei kleinen Dateien kein Problem, aber der Versuch, mit Hilfe dieser Methoden eine umfangreiche, in einem ZIP enthaltene Datenbank zu warten, ist zeitaufwendig, wenn nicht gar unmöglich.

COMPAxiON ist eine neue Lösung, die vor allem für jene Anwendungsentwickler bestimmt ist, die in ihren Anwendungen Datenkompression und eine Plattformweiche (Arbeiten sowohl unter Windows 95 und Windows NT) benötigen. COMPAxiON ermöglicht es, die Datenkompression mit minimalen Codeänderungen über bereits erstellte Anwendungen zu stülpen. Sobald die DLL oder FLL geladen wird, überwacht COMPAxiON die Daten-Ein-/Ausgabe. Wenn festgestellt wird, daß eine Datei nicht geöffnet wurde (weil diese im aktuellen Verzeichnis nicht gefunden wurde), durchsucht COMPAxiON alle Volumes (.CXI-Dateien) in diesem Verzeichnis. Sobald COMPAxiON das Volume mit der zu öffnenden Datei entdeckt, öffnet COMPAxiON diese Datei und gibt sie zur Bearbeitung frei, als wäre sie eine normale Datei auf der Festplatte.

In einem COMPAxiON Volume können Daten im Umfang von mehreren Gigabytes abgelegt werden; nur die gewünschten Partitionen werden in den Speicher geladen und nahtlos dekomprimiert. Es ist nicht nötig, zuerst die gesamte Datei zu extrahieren und damit den vollen Speicherplatz zu belegen, den diese Datei normalerweise brauchen würde. Dadurch wird es möglich, COMPAxiON nachträglich über jede Anwendung zu stülpen, bei der Datenkompression erwünscht ist. COMPAxiON ermöglicht nicht nur das, sondern auch Einträge in komprimierte Dateien; die Datei kann dadurch 'vor Ort' in ihrem Volume gewartet werden.

COMPAxiON unterstützt Single User Operationen für Lese-/Schreibe-Zugang und Mehrfachzugang zu Read-Only Volumes.

Wie funktioniert COMPAxiON

COMPAxiON benutzt und erweitert die von Xitech für "32-Bit Cryptor nahtlose Datenverschlüsselung" entwickelte Technologie. Das ermöglicht COMPAxiON zu überwachen, was ein Programm von einem Speichermedium liest bzw. darauf schreibt. Sobald COMPAxiON registriert, daß versucht wird, eine nicht existierende Datei zu öffnen, sucht es diese Datei automatisch im .CXI Volume und zwar in dem Verzeichnis, in dem sich die Datei normalerweise befindet. Wenn die gewünschte Datei im COMPAxiON Volume enthalten ist, wird die Datei geöffnet; ab diesem Punkt werden alle Lese-/Schreiboperationen der Anwendung in Operationen am komprimierten Volume und an der darin enthaltenen Datei umgewandelt. Dies geschieht nahtlos und ohne weiteres Zutun der Anwendung.

Sobald CPAXCORE.DLL geladen wird, überwacht sie alle relevanten Plattenoperationen der mit ihr geladenen Anwendung wie auch alle anderen Nicht-System-DLL's dieser Anwendung. Das bedeutet, daß COMPAxiON einen vollständigen Überblick sowohl über Lese-/Schreiboperationen der betreffenden Anwendung wie auch über ihre Benutzung von lokalen Datenbank-Zugangsbibliotheken wie ODBC von Microsoft oder ODAPI von Borland hat.

Der Befehl Öffnen ist vom Zeitaufwand her die größte Änderung, die COMPAxiON einer Anwendung zufügt. Sobald eine Datei in einem Volume geöffnet ist, ist der Geschwindigkeitsverlust durch Lesen/Schreiben minimal und normalerweise wegen der unterschiedlichen Lesezeiten beim Dateizugang in Normalsituationen nicht wahrnehmbar.

Beim Hinzufügen von Dateien zum Volume ist die für die Kompression gewünschte Blockgröße frei wählbar. Die Standardeinstellung ist 8192 Bytes. Änderungen dieser Einstellung beeinflussen Kompressionsrate und Geschwindigkeit.

Eine Änderung der Nur-Lesen Eigenschaften des .CXI Volume beeinflußt die Art, wie COMPAxiON diese Dateien betrachtet. COMPAxiON läßt die gemeinsame Nutzung des Volume durch Benützer mit gleichzeitigem Zugriffsrecht nur dann zu, wenn die Nur-Lesen Eigenschaft gesetzt ist. Ist diese Eigenschaft nicht gesetzt, hat derjenige Benützer, der sich als erster Zugang zum Volume verschafft, exklusives Recht zu diesem Volume.

Datenreparatur mit FoxFix

FoxFix erlaubt das Wiederherstellen von beschädigten Datenbanken. Dies kann für den Anwender völlig transparent erfolgen. Man kann die Fix-Funktionen in seinen Error-Handler einbinden und somit sofort beim Auftreten eines Fehlers die Datenbank korrigieren lassen. FoxFix ist die einzige Möglichkeit, eine Datenrettungs-Engine ohne weitere Kosten in die eigene Applikation einzubinden und weiterzugeben!

FoxFix kann sowohl einfache Dateifehler beheben, als auch komplett gelöschte Dateien an Hand der Indexdatei wiederherstellen. Bei der Rekonstruktion aus Indexdateien werden alle Felder rekonstruiert, auf denen zum Zeitpunkt des Fehlers ein Index lag. Berücksichtigt werden auch gelöschte Indizes, die nur über ein REINDEX versteckt wurden.

FoxFix kann jedoch noch mehr!

Vor allem für Programmierer gibt es noch einige nützliche Funktionen. So kann FoxFix aus einem SPR wieder eine Maskendatei (SCX) erstellen, die dann in gewohnter Art und Weise mit MODIFY SCREEN... bearbeitet werden kann. Das Selbe funktioniert natürlich auch mit Menüdateien.

Weiters kann aus einer Applikation (APP) wieder ein Projekt regeneriert werden. Dabei wird die komplette PJX- Datei mit allen Pfaden, usw. wieder erstellt. FoxFix kann jedoch keinen Source - Code aus APP - Files erstellen. Dies erledigt das Tool "ReFox" vom gleichen Hersteller.

Unsere Empfehlung: FoxFix ist vor allem in Verbindung mit ReFox ein unschlagbares Tool und sollte auf keinem FoxPro - Rechner fehlen.