Nous avons une application C ++ sur Windows qui démarre un processus Java. Ces deux applications doivent communiquer entre elles (via des extraits de XML). P>
Quelle méthode de communication interprocession choisiriez-vous et pourquoi? P>
Les méthodes sur la table pour nous sont: un (s) fichier (s) partagé (s), des tuyaux et des sockets (bien que je pense que cela a des problèmes de sécurité). Je suis ouvert à d'autres méthodes. P>
4 Réponses :
Je ne sais pas pourquoi vous pensez que la communication basée sur la prise aurait des problèmes de sécurité (utilisez SSL). C'est souvent une très bonne approche car elle est Dans mon expérience, les systèmes de fichiers (en particulier les systèmes de fichiers réseau) ne sont pas bien adaptés à une telle communication car elles ne sont pas nécessairement adaptées à la messagerie em> (j'ai vu des problèmes de mise en cache entraîner des fichiers non choisis par exemple par le processus cible par exemple). P>
Une autre option est une autre couche de messagerie forte> ( AMQ ou tibco par exemple) bien que Cela impliquera probablement une plus grande surcharge administrative (plus une expertise) à mettre en place. p>
Personnellement, je choisirais une approche de socket pure en raison de sa flexibilité et de sa simplicité. Vous serez
J'ai utilisé des tuyaux nommés pour la communication entre C # et une application C ++ croisée croisée et n'avait que de bons résultats. Sauf que les prises sont définitivement la voie à suivre. P>
Les prises sont agréables. Ils vous permettent de créer très facilement une couche de test Blackbox autour de chaque composant, ainsi que de courir chaque composant sur sa propre machine. P>
La sécurité est définitivement une préoccupation, mais il existe une bonne gamme d'options en fonction de l'importance de son importance. Vous pouvez utiliser SSL, Panneau de main sur mesure, des connexions et des pare-feu protégés par mot de passe pour l'aider à le sécuriser. P>
EDIT: Je ne recommanderais pas quelque chose, mais il y a aussi une mémoire partagée à l'aide de JNI. Je pensais juste que je le mentionnerais parce que ce n'est pas sur votre liste. P>