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 verteilter 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 nativen 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 um z.B. individuelle Listenansichten mit Zeilenumbrüchen und bestimmter farblicher 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