Frage

Ich habe ein Projekt comming meine Art und Weise: Geräte mit ihrem eigenen System in C geschrieben, und eine Windows-Anwendung für die Zwecke der Verwaltung (Senden Konfiguration aufgezeichnete Daten von Geräten abrufen, Gerätezustandsüberwachung). Ich habe Flexibilität bei der Auswahl, welche Technologie ich werde verwenden. Die Anforderungen sind ziemlich unscharf jetzt so ist es etwas flexibel sein sollte. Das primäre Kommunikationsprotokoll TCP ist. Wir können COM-Ports als Wartungs Option verwenden, wenn die normale Kommunikation nicht aufgrund einiger Netzwerk Störung zum Beispiel.

Ich betrachte die Verwendung eines WCF-Dienst als „Proxy“ zwischen der Anwendung und den Geräten. App sendet Daten an service, die Daten verarbeitet und sendet TCP-Pakete an Vorrichtungen (Daten in Paketen sind verständlich durch Geräte), Vorrichtungen react Pakete zurück zu WCF-Dienst, der wiederum TCP Senden der Nachricht zu Anwendung verarbeitet sendet. Enthält diese Verwendung von WCF einen Sinn?

WCF kann leicht von Webapp zugegriffen werden so neben normalen Windows-Anwendung konnten wir unser System mehr sexy mit ihm machen, aber ist es das wert? Was denken Sie, teilen Sie Ihre Ideen, bitte:)

War es hilfreich?

Lösung

Wie ich es verstehe, erwägen Sie eine Systemarchitektur mit drei Elementen. Eine Windows-Anwendung, eine Reihe von Geräten, und dann ein zusätzlicher Dienst, der als Proxy oder go-between, Makeln Kommunikation zwischen den beiden handeln würde.

Erste Frage: Gibt es einen Grund, die Management-Anwendung nicht auf die Geräte selbst herstellen kann? Die Windows-Anwendung für die Verwaltung verwendet wird, sollte eine Buchse an den Geräten öffnen können, genauso gut wie eine andere App konnte. Warum würden Sie nicht? Ich denke, eine andere Möglichkeit, dies zu fragen ist, Was die Rechtfertigung der Makler, das dritte Element in die Architektur? Gibt es eine Asynchronität Sie einführen wollen einzuführen? Ist es eine Frage des Maßstabs - vielleicht die Anzahl der Geräte so groß ist, dass Sie eine separate App-Kommunikation verwalten möchten alle von ihnen, anstatt direkt aus einer Anwendung mit einer Benutzeroberfläche zu verbinden. Ist es eine Frage der Netzwerk-Topologie? Bevor man bedenkt, was Technologie in dem Broker zu verwenden, zunächst entscheiden, was überzeugend ist, dass Sie einen Broker in der Architektur einzubeziehen.

Angenommen, es ist eine gute Rechtfertigung für das dritte Element, dann können Sie die Frage prüfen, ob WCF entsprechende Kommunikationstechnologie für dieses Element. Sicherlich zwischen 2 Windows-basierten Anwendungen, wird WCF gut funktionieren. Wenn sie auf der gleichen Maschine sind, können Sie eine benannte Pipes Bindung verwenden und sehr gute perf für die lokale Kommunikation bekommen. Wenn diese beiden Anwendungen auf verschiedenen Windows-Rechnern verteilt sind, können Sie TCP für wieder eine sehr gute Leistung auf der Netzwerk-Kommunikation.

Sie wollen auch die Verbindung zwischen dem Makler und die Geräte zu berücksichtigen. WCF kann mit nicht-WCF-Systemen verbinden. Sie müßten einige Erweiterungen auf der WCF-Seite schreiben, mit einem bestehenden System zu verbinden. Aber es ist möglich, und ich würde sagen, dass eine nahezu Mainstream Use-Case für WCF. Siehe diesen Q für mehr zu diesem Thema .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top