Client / Server mit Visual FoxPro 9.0

Slides:



Advertisements
Ähnliche Präsentationen
Arbeiten mit Berichten in Visual FoxPro 9.0
Advertisements

COM-Server in Visual FoxPro 9.0
Arbeiten mit Werkzeugen in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast TOOL.
Arbeiten mit DBC in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast DBC.
Arbeiten mit Tabellen in Visual FoxPro 9.0
Arbeiten mit Berichten unter Visual FoxPro 9.0
Ausführen von Berichten unter Visual FoxPro 9.0
Arbeiten mit SQL in Visual FoxPro 9.0
Visual Extend Product Manager
Bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group.
VFP Beispiele sowie Tools, Frameworks und Klassen
Visual FoxPro 10.0 Visual Extend 10.0
© 2005 Uwe Habermann Visual Extend 9.5 Technical Preview Uwe Habermann Visual Extend Product Manager
Visual Extend Anwendertreffen 2009 deutschsprachige FoxPro User Group Uwe Habermann, Venelina Jordanova, Fritz Maurhofer, Rainer Becker VFXAWD09.
Venelina Jordanova Uwe Habermann V-VFX1 Visual Extend Power for VFP Developers.
VFX Schnelle Anwendungs-entwicklung mit Visual FoxPro 9.0 und Visual Extend 9.0 deutschsprachige FoxPro User Group Uwe Habermann Microsoft Visual FoxPro.
Client/Server mit Visual FoxPro 9.0
Arbeiten mit Konstanten in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow CONST.
Arbeiten mit SQL in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow SQL.
Erstellen von WebServices mit Visual FoxPro 9.0
Einführung zur Roadshow zu Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow INTRO.
Wizards & Builders GmbH Schulung Visual SourceSafe für Visual FoxPro Norbert Abb W&B.
Visual Extend 9.5ff Most Wanted Features deutschsprachige FoxPro User Group Rainer Becker VFXWISH06.
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
Active Extend deutschsprachige FoxPro User Group Rainer Becker VFXAFX06.
Uwe Habermann VFX 10.0 Visual Extend Formularerstellung.
VFX 10.0 Visual Extend Datenzugriff
Visual Extend Was ist wo? deutschsprachige FoxPro User Group Rainer Becker VFXWASWO.
Visual Extend Weitere Features deutschsprachige FoxPro User Group Uwe Habermann VFX 25 D.
Uwe Habermann Venelina Jordanova VFP Code in Silverlight Anwendungen ausführen.
Visual Extend Features für Entwickler deutschsprachige FoxPro User Group Uwe Habermann VFX 05 D.
Visual Extend Anwendertreffen 2006 deutschsprachige FoxPro User Group Uwe Habermann, Peter Herzog, Fritz Maurhofer, Rainer Becker VFXAWD06.
Uwe Habermann VFX 11.0 VFX - DBF-CA Wizard Venelina Jordanova
Visual Extend Application Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 07 D.
Uwe Habermann VFX 11.0 Distribution von Anwendungen Venelina Jordanova
© 2004 Uwe Habermann Visual Extend 9.0 Technical Preview Diplom-Informatiker Uwe Habermann Visual Extend Product Manager
Visual Extend Anwendertreffen 2007 deutschsprachige FoxPro User Group Uwe Habermann, Rainer Becker VFXAWD07.
Visual Extend Anwendertreffen 2008
Visual Extend Produktaktivierung deutschsprachige FoxPro User Group Uwe Habermann VFX 23 D.
Uwe Habermann VFX 11.0 Einsatz von Cursoradaptern in bestehenden Anwendungen Venelina Jordanova
Visual Extend Kundeninstallation deutschsprachige FoxPro User Group Uwe Habermann VFX 26 D.
Uwe Habermann Venelina Jordanova VFX – Silverlight Wizard.
Herzlich Willkommen zum VFX-Anwendertreffen! deutschsprachige FoxPro User Group Rainer Becker Visual Extend 9.0 Anwendertreffen 2005 INTRO.
VFX - Von DBC zu SQL mit CA VFX Von DBC zu SQL mit CA Venelina Jordanova Software Development Team Leader Uwe Habermann Visual Extend.
© 2003 Uwe Habermann Visual Extend 7.1 Die Entwicklungsumgebung für VFP 8.0 Uwe Habermann Diplom-Informatiker
Visual Extend Features der generierten Anwendung für Endbenutzer deutschsprachige FoxPro User Group Uwe Habermann VFX 04 D.
Uwe Habermann Venelina Jordanova Kostenloser Einstieg in eine neue Welt!
Visual Extend CTableForm Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 08 D.
Visual Extend CursorAdapter deutschsprachige FoxPro User Group Uwe Habermann VFX 18 D.
Visual Extend CDataFormPage Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 09 D.
Visual Extend CPickAlternate Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 14 D.
Visual Extend Download, Installation, Registrierung deutschsprachige FoxPro User Group Uwe Habermann VFX 01 D.
Visual Extend Mandantenfähigkeit deutschsprachige FoxPro User Group Uwe Habermann VFX 22 D.
Visual Extend CPickAlterTextbox Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 16 D.
Visual Extend CPickTextbox Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 15 D.
Visual Extend Lokalisierung deutschsprachige FoxPro User Group Uwe Habermann VFX 24 D.
Visual Extend CPickField Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 13 D.
Visual Extend Application Wizard deutschsprachige FoxPro User Group Uwe Habermann VFX 06 D.
Visual Extend COneToMany Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 10 D.
Visual Extend CTreeviewForm Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 11 D.
Visual Extend Parent/Child Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 17 D.
Visual Extend CDataFormPage-Formulare mit CursorAdapter deutschsprachige FoxPro User Group Uwe Habermann VFX 19 D.
© 2005 Uwe Habermann, Venelina Jordanova Visual Extend 9.0 Die Entwicklungsumgebung für VFP 9.0 Uwe Habermann Visual Extend Product Manager
Uwe Habermann Venelina Jordanova Professioneller Einstieg in eine neue Welt!
Venelina Jordanova Uwe Habermann V-VFX Visual Extend Mehr als ein RAD Framework.
Uwe Habermann V-VFX1 Visual Extend Wichtiger als je zuvor Venelina Jordanova
Uwe Habermann Venelina Jordanova Bestehende VFX-Anwendungen leicht erweitern.
Uwe Habermann Venelina Jordanova Was ist neu in VFX 15?
D-SQL Vom Datenbank-Container zur SQL Server-Datenbank
D-SQL SQLization – endlich Client/Server!
 Präsentation transkript:

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

Teil 4: Arbeiten mit C/S Mittwoch, 13.7.2005, 16:00 – 17:00 Uhr Microsoft Visual FoxPro ist schon seit einem Jahrzehnt ein beliebtes Frontend für Client/Server-Datenbanken wie Microsoft SQL-Server. Über die Hälfte 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 Möglichkeiten noch weiter ausgebaut. Unter anderem wurde die Cursor Adaptor-Klasse stark verbessert und weitere Werkzeuge wie der Dataexplorer werden zur Verfügung gestellt.

Rainer Becker dFPUG VFP-Entwicklerkonferenz VFP-Lokalisierung Online-Angebote Loseblattsammlung VFP-Entwicklerkonferenz VFP-Lokalisierung Framework Visual Extend MVP, MCP, ISV Wizards & Builders GmbH

Wie bekomme ich VFP ? Update von 6.0, 7.0, 8.0 sowie VS 97 Nicht von VFP 5.0 oder früher Internationale und US/Canada-Version Preisunterschied durch Dollarverfall Technisch identisch Kein Support / Marketingbudget für US-Version in BRD dFPUG bietet exklusiv „Deutsche Version“ Benutzeroberfläche, Berichtsdesigner, Werkzeuge

Zum Warmlaufen: DataExplorer Vorstellung: Neues Werkzeug DataExplorer Aufrufbar aus der Taskpane oder direkt Datenzugriff (Ersatz für Enterprise Manager) Codegenerierung Anpassbarkeit direkt oder über Quellcode Ab VFP 9.0 SP1: evtl. freie Mitlieferbarkeit

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. Alle Formulare und Klassen müssen unabhängig von der Datenquelle sein.

Die Möglichkeiten Remote Views SPT (SQL Pass Through) CursorAdapter Basierend auf einer Connection im DBC gespeichert SPT (SQL Pass Through) Native Datenbank- oder ODBC-Syntax Beliebige Befehle/Scripts verarbeitbar (Fast) vollständige Kontrolle über Befehlsausführung Für „normale“ Anwendungsfälle eher umständlich Nichts für die einfache Portierbarkeit CursorAdapter

Remote Views vs. CursorAdapter Remote View und Connection im DBC gespeichert Nachteil: DBC muss verwendet werden Verbindungsinformationen im Klartext lesbar (!) CursorAdapter als programmatische oder visuelle Klasse in die Exe-Datei eingebunden Zur Laufzeit beliebig konfigurierbar Mit DBC und Remote Datenbanken einsetzbar Vererbung möglich für bessere Wartbarkeit

Vorteile SQL Server Verfügbarkeit Datensicherheit Skalierbarkeit Clients haben keinen Einfluss auf die Serverdatenbank Wartungsaufgaben und Backup im laufenden Betrieb Datensicherheit Datenbank ist vor direktem Zugriff geschützt Security-Modell Skalierbarkeit

Nachteile SQL Server Betreuungsaufwand Lizenzkosten Qualifiziertes Betreuungspersonal notwendig Einzelne Tabellen können nicht kopiert oder ersetzt werden Lizenzkosten Oder kostenlos für den Einstieg: SQL Server Desktop Engine (MSDE) SQL Server 2005 Express Oder VAR-Vertrag mit Microsoft

Optimierungsmöglichkeiten DBF Verzeichniskomprimierung (+10% Performance!) Virusfilter für Endungen abschalten Verzicht auf Verschlüsselung (siehe oben) Verzicht auf Indizes mit wenig Unterscheidung Abschaltung Opportunistic Locking Hardware Mehrere / schnellere Netzwerkkarten User auf Stränge verteilen (z.B. 10 User/Strang) Gute HD-Controller mit viel Cache (notfalls) Verteilung von DBF und CDX auf versch. Festplatten

Querverweise 03-21 Schützen einer Tabelle in einem DBC Verwendung von Datenbankcontainerereignissen 03-23 Schützen von VFP Daten Verhindert Sichtbarkeit des Datenverzeichnisses und somit Zugriff durch Endanwender! 03-24 Die Normalisierung von Daten generell und immer sinnvoll und notwendig

Upsizing VFP Upsizing Wizard xCase (und andere Tools) Update für SQL-Server 2005 angekündigt xCase (und andere Tools) Gute VFP-Unterstützung Möglichkeit zur Massenänderung (DBFs!) Ankündigung in eigener Sache VFX Upsizing Wizard

Die Lösung CursorAdapter Vorteile: Klasse – Vererbung, Eigenschaften, Methoden Erstellter Cursor ähnlich Ansicht Einheitlicher Datenzugriff Datenzugriff auf DBC und SQL Server möglich Umschaltbarkeit zur Laufzeit Typkonvertierung möglich Builder in VFP vorhanden -> Beispiel 

Wie macht man es richtig? CursorAdapter-Klasse verwenden ConnectionManager ConnectionManager liest Datenbankinformationen aus Konfigurationsdatei Wichtig: CursorAdapter-Funktionalität unbedingt in einer Klasse speichern -> keine Änderung in der Datenumgebung von Formularen beim Wechsel der Datenquelle

Programmstart Im Init Ereignis des Anwendungsobjekts wird der ConnectionManager instanziiert Aus einer verschlüsselten Tabelle werden die Datenbankinformationen gelesen Beim Instanziieren eines CursorAdapters wird vom ConnectionManager eine Connection geholt Die CursorAdapter-Klasse verwendet die Informationen des ConnectionManagers (Der gezeigte Code ist frei downloadbar)

CursorAdapter Klasse Herstellen der Verbindung zur Datenbank über den ConnectionManager Holen von ID-Werten Wartbarkeit Eingriffsmöglichkeit an vielen Stellen BeforeUpdate, AfterUpdate

IDs IDs sollten von der Datenbank vergeben werden CursorAdapter ermöglichen diese IDs nach dem Speichern aus der Datenbank zu holen InsertCmdRefreshCmd – wird nach dem Insert ausgeführt – Hier können IDs geholt werden GETAUTOINCVALUE() bei DBC select * from <myTable> where <IdField>=GETAUTOINCVALUE() @@IDENTITY bei SQL Server

Connection Manager Klasse Instanziierung ohne Datenanbindung Herstellen einer(!) Verbindung beim ersten Bedarf Auslesen der Datenbankinformationen aus einer Datei möglich Eine Connection für alle Datenzugriffe der Anwendung Verwendung mehrerer Datenbanken in einer Anwendung In einer Eigenschaft jedes CursorAdapters steht der zu verwendende Connection Manager

Planen einer neuen Anwendung Nur mit CusorAdapter Klasse arbeiten! Connection Manager verwenden Vorteile: Es wird nur 1 Verbindung benötigt Austauschbarkeit der Datenquelle Wechsel von DBC zu SQL möglich Entscheidung je Kunde ob DBC oder SQL verwendet werden soll

Ein Beispiel aus der Praxis VFP VFP? Venelina´ Fanstastic Pizzas 

VFPizza Customers.scx Erstellt mit dem VFX - Form Builder Steuerlemente zur Eingabe von Parametern hinzugefügt CursorAdapter mit dem CA Wizard erstellt SelectCmd um Where-Klausel erweitert

VFPizza Orders.scx 1:n Formular Erstellt mit dem VFX - Form Builder Steuerlement zur Eingabe von Parametern hinzugefügt CursorAdapter mit dem CA Wizard erstellt SelectCmd um Where-Klausel erweitert

Datenquellen bearbeiten Beispiel: Manage Config.vfx Verwaltung des Datenzugriffs sinnvoll / notwendig Dialog in der Anwendung beim Kunden praktisch Problemloser Wechsel zwischen DBC und SQL Server ConnectionString empfehlenswert Verschlüsselung mit Kennwort Einstellung mit dem Application Builder goprogram.cconfigpassword

Test Läuft die Anwendung mit DBC und SQL Server? Download Beispiel mit Quellcode unter http://files.visualextend.de/ files90/VFPizza90.zip (kein VFX benötigt!)

CursorAdapter Klasse Was ist neu? Maximale Länge eines Eigenschaftwerts bei Eingabe: 8 KB Auto-Refresh-Unterstützung InsertCmdRefreshFieldList, InsertCmdRefreshCmd, InsertCmdRefreshKeyFieldList, UpdateCmdRefreshFieldList, …, RefreshTimestamp Erweiterte Refresh-Unterstützung RecordRefresh(), BeforeRecordRefresh(), … Verzögertes Abrufen von Memofeldern DelayedMemoFetch(), FetchMemoDataSource, … Transaktionen bei Update, Insert, Delete: Eigenschaft UseTransactions Besseres Konflikthandling ConflictCheckType / ConflictCheckCmd (SP1) Neue Eigenschaft TimestampFieldList Lesen und Schreiben von hierarchischen XML Diverse Erweiterungen bzgl. ADO

Weiterführendes Material Visual FoxPro 9.0 Updatebuch Roadshow-CD Lokalisierungs-CD Visual FoxPro 8.0 Deutsche Hilfedatei Online-Angebote der dFPUG Forum, Portal, eNewsletter, Homepage, Wiki

Teil 5: Arbeiten mit Berichten Mittwoch, 10.8.2005, 16:00 – 17:00 Uhr Die objektorientierte Entwicklungsumgebung und relationale Datenbank Microsoft Visual FoxPro liefert seit jeher eine Vielzahl von Werkzeugen gleich mit. Besonders beliebt ist dabei der Berichtsgenerator, der lizenzkostenfrei an alle Anwender mitgeliefert werden darf. In der neuen Version 9.0 wurde der Berichtsgenerator grundlegend überarbeitet und massiv erweitert. Behandelt werden die neuen Werkzeuge für die Gestaltung und Anzeige von Berichten durch Entwickler und im neuen geschützten Modus durch Endanwender sowie die neuen Anforderungen an die Auslieferung der Komponenten mit der Anwendung.

Teil 6: Ausführen von Berichten Mittwoch, 17.8.2005, 16:00 – 17:00 Uhr Die objektorientierte Entwicklungsumgebung und relationale Datenbank Microsoft Visual FoxPro liefert seit jeher eine Vielzahl von Werkzeugen gleich mit. Besonders beliebt ist dabei der Berichtsgenerator, der lizenzkostenfrei an alle Anwender mitgeliefert werden darf. In der neuen Version 9.0 wurde der Berichtsgenerator grundlegend überarbeitet und massiv erweitert. Behandelt werden die neuen Ausgabe-optionen und die Programmierbarkeit zur Laufzeit in verschiedenen Beispielen sowie die zusätzlich mögliche Erweiterung der Berichtsausgabe in PDF-Dateien.

Fragen an hotline@dfpug.de oder besser http://forum.dfpug.de Vielen Dank! Fragen an hotline@dfpug.de oder besser http://forum.dfpug.de Besuchen Sie unsere Webseiten: http://www.dfpug.de, http://portal.dfpug.de, http://forum.dfpug.de, http://newsletter.dfpug.de, http://devcon.dfpug.de, http://roadshow.dfpug.de, http://www.visualextend.de, http://www.linuxtransfer.de, http://www.visualfoxpro.de