Größere Projekte

Bedienoberfläche mit Client-/Server-Schnittstelle zu mehreren 
            Gerätschaften

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.

Aufruf der Funktionen

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.

WCF-Managed and Unmanaged Code

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.

Gesamtübersicht

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