Bedienoberfläche mit Client-/Server-Schnittstelle zu mehreren Gerätschaften
Das bestehende Server-System sollte um ein Kommunikationsmodul erweitert werden.
Ebenfalls war eine Windows Forms Anwendung zu entwickeln, welche auf vier im
Netzwerk verteilte Prozessrechner zugreifen sollte. Dazu wurde von uns ein
neues Programmodul in Form einer DLL mit C-Schnittstelle für die 4 Systeme
entwickelt. Besonderes Gewicht wurde auf die Zuverlässigkeit und Robustheit des
Programmmoduls gelegt.
Die Übertragung der Daten erfolgt im XML-Format und wurde über einen
Webserver/Webservice bereitgestellt. Es wurden Textdaten und Bilddaten
übertragen. Die technologische Herausforderung war die Interaktion (Callbacks)
und die Darstellung und Bereitstellung der übertragenen Daten der vier
Prozessrechner. Hierzu wurde die Microsoft Technologie WCF - Windows
Communication Foundation - herangezogen. Da es sich bei dieser Technologie um
einen Teil des .Net-Frameworks 3.5 handelt, musste eine Schnittstelle zwischen
managed Code (in diesem Fall managed C#) und unmanaged Code (C++) benutzt werden.
Hierzu wurde die von Microsoft entwickelte Variante von C++ mit Zugriff auf die
.NET-Laufzeitumgebung - C++/CLI - verwendet. Hierdurch konnten die Clients per
WCF an das Serversystem über das LAN (Local Area Network) angebunden werden.
Werteänderungen und Benutzerinteraktionen wurden asynchron über Callbacks
zwischen dem Serversystem und den Terminals ausgetauscht. Wir haben zu diesem
Zweck eine DLL mit C-Schnittstelle in nativem C++ erstellt, welche jedoch
partiell über die C++/CLI Erweiterung auf die WCF-Funktionalität des .NET-Frameworks
zugreift.
Für die Darstellung der Daten auf dem Terminal wurden spezielle Windows Forms
Controls entwickelt, für z.B. individuelle Listenansichten mit Zeilenumbrüchen und
bestimmte farbliche Hinterlegungen auf Zeilenbasis. Für den Test der
verschiedenen Komponenten wurde ein Simulator geschrieben, welcher in sehr
kurzen Zeitabständen die individuellen Controls auf den Terminals mit Daten
füllte. Dieser Simulator wurde neben einer allgemeinen Funktionsüberprüfung
insbesondere für Tests der Geschwindigkeit, Robustheit, Zuverlässigkeit
verwendet.
Technologien
Die Präsentationsebene der Clientanwendung basiert wesentlich auf Windows Forms
.NET-Technologie in der Version 3.5. Die Programmierung der Oberflächenelemente
erfolgte in C#.
WCF, C++ / CLI -DLL, .NET, C#, Interop
Schulung / Einführung zu in diesem Projekt verwendeten Technologien