Migrationsunterstützung einer Fat-Client-Anwendung von Team Developer 3.1 / 5.2 in eine Web-Anwendung nach Team Developer 6.1 .Net

Eine bestehende Anwendung für das Tracking von Strafmandaten und eine entsprechende Kassensoftware, erstellt mit dem TD 3.1, soll lt. Kundenanforderung ins Web umgestellt werden. Hierbei sollten verschiedene Wege vorgestellt und betrachtet werden.
Die Anwendung enthält zahlreiche DLL-Aufrufe und ActiveX-Komponenten. Die Umstellung nach TD 5.2 wurde durch den Kunden bereits realisiert.
Inhalt des Workshops:

  • Grundlagen zur Migration nach TD 6.x Win32
  • Grundlagen zur Migration nach TD 6.x .NET
  • Grundlagen XAML – Verwendung von WPF-Controls
  • Konsumieren von .NET-Assemblies
  • Gegenüberstellung einer Web-Anwendung und einer browserbasierten Anwendung
  • Aufgrund der bestehenden Programmstruktur wäre die Umstellung auf eine Web-Anwendung zu aufwändig.
  • Erstellen und Einrichten einer XBAP-Anwendung.
  • Erstellen einer Liste von erforderlichen Eckdaten zur Klärung mit dem Endkunden.

Folgende Probleme sind bei der Migration aufgetreten:

  • Datenbankzugriff auf SQL Server über ODBC.
  • DB-Connect unter .NET funktionierte nicht, unter Win32 war es ok; OLEDB funktionierte, konnte aber nicht mit Subselects umgehen.
  • Umstellung auf TD 6.1 .NET durchgeführt – DB Connect erfolgreich.
  • Durch die Projektstruktur der umzustellenden Software war eine Migration direkt nach TD 6.1 Win32 nicht möglich, da der Compiler nicht alle enthaltenen DLL-Aufrufe umsetzen konnte. Deshalb erfolgte die Migration nach TD 6.0 Win32 und die Anwendung wurde soweit abgespeckt, dass nur die notwendigen Module enthalten waren. Test unter TD 6.0 Win32 erfolgreich.
  • Die DLL-Aufrufe wurden in ein .NET-Assembly gepackt, welches eingebunden wurde.
  • Probleme traten auf, wenn Member-Variablen einer Klasse als Bindvariablen verwendet wurden. Das Select-Statement wurde hier nicht korrekt ausgeführt.
    Lösung brachte hier die Umstellung der Statements ohne Bindvariablen.
  • Im TreeView-Control wird bei Verwendung der Funktion SalTreeSetSel-ectedItem zwar das Item selektiert, aber nicht in den sichtbaren Bereich bescrollt. Dies ist allerdings nur bei der Eigenschaft ShowRoot = NO falsch. Ist diese Eigenschaft auf Yes gesetzt, ist das Scroll-Verhalten richtig.

20130805_01

Eine Liste von notwendigen Voraussetzungen konnte erstellt werden.
Der Kunde kennt nun die Schritte zur Umstellung seiner Anwendung als XBAP-Anwendung.
Bei Umstellung der Anwendung ist weitere Unterstützung vorgesehen.