Client / Server mit Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft...

Click here to load reader

download Client / Server mit Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast C/S

of 30

  • date post

    05-Apr-2015
  • Category

    Documents

  • view

    128
  • download

    15

Embed Size (px)

Transcript of Client / Server mit Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft...

  • Folie 1
  • Client / Server mit Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast C/S
  • Folie 2
  • Teil 4: Arbeiten mit C/S Mittwoch, 13.7.2005, 16:00 17:00 Uhr Mittwoch, 13.7.2005, 16:00 17:00 Uhr Microsoft Visual FoxPro ist schon seit einem Jahrzehnt ein beliebtes Frontend fr Client/Server-Datenbanken wie Microsoft SQL-Server. ber die Hlfte der FoxPro-Entwickler weltweit entwickelt auch oder ausschliesslich Anwendungen auf Basis von MSDE und/oder SQL-Server. In der neuen Version 9.0 von Microsoft Visual FoxPro werden diese Mglichkeiten noch weiter ausgebaut. Unter anderem wurde die Cursor Adaptor-Klasse stark verbessert und weitere Werkzeuge wie der Dataexplorer werden zur Verfgung gestellt. Microsoft Visual FoxPro ist schon seit einem Jahrzehnt ein beliebtes Frontend fr Client/Server-Datenbanken wie Microsoft SQL-Server. ber die Hlfte der FoxPro-Entwickler weltweit entwickelt auch oder ausschliesslich Anwendungen auf Basis von MSDE und/oder SQL-Server. In der neuen Version 9.0 von Microsoft Visual FoxPro werden diese Mglichkeiten noch weiter ausgebaut. Unter anderem wurde die Cursor Adaptor-Klasse stark verbessert und weitere Werkzeuge wie der Dataexplorer werden zur Verfgung gestellt.
  • Folie 3
  • Rainer Becker dFPUG dFPUG Online-Angebote Online-Angebote Loseblattsammlung Loseblattsammlung VFP-Entwicklerkonferenz VFP-Entwicklerkonferenz VFP-Lokalisierung VFP-Lokalisierung Framework Visual Extend Framework Visual Extend MVP, MCP, ISV MVP, MCP, ISV Wizards & Builders GmbH Wizards & Builders GmbH
  • Folie 4
  • Wie bekomme ich VFP ? Update von 6.0, 7.0, 8.0 sowie VS 97 Update von 6.0, 7.0, 8.0 sowie VS 97 Nicht von VFP 5.0 oder frher Nicht von VFP 5.0 oder frher Internationale und US/Canada-Version Internationale und US/Canada-Version Preisunterschied durch Dollarverfall Preisunterschied durch Dollarverfall Technisch identisch Technisch identisch Kein Support / Marketingbudget fr US-Version in BRD Kein Support / Marketingbudget fr US-Version in BRD dFPUG bietet exklusiv Deutsche Version dFPUG bietet exklusiv Deutsche Version Benutzeroberflche, Berichtsdesigner, Werkzeuge Benutzeroberflche, Berichtsdesigner, Werkzeuge
  • Folie 5
  • Zum Warmlaufen: DataExplorer Vorstellung: Neues Werkzeug DataExplorer Vorstellung: Neues Werkzeug DataExplorer Aufrufbar aus der Taskpane oder direkt Aufrufbar aus der Taskpane oder direkt Datenzugriff (Ersatz fr Enterprise Manager) Datenzugriff (Ersatz fr Enterprise Manager) Codegenerierung Codegenerierung Anpassbarkeit direkt oder ber Quellcode Anpassbarkeit direkt oder ber Quellcode Ab VFP 9.0 SP1: evtl. freie Mitlieferbarkeit Ab VFP 9.0 SP1: evtl. freie Mitlieferbarkeit
  • Folie 6
  • Die Idee Eine Anwendung soll so erstellt werden, dass beim Kunden entschieden werden kann, ob mit einer VFP- Datenbank oder mit einem SQL Server gearbeitet werden soll. Eine Anwendung soll so erstellt werden, dass beim Kunden entschieden werden kann, ob mit einer VFP- Datenbank oder mit einem SQL Server gearbeitet werden soll. Alle Formulare und Klassen mssen unabhngig von der Datenquelle sein. Alle Formulare und Klassen mssen unabhngig von der Datenquelle sein.
  • Folie 7
  • Die Mglichkeiten Remote Views Remote Views Basierend auf einer Connection im DBC gespeichert Basierend auf einer Connection im DBC gespeichert SPT (SQL Pass Through) SPT (SQL Pass Through) Native Datenbank- oder ODBC-Syntax Native Datenbank- oder ODBC-Syntax Beliebige Befehle/Scripts verarbeitbar Beliebige Befehle/Scripts verarbeitbar (Fast) vollstndige Kontrolle ber Befehlsausfhrung (Fast) vollstndige Kontrolle ber Befehlsausfhrung Fr normale Anwendungsflle eher umstndlich Fr normale Anwendungsflle eher umstndlich Nichts fr die einfache Portierbarkeit Nichts fr die einfache Portierbarkeit CursorAdapter CursorAdapter
  • Folie 8
  • Remote Views vs. CursorAdapter Remote View und Connection im DBC gespeichert Remote View und Connection im DBC gespeichert Nachteil: Nachteil: DBC muss verwendet werden DBC muss verwendet werden Verbindungsinformationen im Klartext lesbar (!) Verbindungsinformationen im Klartext lesbar (!) CursorAdapter als programmatische oder visuelle Klasse in die Exe-Datei eingebunden CursorAdapter als programmatische oder visuelle Klasse in die Exe-Datei eingebunden Zur Laufzeit beliebig konfigurierbar Zur Laufzeit beliebig konfigurierbar Mit DBC und Remote Datenbanken einsetzbar Mit DBC und Remote Datenbanken einsetzbar Vererbung mglich fr bessere Wartbarkeit Vererbung mglich fr bessere Wartbarkeit
  • Folie 9
  • Vorteile SQL Server Verfgbarkeit Verfgbarkeit Clients haben keinen Einfluss auf die Serverdatenbank Clients haben keinen Einfluss auf die Serverdatenbank Wartungsaufgaben und Backup im laufenden Betrieb Wartungsaufgaben und Backup im laufenden Betrieb Datensicherheit Datensicherheit Datenbank ist vor direktem Zugriff geschtzt Datenbank ist vor direktem Zugriff geschtzt Security-Modell Security-Modell Skalierbarkeit Skalierbarkeit
  • Folie 10
  • Nachteile SQL Server Betreuungsaufwand Betreuungsaufwand Qualifiziertes Betreuungspersonal notwendig Qualifiziertes Betreuungspersonal notwendig Einzelne Tabellen knnen nicht kopiert oder ersetzt werden Einzelne Tabellen knnen nicht kopiert oder ersetzt werden Lizenzkosten Lizenzkosten Oder kostenlos fr den Einstieg: Oder kostenlos fr den Einstieg: SQL Server Desktop Engine (MSDE) SQL Server Desktop Engine (MSDE) SQL Server 2005 Express SQL Server 2005 Express Oder VAR-Vertrag mit Microsoft Oder VAR-Vertrag mit Microsoft
  • Folie 11
  • Optimierungsmglichkeiten DBF Verzeichniskomprimierung (+10% Performance!) Verzeichniskomprimierung (+10% Performance!) Virusfilter fr Endungen abschalten Virusfilter fr Endungen abschalten Verzicht auf Verschlsselung (siehe oben) Verzicht auf Verschlsselung (siehe oben) Verzicht auf Indizes mit wenig Unterscheidung Verzicht auf Indizes mit wenig Unterscheidung Abschaltung Opportunistic Locking Abschaltung Opportunistic Locking Hardware Hardware Mehrere / schnellere Netzwerkkarten Mehrere / schnellere Netzwerkkarten User auf Strnge verteilen (z.B. 10 User/Strang) User auf Strnge verteilen (z.B. 10 User/Strang) Gute HD-Controller mit viel Cache Gute HD-Controller mit viel Cache (notfalls) Verteilung von DBF und CDX auf versch. Festplatten (notfalls) Verteilung von DBF und CDX auf versch. Festplatten
  • Folie 12
  • Querverweise 03-21 Schtzen einer Tabelle in einem DBC 03-21 Schtzen einer Tabelle in einem DBC Verwendung von Datenbankcontainerereignissen Verwendung von Datenbankcontainerereignissen 03-23 Schtzen von VFP Daten 03-23 Schtzen von VFP Daten Verhindert Sichtbarkeit des Datenverzeichnisses und somit Zugriff durch Endanwender! Verhindert Sichtbarkeit des Datenverzeichnisses und somit Zugriff durch Endanwender! 03-24 Die Normalisierung von Daten 03-24 Die Normalisierung von Daten generell und immer sinnvoll und notwendig generell und immer sinnvoll und notwendig
  • Folie 13
  • Upsizing VFP Upsizing Wizard VFP Upsizing Wizard Update fr SQL-Server 2005 angekndigt Update fr SQL-Server 2005 angekndigt xCase (und andere Tools) xCase (und andere Tools) Gute VFP-Untersttzung Gute VFP-Untersttzung Mglichkeit zur Massennderung (DBFs!) Mglichkeit zur Massennderung (DBFs!) Ankndigung in eigener Sache Ankndigung in eigener Sache VFX Upsizing Wizard VFX Upsizing Wizard
  • Folie 14
  • Die Lsung CursorAdapter CursorAdapter Vorteile: Vorteile: Klasse Vererbung, Eigenschaften, Methoden Klasse Vererbung, Eigenschaften, Methoden Erstellter Cursor hnlich Ansicht Erstellter Cursor hnlich Ansicht Einheitlicher Datenzugriff Einheitlicher Datenzugriff Datenzugriff auf DBC und SQL Server mglich Datenzugriff auf DBC und SQL Server mglich Umschaltbarkeit zur Laufzeit Umschaltbarkeit zur Laufzeit Typkonvertierung mglich Typkonvertierung mglich Builder in VFP vorhanden -> Beispiel Builder in VFP vorhanden -> Beispiel
  • Folie 15
  • Wie macht man es richtig? CursorAdapter-Klasse verwenden CursorAdapter-Klasse verwenden ConnectionManager ConnectionManager ConnectionManager liest Datenbankinformationen aus Konfigurationsdatei ConnectionManager liest Datenbankinformationen aus Konfigurationsdatei Wichtig: CursorAdapter-Funktionalitt unbedingt in einer Klasse speichern -> keine nderung in der Datenumgebung von Formularen beim Wechsel der Datenquelle Wichtig: CursorAdapter-Funktionalitt unbedingt in einer Klasse speichern -> keine nderung in der Datenumgebung von Formularen beim Wechsel der Datenquelle
  • Folie 16
  • Programmstart Im Init Ereignis des Anwendungsobjekts wird der ConnectionManager instanziiert Im Init Ereignis des Anwendungsobjekts wird der ConnectionManager instanziiert Aus einer verschlsselten Tabelle werden die Datenbankinformationen gelesen Aus einer verschlsselten Tabelle werden die Datenbankinformationen gelesen Beim Instanziieren eines CursorAdapters wird vom ConnectionManager eine Connection geholt Beim Instanziieren eines CursorAdapters wird vom ConnectionManager eine Connection geholt Die CursorAdapter-Klasse verwendet die Informationen des ConnectionManagers Die CursorAdapter-Klasse verwendet die Informationen des ConnectionManagers (Der gezeigte Code ist frei downloadbar)
  • Folie 17
  • CursorAdapter Klasse Herstellen der Verbindung zur Datenbank ber den ConnectionManager Herstellen der Verbindung zur Datenbank ber den ConnectionManager Holen von ID-Werten Holen von ID-Werten Wartbarkeit Wartbarkeit Eingriffsmglichkeit an vielen Stellen Eingriffsmglichkeit an vielen Stellen Be