Auteur de questions
Besoin d'info pour développer une application client/serveur ?

Discussion générale
-
Bonjour,
Je suis en phase de faisabilité pour développer un serveur d'acquisition de données. Le serveur fonctionnera sur un PC qui est localisé près d'une machine de production industrielle et dialoguera par voie série ou TCP avec cette machine qui comporte en fait des régulateurs de températur et autres automates industriels. Ce serveur aura aussi en charge de certains automatismes sur cette machine de production.
Je m'interroge sur les méthodes permettant de développer une application client / serveurs.
Je pense que je vais développer le serveur en dotnet winform.
Existe-t-il un moyen simple de prendre la main à distance sur le serveur, sans avoir à gérer et développer tous les flux de données entre les clients et serveur ? J'ai entendu parlé de RDS (mais cela nécessite un windows serveur ?) comment fonctionne le RDS ? y a-t-il d'autres solutions ?
merci pour votre expertise.
franck
- Type modifié Ciprian Duduiala lundi 13 février 2012 07:37 attente de feedback
Toutes les réponses
-
Bonjour,
Vous avez la possibilité dans un premier temps de développer une application simple en Windows Forms qui tournera en tâche de fond. Vous pourrez vous connecter via RDP (comme un terminal).
Il n'est pas nécessaire d'utiliser RDS pour vous (pour un utilisateur). Une simple machine sur Windows XP/Vista/Seven suffit. Vous pourrez y accéder à distance via le bureau à distance. RDS est conçu surtout lorsque plusieurs utilisateurs doivent utiliser la même machine.
En revanche cette approche pose quelques petits problèmes :
- Il vous faudra démarrer et vérouiller une session utilisateur dans laquelle tournera votre application Windows Forms (en cas de crash / redémarrage de l'ordinateur, il faudra penser à s'authentifier et démarrer l'application d'acquisition).Pour palier à ce genre de problème on réalise le plus souvent ce genre d'application en service Windows (qui fonctionnent dès le démarrage de la machine). Je vous conseille de vous orienter de ce côté.... Attention, les services Windows ne sont pas des applications qui dialoguent avec l'utilisateur !
L'utilisation d'un service Windows nécessite un simple poste sous XP/Vista/Seven.
Cordialement
Gilles TOURREAU - MVP C#
Architecte .NET/Consultant/Formateur chez Winwise
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5 -
Merci Gilles pour cette info.
Je m'apperçois en fouillant un peu qu'il y a des dixaines de méthodes mais je pensais que dotnet était vraiment orienté client/serveur d'où son nom.
Le RDS n'est plus recommandé par Microsoft (vu sur MSDN) et Microsoft suggère vivement d'utiliser WCF pour tout nouveau développement (je ne connais pas WCF ????)
Sinon il y a aussi le bon vieux OPC mais là c'est vraiment compliqué !
Je voudrais développer une application dont l'interface visuelle (IHM) soit accessible depuis n'importe où sur le réseau, je pense qu'il doit exister une solution simple pour ça non ?
-
Bonjour, Franck,
WCF est évidement la solution à suivre pour une application client-serveur, mais si vous est débutant avec cette technologie, il faut commencer par lire les fonctions de WCF, les principes de base de WCF, l’architecture WCF pour s’assurer que WCF est ce que vous avez besoin et puis continuer avec la programmation WCF. Et vous avez ici un exemple simple de programmation WCF client-serveur.
Concernant les serveurs OPC (je vois que vous avez aussi demandé des détails sur ce thread), la fondation OPC gère les standards qu’il faut respecter et on parle plutôt de standards utilisés en industrie pour automatiser certains systèmes (comme dans votre cas). Mais, comme je n’ai jamais essayé construire un tel serveur, il m’est impossible vous donner plus de détails sur le sujet, mais j’ai trouvé quelques tutos (http://www.opcti.com/ResourceDetails.aspx?id=2292&AspxAutoDetectCookieSupport=1, http://www.matrikonopc.com/resources/opc-tutorials.aspx et http://www.opcfoundation.org/Default.aspx/07_support/videos.asp?MID=Resources, par exemple) et quelques outils de développement OPC. De toute façon, je n’ai pas trouvé beaucoup des exemples de code ou des outils gratuits.
Finalement, j’ai vu dans cette discussion que sur le site d’OPCFoundation vous pouvez télécharger certains projets, mais la discussion pointe sur le fait qu’ils utilisent les services WCF. Donc je dirais que si on parle d’OPC on ne parle pas d’une implémentation concrète et reste à vous choisir la technologie utilisée. Ou peut-être je me trompe.. ?!?!
Pour les liens en anglais vous pouvez utiliser Microsoft Translator pour les traduire.
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.