Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group.

Ähnliche Präsentationen


Präsentation zum Thema: "Bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group."—  Präsentation transkript:

1 bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group VFX-XML

2 Rainer Becker dFPUG dFPUG Homepage/Portal/Forum Homepage/Portal/Forum FoxProfessional FoxProfessional FoxRockX FoxRockX VFP-Entwicklerkonferenz VFP-Entwicklerkonferenz Lokalisierung VFP8/VFP9 Lokalisierung VFP8/VFP9 Framework Visual Extend Framework Visual Extend MVP (Lifetime), MCP MVP (Lifetime), MCP Wizards & Builders GmbH Wizards & Builders GmbH

3 Warum ein XML-Interface Für Export von Daten müssen Ausgabeformate verwaltet und Fremdschlüssel umgesetzt werden Für Export von Daten müssen Ausgabeformate verwaltet und Fremdschlüssel umgesetzt werden Für den Import von Daten gilt das gleiche zzgl. Validierung von Feldarten/längen und Lookup-Listen Für den Import von Daten gilt das gleiche zzgl. Validierung von Feldarten/längen und Lookup-Listen Dies alles geht am besten mit dem Standard XML statt mit Excel (wg. wechselnder Formate in Versionen, Lokalisierung, Lizenz-Notwendigkeit) Dies alles geht am besten mit dem Standard XML statt mit Excel (wg. wechselnder Formate in Versionen, Lokalisierung, Lizenz-Notwendigkeit) Für Anwender muß außerdem eine Dokumentation generiert werden für die korrekte XML-Erstellung Für Anwender muß außerdem eine Dokumentation generiert werden für die korrekte XML-Erstellung

4 Warum XML statt XLS/TXT XML ist versions- und (theoretisch) lizenzunabhängig XML ist versions- und (theoretisch) lizenzunabhängig Excel hat verschiedene Versionen (2003, 2007) Excel hat verschiedene Versionen (2003, 2007) Excel hat unvorhersehbare Änderungen beim nächsten Update Excel hat unvorhersehbare Änderungen beim nächsten Update Für Excel wird eine Lizenz benötigt, für XML direkt nicht (IE) Für Excel wird eine Lizenz benötigt, für XML direkt nicht (IE) XML erlaubt verschiedene Zeichensätze XML erlaubt verschiedene Zeichensätze Verwaltung von Zeichensätzen ist in CSV/TXT nur schwer möglich Verwaltung von Zeichensätzen ist in CSV/TXT nur schwer möglich Verschiedene Zeichensätze können in Excel ein Problem sein Verschiedene Zeichensätze können in Excel ein Problem sein XML ist ein mittlerweile üblicher Standard XML ist ein mittlerweile üblicher Standard XML ist ohnehin der de facto Standard für Datenaustausch XML ist ohnehin der de facto Standard für Datenaustausch XML kann von Excel und Internet Explorer verarbeitet werden XML kann von Excel und Internet Explorer verarbeitet werden Und kann außerdem direkt in Notepad gelesen werden Und kann außerdem direkt in Notepad gelesen werden

5 Wie ruft man die Funktionen auf? Die XML-Funktionen sind über eine Vielzahl von Klassen verstreut. Die XML-Funktionen sind über eine Vielzahl von Klassen verstreut. Zu jeder Klasse gibt es eine leere Appl-Klasse für die notwendigen anwendungsspezifischen Einstellungen Zu jeder Klasse gibt es eine leere Appl-Klasse für die notwendigen anwendungsspezifischen Einstellungen Für die Ansteuerung aus der Anwendung werden ein Export und ein Import-Button bereitgestellt Für die Ansteuerung aus der Anwendung werden ein Export und ein Import-Button bereitgestellt Für den Entwickler gibt es eine Maske für die Bearbeitung aller XML-Einstellungen Für den Entwickler gibt es eine Maske für die Bearbeitung aller XML-Einstellungen Speicherung erfolgt im USER-Feld des DBCs Speicherung erfolgt im USER-Feld des DBCs

6 Aufruf auch im Batch-Betrieb Da man Import und/oder Export auch gerne mal automatisieren möchte, ist ein Parameter für die generierte EXE vorgesehen. Eine Batch-Datei, die man aus dem Scheduler aufrufen könnte, sieht dann grob so aus: Da man Import und/oder Export auch gerne mal automatisieren möchte, ist ein Parameter für die generierte EXE vorgesehen. Eine Batch-Datei, die man aus dem Scheduler aufrufen könnte, sieht dann grob so aus:C: CD \ CD \.EXE.EXE Die Parameter werden mit Leerzeichen getrennt und lauten ungefähr (noch in Entwicklung) wie folgt: Die Parameter werden mit Leerzeichen getrennt und lauten ungefähr (noch in Entwicklung) wie folgt: IMPORT | EXPORT \xml.ini\.xml Ländereinstellungen werden vom Anwender (Erweiterung von VFXUSR) genommen oder aus den Daten entnommen. Ländereinstellungen werden vom Anwender (Erweiterung von VFXUSR) genommen oder aus den Daten entnommen.

7 Format für XML-Import Für jede Haupttabelle und für jede abhängige Tabelle muß eine gültige XML-Datei bereitgestellt werden. Das Format ist einfaches XML mit folgenden Grundlagen: Für jede Haupttabelle und für jede abhängige Tabelle muß eine gültige XML-Datei bereitgestellt werden. Das Format ist einfaches XML mit folgenden Grundlagen: Jede XML Datei muß einen kleinen Header haben. Siehe Beispieldateien. Dieser enthält unter anderem eine Referenz auf die XSD-Datei für die Validierung. Jede XML Datei muß einen kleinen Header haben. Siehe Beispieldateien. Dieser enthält unter anderem eine Referenz auf die XSD-Datei für die Validierung. Für jeden Datensatz muß ein XML-Tag zum Öffnen und eines zum Schließen vorhanden sein wie folgt: (hier kommt der Datensatz) Für jeden Datensatz muß ein XML-Tag zum Öffnen und eines zum Schließen vorhanden sein wie folgt: (hier kommt der Datensatz) Für jedes Feld muß ebenfalls ein XML-Tag vorhanden sein mit dem entsprechenden Feldnamen wie folgt: (hier kommt der feldwert). Für jedes Feld muß ebenfalls ein XML-Tag vorhanden sein mit dem entsprechenden Feldnamen wie folgt: (hier kommt der feldwert). Leere Felder können komplett weggelassen werden oder als geschrieben werden, wenn nur gelegentlich leer. Leere Felder können komplett weggelassen werden oder als geschrieben werden, wenn nur gelegentlich leer.

8 Beispiel für eine XML-Datei Wenn Sie zum Beispiel Adressen über XML importieren möchten, hat die XML-Datei den üblichen Header und dann beispielhaft nachfolgende Feldelemente für jede Anschrift: Wenn Sie zum Beispiel Adressen über XML importieren möchten, hat die XML-Datei den üblichen Header und dann beispielhaft nachfolgende Feldelemente für jede Anschrift:FirmenbezeichnungStrassePostleitzahl Telefonnummer (ohne Landesvorwahl) Telefonnummer (ohne Landesvorwahl) Länderschlüssel (lookup) Länderschlüssel (lookup) addresse addresse Primärschlüssel aus Fremdsystem Primärschlüssel aus Fremdsystem Dies ist nur eine verkürzte Version. Sehr viel mehr Felder können abhängig von der Anwendung vorhanden sein… Dies ist nur eine verkürzte Version. Sehr viel mehr Felder können abhängig von der Anwendung vorhanden sein…

9 Verfügbare Feldtypen Es stehen drei einfache Feldarten zur Verfügung: Date (Datum), String (Zeichenkette) und Boolean (Logisch): Es stehen drei einfache Feldarten zur Verfügung: Date (Datum), String (Zeichenkette) und Boolean (Logisch): Date: Date: String: MANAGER String: MANAGER Boolean: false Boolean: false Meist wird die Feldart String (Zeichenkette) verwendet. Meist wird die Feldart String (Zeichenkette) verwendet. Im Falle von Zeichenketten gibt es noch eine weitere Geschmacksrichtung. Es kann sich um ein Lookup-Feld handeln, welches nur bestimmte Werte erlaubt. Der Feldwert muß also in einer entsprechenden Lookup-Liste vorhanden sein (z.B. VFXPLIST) Im Falle von Zeichenketten gibt es noch eine weitere Geschmacksrichtung. Es kann sich um ein Lookup-Feld handeln, welches nur bestimmte Werte erlaubt. Der Feldwert muß also in einer entsprechenden Lookup-Liste vorhanden sein (z.B. VFXPLIST) Die zulässigen Werte für Lookups (sofern SQL-basiert) können der generierten Datenbankdokumentation entnommen werden, siehe unten. Die zulässigen Werte für Lookups (sofern SQL-basiert) können der generierten Datenbankdokumentation entnommen werden, siehe unten.

10 Automatische Felder Innerhalb der Anwendung stehen einige Felder nur für den internen Zugriff zur Verfügung. Hier ein paar Beispiele: Innerhalb der Anwendung stehen einige Felder nur für den internen Zugriff zur Verfügung. Hier ein paar Beispiele: Schlüssel (Primärschlüssel eines Datensatzes, Fremdschlüssel eines Datensatzes) Schlüssel (Primärschlüssel eines Datensatzes, Fremdschlüssel eines Datensatzes) Zeitstempel (Datum und Uhrzeit für Satzeneuanlage, Änderung, Löschung und Synchronisation) Zeitstempel (Datum und Uhrzeit für Satzeneuanlage, Änderung, Löschung und Synchronisation) Protokollinformatoinen (Anwender der letzten Änderung) Protokollinformatoinen (Anwender der letzten Änderung) Statusinformationen (Feld für Löschflag) Statusinformationen (Feld für Löschflag) Diese Felder können nicht über den XML-Import aktualisert werden, auch wenn sie sehr wohl exportiert werden können, und werden ignoriert. Stattdessen werden die Felder von der Anwendung mit Werten gefüllt (Code notwendig). Diese Felder können nicht über den XML-Import aktualisert werden, auch wenn sie sehr wohl exportiert werden können, und werden ignoriert. Stattdessen werden die Felder von der Anwendung mit Werten gefüllt (Code notwendig).

11 XSD-Datei für Validierung Für jede XML Importdatei gibt es eine dazugehörige XSD- Datei Für jede XML Importdatei gibt es eine dazugehörige XSD- Datei Eine XSD Datei enthält Feldbeschreibungen sowie Feldnamen, Feldtypen und maximale Feldlängen. Letztere werden im Falle von landesabhängigen Zeichensätzen in der Länge verdoppelt. Eine XSD Datei enthält Feldbeschreibungen sowie Feldnamen, Feldtypen und maximale Feldlängen. Letztere werden im Falle von landesabhängigen Zeichensätzen in der Länge verdoppelt. Weitere Regeln können über die Definitionsmaske in die XSD-Datei vom Entwickler eingefügt werden. Weitere Regeln können über die Definitionsmaske in die XSD-Datei vom Entwickler eingefügt werden. Es ist immer die jeweils neueste XSD-Datei zu verwenden. Es ist immer die jeweils neueste XSD-Datei zu verwenden. Mit Hilfe der XSD-Datei kann der Anwender eine einfache Prüfung der erstellten XML-Datei für den Import vornehmen, ob Feldnamen, Feldtypen, Feldlängen und Lookupwerte korrekt sind und überhaupt eine Verarbeitung möglich wäre. Mit Hilfe der XSD-Datei kann der Anwender eine einfache Prüfung der erstellten XML-Datei für den Import vornehmen, ob Feldnamen, Feldtypen, Feldlängen und Lookupwerte korrekt sind und überhaupt eine Verarbeitung möglich wäre.

12 Beispiel für eine XSD-Datei Pro Feld in einer Tabelle enthält die XSD-Datei einen Eintrag nachfolgender Art mit Definition von Feldname, Länge, Typ: Pro Feld in einer Tabelle enthält die XSD-Datei einen Eintrag nachfolgender Art mit Definition von Feldname, Länge, Typ: Man muß die XSD-Datei als Anwender weder lesen noch verstehen. Man muß sie nur für eine erste Validierung der selbst erstellten XML-Import-Datei verwenden, um die offensichtlichsten Probleme (z.B. Tippfehler) zu vermeiden. Man muß die XSD-Datei als Anwender weder lesen noch verstehen. Man muß sie nur für eine erste Validierung der selbst erstellten XML-Import-Datei verwenden, um die offensichtlichsten Probleme (z.B. Tippfehler) zu vermeiden.

13 Internationale Zeichensätze In XML werden Zeichenketten im UTF8 Format gespeichert, so daß internationale Zeichensätze wie Kyrillisch (Russisch), Hebräisch, Griechisch und so weiter und der XML-Datei korrekt dargestellt werden können. In XML werden Zeichenketten im UTF8 Format gespeichert, so daß internationale Zeichensätze wie Kyrillisch (Russisch), Hebräisch, Griechisch und so weiter und der XML-Datei korrekt dargestellt werden können. Dabei besteht allerdings ein Problem mit internationalen Zeichensätzen. Sie können bis zu doppelt so lang sein wie das entsprechende Feld in der Datenbank. Deshalb werden für landesabhängige Zeichenfelder die Längen verdoppelt. Dabei besteht allerdings ein Problem mit internationalen Zeichensätzen. Sie können bis zu doppelt so lang sein wie das entsprechende Feld in der Datenbank. Deshalb werden für landesabhängige Zeichenfelder die Längen verdoppelt. Natürlich darf letztendlich die Anzahl der zulässigen Zeichen nicht überschritten werden, selbst wenn die XSD-Datei keine Fehlermeldung erzeugt. Der Anwender muß selbst sicherstellen, daß die Feldlängen nicht überschritten werden, da die Daten sonst natürlich abgeschnitten werden.. Natürlich darf letztendlich die Anzahl der zulässigen Zeichen nicht überschritten werden, selbst wenn die XSD-Datei keine Fehlermeldung erzeugt. Der Anwender muß selbst sicherstellen, daß die Feldlängen nicht überschritten werden, da die Daten sonst natürlich abgeschnitten werden..

14 Primärschlüssel Fremdsystem Wie zuvor erwähnt, werden für Haupttabellen Schlüssel eines anderen Systems verwaltet, da ein externes System kaum die gleichen Primärschlüssel wie die VFX-Anwendung verwenden wird. Wie zuvor erwähnt, werden für Haupttabellen Schlüssel eines anderen Systems verwaltet, da ein externes System kaum die gleichen Primärschlüssel wie die VFX-Anwendung verwenden wird. Der Primärschlüssel eines Fremdsystems wird stattdessen in einer zusätzlichen Spalte der Tabellen abgelegt. In den Beispielen heißt dieses Feld alien_key (bzw. alien_ _key) und ist ein String mit 30 Zeichen Länge. Der Primärschlüssel eines Fremdsystems wird stattdessen in einer zusätzlichen Spalte der Tabellen abgelegt. In den Beispielen heißt dieses Feld alien_key (bzw. alien_ _key) und ist ein String mit 30 Zeichen Länge. Dieser alien_key wird permanent gespeichert und dient als Rückreferenz auf die externen Originaldaten. Dieser alien_key wird permanent gespeichert und dient als Rückreferenz auf die externen Originaldaten. Die Primärschlüssel im Fremdsystem dürfen natürlich keinesfalls geändert werden, da die Relation sonst nicht mehr verfügbar ist Die Primärschlüssel im Fremdsystem dürfen natürlich keinesfalls geändert werden, da die Relation sonst nicht mehr verfügbar ist

15 Arten von Transaktionen Bei der Verarbeitung von XML-Importdateien gibt es drei Arten von Aktionen / Transaktionen: Bei der Verarbeitung von XML-Importdateien gibt es drei Arten von Aktionen / Transaktionen: Insert: Der alien_key kann in der Anwendung nicht gefunden werden. Ein neuer Datensatz wird angelegt. Insert: Der alien_key kann in der Anwendung nicht gefunden werden. Ein neuer Datensatz wird angelegt. Update: Der alien_key kann gefunden werden. Der gefundene Datensatz wird aktualisiert. Update: Der alien_key kann gefunden werden. Der gefundene Datensatz wird aktualisiert. Delete: Der alien_key kann gefunden werden und die Spalte Del enthält true als Wert (in XML: true ). Der Datensatz wird gelöscht. Delete: Der alien_key kann gefunden werden und die Spalte Del enthält true als Wert (in XML: true ). Der Datensatz wird gelöscht. Mit letzterem Fall gibt es gelegentlich Probleme: Mit letzterem Fall gibt es gelegentlich Probleme: Das Datenbanksystem des Kunden entfernt gelöschte Sätze möglicher- weise direkt und der Anwender kann gar eine zu löschenden Datensätze mehr exportieren. In solchen Fällen muß ein anderes Verfahren verwendet werden. Stattdessen wird eine vollständige Liste alle gültigen Fremdschüssel geliefert und alle darüberhinaus vorhadenen Datensätze mit Fremdschlüsseln werden gelöscht…

16 Aktualisierung bestehender Daten Es gibt ein weiteres Problem, sofern bereits Daten aus einem externen System auf welche Art und immer in den Tabellen der VFX-Anwendung vorhanden sind. Diese wurden aber vermutlich nicht mit dem externen Schlüssel gespeichert. Es gibt ein weiteres Problem, sofern bereits Daten aus einem externen System auf welche Art und immer in den Tabellen der VFX-Anwendung vorhanden sind. Diese wurden aber vermutlich nicht mit dem externen Schlüssel gespeichert. Deshalb folgender Warnhinweis an die Anwender: Wenn einfach alle vorhadenen Datensätze per XML importiert werden, werden dadurch mit Sicherheit eine Vielzahl von Doubletten angelegt, die dann bereinigt werden müssen! Deshalb folgender Warnhinweis an die Anwender: Wenn einfach alle vorhadenen Datensätze per XML importiert werden, werden dadurch mit Sicherheit eine Vielzahl von Doubletten angelegt, die dann bereinigt werden müssen! Wahlweise warten Sie auf eine geplante Funktion zum Import von Listen mit Primär- und externen Schlüsseln, wobei diese Listen aber auch erst vom Anwender vorbereitet werden müßten. Oder die Anwendung ermöglicht das Nachtragen von externen Schlüsseln zu vorhandenen Datensätzen… Wahlweise warten Sie auf eine geplante Funktion zum Import von Listen mit Primär- und externen Schlüsseln, wobei diese Listen aber auch erst vom Anwender vorbereitet werden müßten. Oder die Anwendung ermöglicht das Nachtragen von externen Schlüsseln zu vorhandenen Datensätzen…

17 Bereitgestellte Dokumentation Die nachfolgende Dokumentation steht zur Verfügung: Die nachfolgende Dokumentation steht zur Verfügung: Datenbank Dokumentation (als.XLS) mit Beschreibung aller Datenbank Dokumentation (als.XLS) mit Beschreibung aller Felder für alle Tabellen Felder für alle Tabellen Werte für alle Lookuplisten (sofern SQL-basierend) Werte für alle Lookuplisten (sofern SQL-basierend) Die folgenden Dateien stehen pro importierbarer Tabelle zur Verfügung bzw. können vom Anwender erstellt werden: Die folgenden Dateien stehen pro importierbarer Tabelle zur Verfügung bzw. können vom Anwender erstellt werden: XML-Beispieldatei mit echten Daten XML-Beispieldatei mit echten Daten XSD-Datei XSD-Datei HTML Dokumentation des XML-Formats HTML Dokumentation des XML-Formats Um einen ersten Eindruck zu gewinnen, sollte der Anwender eine bestehende Datei als XML exportieren und anschauen. Um einen ersten Eindruck zu gewinnen, sollte der Anwender eine bestehende Datei als XML exportieren und anschauen.

18 Datenbankdokumentation Die generierte Datenbankdokumentation ist ein Spreadsheet mit vielen Seiten. Hier eine Übersicht über die Seitenarten: Die generierte Datenbankdokumentation ist ein Spreadsheet mit vielen Seiten. Hier eine Übersicht über die Seitenarten: Tablelist: Übersicht über alle Tabellen. Hyperlink zur Felderliste. Tablelist: Übersicht über alle Tabellen. Hyperlink zur Felderliste. Pickuplist: Übersicht über alle Lookups. Hyperlink zur Werteliste. Pickuplist: Übersicht über alle Lookups. Hyperlink zur Werteliste. Viewlist/Indexlist: Übersicht Views/Indizes. Bitte ignorieren. Viewlist/Indexlist: Übersicht Views/Indizes. Bitte ignorieren. Table X...Z: Liste aller Felder zu Tabellen mit Name, Überschrift, Typ, Länge, Notwendigkeit, Kommentar, Vorgabewert, Format, Eingabemaske Table X...Z: Liste aller Felder zu Tabellen mit Name, Überschrift, Typ, Länge, Notwendigkeit, Kommentar, Vorgabewert, Format, Eingabemaske View X..Z: Liste aller Felder zu View. Bitte ignorieren. View X..Z: Liste aller Felder zu View. Bitte ignorieren. XML Properties: Liste alle XML-Einstellungen. XML Properties: Liste alle XML-Einstellungen. Lookup lists: Liste aller Werte zu allen Lookuplisten. Lookup lists: Liste aller Werte zu allen Lookuplisten. Die Datenbankdokumentation kann aus der Anwendung genierert werden, damit sie immer aktuell ist. Die Datenbankdokumentation kann aus der Anwendung genierert werden, damit sie immer aktuell ist.

19 Dokumentation pro Tabelle Beispiel XML-Datei: Beispiel XML-Datei: Die erstellte Beispieldatei kann vom Anwender per Doppelklick geöffnet werden und der Internet Explorer wird für die Anzeige gestartet. Die Sicherheitswarnungen bezüglich ActiveX-Steuer- elementen können dabei getrost ignoriert werden, da sowieso keine aktiven Inhalte bereitgestellt werden… Die erstellte Beispieldatei kann vom Anwender per Doppelklick geöffnet werden und der Internet Explorer wird für die Anzeige gestartet. Die Sicherheitswarnungen bezüglich ActiveX-Steuer- elementen können dabei getrost ignoriert werden, da sowieso keine aktiven Inhalte bereitgestellt werden… Man kann die Datei natürlich auch über das Rechtsklick-Menü und Öffnen mit in Excel öffnen. Excel bietet dann 3 Optionen zum Öffnen an – bitte die erste verwenden als XML-Tabelle öffnen! Man kann die Datei natürlich auch über das Rechtsklick-Menü und Öffnen mit in Excel öffnen. Excel bietet dann 3 Optionen zum Öffnen an – bitte die erste verwenden als XML-Tabelle öffnen! XSD-Datei: XSD-Datei: Kann man in Notepad anschauen. Zeigt Feldtypen/längen usw.. Kann man in Notepad anschauen. Zeigt Feldtypen/längen usw.. HTML Dokumentation: HTML Dokumentation: Öffnet im Internet Explorer. Zeigt Feldtypen/längen als auch Kommentare/Erläuterungen in einem separaten kleinen Fenster. Öffnet im Internet Explorer. Zeigt Feldtypen/längen als auch Kommentare/Erläuterungen in einem separaten kleinen Fenster.

20 Vorbereitung auf Kundenseite Was sollen die Kunden zuerst tun: Was sollen die Kunden zuerst tun: Prüfen, ob deren Anwendungen XML pro Tabelle exportieren können. Prüfen, ob deren Anwendungen XML pro Tabelle exportieren können. Prüfen, ob dabei Feldnamen festgelegt werden können. Prüfen, ob dabei Feldnamen festgelegt werden können. Prüfen, ob für alle Pflichtfelder auch Werte vorliegen. Prüfen, ob für alle Pflichtfelder auch Werte vorliegen. Prüfen, ob für alle Lookup-Felder die richtigen Werte vorliegen. Prüfen, ob für alle Lookup-Felder die richtigen Werte vorliegen. Die Ergebnisse müssen die Kunden erstmal zurückmelden. Die Ergebnisse müssen die Kunden erstmal zurückmelden. Und dann muß man diskutieren, wie man die zu erwartende Vielzahl von Bereitstellungsproblemen denn lösen könnte! Und dann muß man diskutieren, wie man die zu erwartende Vielzahl von Bereitstellungsproblemen denn lösen könnte! Von daher ist eine XML-Schnittstelle zwar technisch sehr schön, aber in der Praxis erfordert es auf Kundenseite noch einige Arbeit, bis das auch tatsächlich funktionsfähig ist! Von daher ist eine XML-Schnittstelle zwar technisch sehr schön, aber in der Praxis erfordert es auf Kundenseite noch einige Arbeit, bis das auch tatsächlich funktionsfähig ist!

21 Vielen Dank! Besuchen Sie unsere Webseiten: (Homepage) (Reiter/Verzeichnis VFX) (Sektion VFX) (Rubrik VFX) (Vorträge VFX) (Reiter VFX)


Herunterladen ppt "Bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group."

Ähnliche Präsentationen


Google-Anzeigen