Question

J'ai un projet comming ma manière: les appareils avec leur propre système écrit en C, et une application Windows pour la gestion des fins (configuration d'envoi, la récupération de données enregistrées à partir de périphériques, la surveillance de l'état de l'appareil). J'ai flexibilité dans le choix de ce que la technologie que je vais utiliser. Les exigences sont assez floues en ce moment il devrait donc être quelque chose de flexible. Le protocole de communication primaire est TCP. Nous pouvons utiliser les ports COM comme une option de maintenance, lorsque la communication normale échoue en raison d'un dysfonctionnement du réseau par exemple.

J'envisage l'utilisation d'un service WCF comme un « proxy » entre l'application et les dispositifs. App envoie des données au service, le service traite les données et envoie des paquets TCP à des périphériques (données dans les paquets sont compréhensibles par des dispositifs), les appareils réagissent d'envoyer des paquets TCP retour au service WCF qui à son tour envoie un message traité à l'application. Est-ce que l'utilisation de WCF un sens?

WCF est facilement accessible à partir webapp donc en plus de l'application des fenêtres normales que nous pourrions rendre notre système plus sexy avec elle, mais est-il utile? Que pensez-vous, partagez vos idées, s'il vous plaît:)

Était-ce utile?

La solution

Si je comprends bien, vous envisagez une architecture de systèmes avec trois éléments. Une application Windows, un ensemble de dispositifs, et un service supplémentaire qui agirait comme un mandataire ou intermédiaire, la communication entre les deux courtage.

Première question: est-il une raison pour laquelle l'application de gestion ne peut pas se connecter aux périphériques lui-même? L'application Windows utilisé pour la gestion devrait être en mesure d'ouvrir un socket pour les appareils, tout aussi facilement qu'une autre application possible. Pourquoi pas? Je suppose une autre façon de poser cette question est, Quelle est la justification de présenter le courtier, le troisième élément, dans l'architecture? Y at-il asynchronisme que vous voulez présenter? Est-ce une question d'échelle - peut-être le nombre d'appareils est si grand que vous souhaitez une application distincte pour gérer les communications à tous, plutôt que de se connecter directement à partir d'une application avec une interface utilisateur. Est-ce une question de la topologie du réseau? Avant d'examiner ce que la technologie à utiliser dans le courtier, d'abord décider ce qui est convaincant, vous d'inclure un courtier dans l'architecture.

Supposant il y a une bonne justification pour le troisième élément, vous pouvez alors envisager la question de savoir si WCF est une technologie de communication appropriée pour cet élément. Certes, entre 2 applications sous Windows, WCF va bien travailler. S'ils sont sur la même machine, vous pouvez utiliser une liaison aux canaux nommés et obtenir de très bons pour la communication perf locale. Si ces deux applications sont réparties sur différentes machines Windows, vous pouvez utiliser TCP pour, encore une fois, de très bonnes performances sur la communication réseau.

Vous voulez également considérer la connexion entre le courtier et les périphériques. WCF peut interconnecter avec les systèmes non-WCF. Vous devez écrire quelques extensions sur le côté WCF, l'interconnexion avec un système existant. Mais il est possible et je dirais un quasi-mainstream cas d'utilisation pour WCF. Voir ce Q pour en savoir plus sur ce sujet .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top