[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]

Nachdem der Benutzer seine Selektionskriterien eingegeben hat, kann er die Daten im ganz normalen Datenmanipulations Bildschirm einsehen:

Im Unterschied zu anderen Client/Server Ansätzen, welche gar keine Navigationsmöglichkeiten und auch kein Grid besitzen, um aus dem Resultateset den gewünschten Datensatz auszuwählen, verfügt das VFX Framework auch im Client/Server Fall über alle Eigenschaften, welche bei einer Fileserver Anwendung so praktisch sind:

Somit liegt es in der Verantwortung des Benutzers, ob er mehrere Datensätze beziehen will um dann seine Suche mit den lokal zur Verfügung stehenden Datensätzen weiter zu verfeinern, oder ob er gleich zu Beginn die Daten soweit einschränkt, dass nur in einziger Datensatz über das Netz auf seine Arbeitsstation geladen wird.

Auch um andere Daten vom Server zu beziehen, ist in VFX bereits alles vorgesehen. Der Benutzer muss lediglich den "Abfrage…" Knopf in der entsprechenden Formtoolbar anwählen und schon befindet er sich wieder in dem eingangs gezeigten Selektionsbildschirm und kann dort erneut einen Datenbezug starten.

Ich werde in der Session die technische Implementation inkl. vollständiger, sehr detaillierter, deutschsprachiger Dokumentation an die Teilnehmer übergeben.

Die SQL Abfragen

Das Axiom, dass bei einer Client/Server Anwendung dem Benutzer nach Aufstarten eines Forms grundsätzlich KEINE Daten präsentiert werden, lebt dem Gedanken nach, dass nur diese Daten vom Server auf den Client transferiert werden dürfen, welche der Client im Augenblick auch wirklich benötigt. Das mag für jemanden, der in der Client/Server Entwicklung neu ist zunächst etwas befremdend sein, doch man gewöhnt sich sehr rasch daran und, was noch viel besser ist: Man gewinnt diesem Ansatz je länger desto mehr positive Seiten ab.

Man löst sich somit vom Gedanken, dem Benutzer immer sämtliche Daten zu präsentieren, nur weil man eigentlich nicht weiss, welche Daten er tatsächlich benötigt. Das bringt den Entwickler in den durchaus als positiv zu wertenden Zwang, sich über die Art und Weise, wie ein Anwender mit den Daten umgeht, auseinanderzusetzen.

Ausgehend davon, dass der Entwickler weiss, welche Daten der Benutzer wie beziehen will, kann er z.B. den weiter oben beschriebenen "Multi Remote View" Ansatz wählen um mit verschiedenen Remote Views zu arbeiten. Hierbei ist es natürlich wichtig, dass jede einzelne View vom Server möglichst optimal verarbeitet werden kann.

Die aus VFP bekannte "Rushmore" Optimierung gibt es im SQL Server natürlich in Analogie auch. Beim SQL Server heisst das ganze "Query Optimizer". Der Query Optimizer ist der Teil des SQL Servers, welcher eine View oder Stored Procedure bzgl. der optimierten Abarbeitungsstrategie durchleuchtet und dann einen Execution Plan erstellt, um die Daten in möglichst effizieter Art und Weise beziehen zu können.

Es leuchtet ein, dass eine Client/Server Anwendung nur dann eine wirklich gute Performance liefern kann, wenn die Optimierug der verwendeten Queries wirklich stattfinden kann. Hierzu ist es sehr nützlich, mit dem Query Analyzer zu arbeiten. Das ist das Tool, welches es einem u.a. erlaubt, den Execution Plan einer Query graphisch darstellen zu lassen und daraus Rückschlüsse auf die Optimierung der Abfrage oder die Anpassung der Datenbank zulässt

[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]