Migrationsunterstützung – Upgraden von SQL-Windows-Anwendungen von Team Developer 5.2 nach 6.1 Win32 bei einem Softwarehaus in Baden-Württemberg

Das Softwareprodukt unseres Kunden soll modernisiert werden.

Inhalt des Workshops:

  • Die Anwendung war durch unseren Kunden bereits auf einer separaten Maschine bereitgestellt worden. Nacheinander wurden die einzelnen Schritte der Migration durchgeführt. Die Verwendung der Tabs/Grid Konverter wurde geschult.
  • Es wurde die Verwendung des .NET-Explorers diskutiert und durch ein Beispiel (MS Office Interpol) vertieft.
  • Die Erstellung von WPF-Wrappern für ActiveX und externe DLLs wurde angesprochen.
  • SalMail wurde diskutiert und es wurde auf die noch bestehenden Probleme hingewiesen.

Folgende Probleme sind bei der Migration aufgetreten:

  • Beheben ließ sich, dass die DLLs auf den Testmaschinen nicht vorhanden waren, ActiveX Controls nicht registriert.
  • Zu einer DLL muss ein Wrapper geschrieben werden, da die Herstellerfirma das Produkt nicht weiter unterstützt bzw. nicht mehr existiert.

20130901_01

Unser Kunde war mit dem erreichten Ergebnis zufrieden. Die bestehende Applikation wird jetzt auf 6.1 Win32 umgestellt und für ausgewählte Anwender produktiv gehen. Der Übergang auf .NET ist angedacht, wird aber, wie auch von Gupta empfohlen in einem späteren Schritt erfolgen.

PS: Für Team Developer 6.1 hat MD Consulting inzwischen einen Workaround, der im Rahmen von Support oder Schulung an unsere Kunden gegeben wird. Ab Team Developer 6.2 funktioniert SalMail ohne Probleme in der beschriebenen Funktionalität.


Problemlösung zu Timeouts und Deadlocks mit SQLBase

Unser Kunde hat eine Gupta Team Developer Applikation für die Holz- und Möbelindustrie.

Seine unterschiedlichen Applikationen sind am Puls der Zeit, da sie permanent angepasst und weiterentwickelt werden.

Der Anspruch immer „up to date“ zu sein, birgt das Risiko, auf „Kinderkrankheiten“ der Betriebssysteme, Datenbanken und Entwicklungswerkzeuge zu stoßen. So wurde MD Consulting gerufen.

Ziel war es, die Anwendung zu den bestehenden Problemen der SQLBase 11.7 mit Timeouts und Deadlocks, insbesonders bei 64bit (Win7 und 8) zu analysieren und Lösungsansätze zu eruieren.

Vorgehensweise:

  • Analyse der SQLBase Konfiguration
  • Analyse von Programmcode, der für die Deadlocks in Frage kommt
  • Nach der Analyse konnten durch Anpassungen in der sql.ini und im Programmcode die richtigen Werte für InMessage-Buffer, Outmessage-Buffer und Isolation-Level gefunden werden. Gleichzeitig konnten an mehreren Programmstellen Blockademöglichkeiten durch Cursor-Commits entfernt werden

Viele Probleme konnten erfolgreich gelöst werden. Einige Nacharbeiten mussten wir mit nach Hause nehmen. So konnten wir etwas später eine erweiterte Definition der Tracing-Dateien unter SQLBase nachliefern.

PS: Zu einem späteren Zeitpunkt trat bei einen anderen Endkunden ein ganz anderes gelagertes Problem mit der SQLBase auf. 80 User konnten nicht arbeiten bzw. flogen alle 2-3 Stunden mit Ihrer Applikation raus. Da sprang wegen Urlaubszeit bei MD Consulting der Hersteller höchst persönlich ein. Mike Vandine wurde in Australien geweckt, ini´s gingen rund um den Globus und in kürzester Zeit war das Problem behoben.

Ein Dank an Mike Vandine von Gupta Technologies von MD Consulting.

Auch der Kunde bedankte sich: “… at the moment the system works fine and everybody is happy. We had NO crash today. About 20 concurrent users working on the database.”

20130828


Mitarbeiter krank? Wir helfen gern!

Wer schon mal einen Rentenbescheid in Deutschland bekommen hat, kann erahnen, welcher Berg Papier sich dahinter verbirgt.
Dieser Berg Akten muss gesichtet, eingescannt, verwaltet und archiviert werden. Eine Menge Arbeit, soll doch jeder Bundesbürger einen korrekten Bescheid bekommen und auf viele Jahre hin nachvollziehbar bleiben.

Der Neuaufbau eines Lagers zur Aktenunterbringung stand an, aber auch eine neue Verwaltungssoftware sollte erstellt werden.
So eine Akte geht zwischen vielen Abteilungen hin und her. Die Schwierigkeit hierbei ist, stets Auskunft geben zu können, wo sich welche Akte befindet. Dabei wurde auch Wert gelegt, dass die Fehlerquote bei der Aktenerfassung mittels Scanner möglichst gering gehalten wird. Dies soll durch verschiedenste Validierungen erreicht werden.

Programmiert wurden die Anwendungen mit Team Developer 6.0, deployed unter Citrix. Entwickelt wurden Programme zur Aktenübernahme, Aktenverwaltung, diverse Hintergrundprogramme für den Import und Export von Daten.

Für den Etikettendruck werden Zebra-Drucker verwendet. Für bessere Performance erfolgt der Etikettendruck mittels ZPL.

Als Scanner kommen Geräte von Motorola zum Einsatz. Es wird eine Offline Scannererfassung genutzt; also Scanner erfassen, legen die Daten auf dem Scanner ab und übertragen diese erst später auf einen PC.
Die Scannerprogrammierung erfolgte mittels MCL, einem modular aufgebauten grafischen Entwicklungssystem für mobile Geräte.

In diesem Projekt fiel ein Team Developer Programmierer des Kunden krankheitsbedingt aus. So hieß es, schnell Ersatz finden, schnelle Einarbeitung in den SourceCode des Kunden, um auch tatsächliche eine Hilfe zu sein. So war MD Consulting gefragt, bringen wir doch bestes Team Developer Knowhow mit.
Der Vorort-Einsatz war für ¼ Jahr geplant und wurde auf ½ Jahr verlängert – kein Problem für MD Consulting.

20130805_02

Wenn sie Fragen haben, können Sie sich jederzeit an uns wenden, Ihr Ansprechpartner Frau Evelyn Ertel telefonisch unter 08122/97400 oder per E-Mail an info@md-consulting.de


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.