Freitag, 7. November

Track .NET

Am Freitag wird der .NET Track fortgesetzt, der am Vortag angefangen hatte.

Track .NET: ASP.NET WebShop umsonst: Erfahrungen aus der Entwicklung des zukünftigen dFPUG Web Shop

Norbert Abb, einer der Geschäftsführer der Firma Wizards & Builders, führt eine WebShop-Anwendung vor und erklärt ihre Entwicklung am Beispiel des zukünftigen dFPUG WebShops. Die Anwendung beruht auf ASP.NET. Er redet nicht nur über das Design und die Implementierung, sondern gibt auch ausführliche Informationen über Installation und Anpassung.

Norbert hebt hervor, dass wir nicht notwendigerweise Visual Studio .NET benötigen, um eine ASP.NET Anwendung zu entwickeln, seitdem Microsoft auch ein freies Tool namens WebMatrix liefert. Also kann die Web Shop-Anwendung, die Norbert uns zeigt, auch mit einem kostenlosen Tool bearbeitet werden, aber darüber hinaus basiert sie auch auf einem Quellcode, der frei erhältlich ist. Die Beispiel-Webshop-Anwendung wird IBuySpy genannt und man kann sie aus dem Internet laden.

Die Anwendung IBuySpy wurde ursprünglich für MSDE oder SQL Server programmiert, aber Norbert zeigt, dass man genauso gut eine VFP Datenbank für den Shop benutzen kann. Zur Zeit arbeitet der dFPUG Shop mit VFP-Tabellen. Den Quellcode und die VFP-Tabellen für das IBuySpy Beispiel kann von der Konferenzwebseite geladen werden und man braucht kein MSDE oder SQL Server. VFP und WebMatrix reicht völlig aus.

Norbert führt uns eine Möglichkeit vor, umsonst Hosting für das Testen von ASP.NET-Seiten mit Zugriff auf SQL Server von Microsoft unter der Adresse www.webmatrixhosting.net zu bekommen. Das wussten viele vorher nicht!

Track .NET: Mere Mortals .NET Framework

In diesem Vortrag zeigt uns Kevin McNeish die neuen Fähigkeiten von MM.NET Version 1.1. Er führt den Gebrauch des Framework als ein RAD-Tool zum Erstellen von .NET WinForms, WebForms und WebServiceanwendungen vor.

MM.NET realisiert VFP-typisches Databinding in .NET und erlaubt es, Steuerelemente an Tabellenfelder zu binden, indem man einfach ein paar Eigenschaften (ähnlich wie bei Visual FoxPro) setzt. Das erspart das Schreiben von vielen Zeilen von .NET-Code zur Steuerung des Datenzugriffs.

Kevin zeigt die verbesserten Sicherheitsfeatures für Anwender von MM.NET, die sowohl in Windows Formularen wie auch in den Web Formularen vorhanden sind und dem Endanwender das Konfigurieren der Anwendungssicherheit für Benutzer und Rollen erleichtern.

MM.NET ist in die Benutzeroberfläche von Visual Studio.NET integriert und hilft bei den ersten Anwendungen durch den gesamten Entwicklungsprozess.

Das Framework bietet Geschäftsobjektsbasisklassen, die die Erzeugung von Mehrschichten-Anwendungen in .NET vereinfachen. Kevin erläutert, dass MM.NET ebenfalls den Quellcode enthält, mit dem man sehen kann, was hinter der Bühne passiert und das man das Framework an die jeweiligen Bedürfnisse anpassen kann.

Praktischer Nutzen von Windows API

Marcia Akins war die erste Teilnehmerin aus den USA (abgesehen von den Rednern) bei der Konferenz 1998 in Frankfurt! Sie und ihr Mann Andy Kramek (den wir alle dieses Jahr vermissen) haben seitdem nur bei einer Konferenz nicht teilgenommen und bei allen anderen waren sie dann natürlich beide als außerordentlich beliebte Redner.

Ziel des Vortrags ist es, Windows API Programmierung bei den Visual FoxPro Entwicklern einzuführen. Marcia beginnt mit einem Rückblick auf das Windows API. Sie erwähnt, dass viele VFP Beispiele erhältlich sind, die zeigen, wie man eine bestimmte API Funktion aufruft. Es gibt aber viel mehr Beispiele in Visual Basic und natürlich noch mehr Beispiele, die in C geschrieben sind. Marcia erklärt dem Publikum, wie man Beispiele, die nicht in VFP geschrieben sind, in unseren geliebten Visual FoxPro Code umschreiben kann. Sie führt ein klares Konzept zur Konvertierung von Datentypen vor und zeigt, wie man mit Strukturen umgeht, was offensichtlich eines der schwierigsten Probleme beim Aufruf von API-Funktionen aus VFP ist. Marcia erwähnt die Strukturklassen von Christof Lange als eine große Hilfe beim Benutzen von Strukturen.

http://ww.news2news.com, die Universal Thread API Sektion und der FoxWiki sind gute Adressen, um Beispiele für VFP Entwickler, die Windows API nutzen wollen, zu bekommen.
Dann führt Marcia anhand verschiedener praktischer Beispiele vor, wie man mit Windows API-Funktionen Dinge erledigt, die man mit den eingebauten Visual FoxPro Befehlen nicht erreichen könnte. Diese Beispiele enthielten einen Code, der die Windows Registry liest und einen Code, der sicherstellt, dass der Bildschirmneuaufbau wirklich gesperrt ist, wenn man die Darstellung der ActiveX Controls in den VFP Formulare ändern muss usw. .

Am Ende weiß jeder Teilnehmer, wie man Windows API Funktionen nach Visual FoxPro transformiert oder direkt neu schreibt, welche Fallen es gibt und wo man Beispiele dazu finden kann. Normalerweise sind Beispiele der einfachste Weg, um API-Funktionen zu Verstehen und zum Laufen zu bringen - besonders, wenn es kompliziertere API Aufrufe sind.

Es war wie immer sehr unterhaltsam, Marcia zuzuhören!

VFP Grid Techniken

Wer jemals bei einem Vortrag von Drew Speedie war, weiß: er spricht laut, schnell, klar und gut verständlich. Drew hat alles in einem Koffer: Seine berühmte Grid-Box, in der sein ganzes Wissen, sein Know How und diverses Informationsmaterial ist.

Er ist einer der Säulen der FoxPro Community: Er ist VFP Entwickler, Consultant, Trainer, Software Chefarchitekt des Visual MaxFrame Professional Framework, Redakteur des FoxPro Advisor Magazins und teilweise der technische Lektor.

Heute präsentiert er ein neues Kapitel einer unendlichen Geschichte: Wie man die Bestie Grid davon überzeugt, das zu tun, was man möchte und nicht das, was sie selbst tun möchte.
Unter den zahlreichen vorgeführten Beispielen (der Quellcode befindet sich auf der Konferenz-CD) sind folgende:

Dazu kamen viele Workarounds unter der Überschrift, was man tun muss, wenn...

Design Patterns: Praxis zur wohlklingenden Theorie

Markus Alt beginnt den Vortrag mit einer kleinen Einführung in die Geschichte der Entwurfsmuster und erklärt, welches Design die Muster haben und woher man weitere Informationen bekommen kann. Danach nimmt er verschiedene Beispiele durch, die zeigen, wie einfach man Muster kodieren kann und demonstriert sowohl die Idee dahinter wie auch den entsprechenden Code. Er führt Ideen vor, wo man die Muster in realen Anwendungen benutzen kann. Marcus beginnt mit einer BINDEVENT-basierenden Implementation des Subject-Observer Pattern und führt folgende weitere Musterumsetzungen vor:

Viele der Beispiele helfen den Teilnehmer, ein Gefühl dafür zu bekommen, was Entwurfsmuster sind und sich in der Zukunft weiter in dieses Thema einzuarbeiten.

Track Microsoft SQL Server

Und hier ist ein weiterer Track, der ebenfalls im Vorjahr eingeführt wurde. Die Redner sind Dan Jurden (vier Vorträge in diesem Track), Daniel LeClair (ebenfalls vier Vorträge) und Venelina Jordanova (ein Vortrag). Der Track besteht dieses Jahr also aus insgesamt neun verschiedenen Vorträgen und deckt eine große Bandbreite an interessanten Themen wie zum Beispiel eine Einführung in verteilte SQL-Management-Objekte, die Datentransformationsdienste (DTS), die XML-Funktionen von SQL-Server, die Verwendung von benutzerdefinierten Funktionen (UDFs), DMO, den im folgenden beschriebenen Vortrag und viele weitere Themen. Der Track bestand ausschließlich aus englischen Vorträgen. Wie immer ist es wirklich ärgerlich, dass wir nicht jeden Vortrag besuchen und darüber schreiben können.

Track SQL Server: Beyond SELECT: Advanced Queries for SQL Server
Daniel LeClair, ein unabhängiger Berater, behandelt eine Menge Themen, was man mit einem SQL Server tun kann, der auf der T-SQL Programmiersprache aufgebaut ist. Zuerst erklärt er den Unterschied beim Abrufen und Manipulieren von Dateien mit T-SQL. Er hebt hervor, dass es an manchen Stellen ähnlich wie bei Visual FoxPro geht, aber dass es einen Hauptunterschied gibt: Bei T-SQL arbeitet man hauptsächlich mit Gruppe von Datensätzen – im Gegensatz zu VFP, wo eher auf einzelne Datensätze zugegriffen wird. Daniel weist darauf hin, dass er uns hauptsächlich Dinge vorführt, die nicht nur beim SQL Server 2000, sondern auch auf dem SQL Server 7 anwendbar sind. Also können auch Teilnehmer, die noch die ältere Version benutzen, von dem Vortrag profitieren, während manche Sachen auf MS SQL 2000 beschränkt sind.

Daniel erklärt und präsentiert interessante Themen wie das Benutzen von dynamischen SQL Statements, Systemtabellen in Abfragen, temporäre Tabellen und Cursor, und andere Fähigkeiten von T-SQL die über das einfache Zurückerhalten von Ergebnissen hinausgehen. Benutzung von Cursorn, dynamischen SQL-Befehle, UDFs, variable Tabellentypen, CASE Statements, und abgeleitete Tabellen werden ebenfalls abgehandelt.

Track SQL Server: T-SQL Erweiterung mit COM

Zunächst erklärt Dan Jordan, der als Senior Anwendungsentwickler bei EPS-Software Corp. arbeitet, dass T-SQL (SQL Servers eingebaute Programmiersprache) starke Einschränkungen bei komplexeren Aufgaben, die nicht direkt mit dem Datenzugang verbunden sind, hat. Viele Entwickler (Anmerkung des Reporters: Sie können mich dazu zählen) sahen sich mit diesem Problem schon konfrontiert. Trotzdem - weist Daniel darauf hin - ist es möglich, COM-Objekte zu nutzen, genau wie wir sie mit Visual FoxPro erzeugen und in T-SQL damit die Funktionalität zu erweitern.

Weiter geht es mit der Erklärung der gespeicherten Prozeduren, die T-SQL für den Zugang zu COM Server anbietet. Daniel führt uns vor, wie der T-SQL Code, der die folgenden gespeicherten Prozeduren benutzt, aussieht:

Am Schluss unterstreicht Dan, dass wir vorsichtig z.B. beim Gebrauch von COM Server Aufrufen auf Web Servern mit vielen Besuchern sein sollen, weil der Gebrauch dieser Technologie ein beträchtliches Problem bei der Seitendarstellung verursachen kann. Er weist uns andererseits darauf hin, dass sich der Gebrauch von COM Servern wahrscheinlich als nützlich erweist, wenn man ihn auf einem Server benutzt, der nicht die ganze Zeit ausgelastet ist und mit dem nicht zu viele Benutzer gleichzeitig arbeiten.

Noch eine Bemerkung des Reporters: YAG kündigt eine neue Möglichkeit an, mit der man T-SQL nahtlos mit der künftigen neuen Version von VS.NET und dem SQL Server erweitern kann. Damit wird man dann mit jeder Sprache innerhalb von VS:NET gespeicherte Prozeduren erzeugen können!