Je recherche un moyen de communication inter-processus pouvant être utilisé entre des langages et/ou des environnements fonctionnant sur des systèmes identiques ou différents. Par exemple, il devrait permettre l'envoi de signaux entre les composants Java, C# et/ou C++, et il devrait également prendre en charge un certain type de mécanisme de mise en file d'attente. La seule installation qui est évidemment environnement et indépendant de la langue est les fichiers, mais je suppose que cela serait beaucoup trop lent - et la mise en file d'attente disciplinée peut être difficile à mettre en œuvre. Bon nombre des autres installations décrites dans la documentation s'appliquent uniquement à une langue ou à un système d'exploitation. Des suggestions seraient appréciées!Communication inter-processus entre langages/systèmes d'exploitation
Répondre
Eh bien, vous pourriez certainement regarder en utilisant "sockets".
Vous devez probablement regarder quelque chose comme ActiveMQ. Dans les modèles EAI, le bus JMS est fortement utilisé dans le but d'intégrer plusieurs modules écrits dans plusieurs langages différents et fonctionnant sur plusieurs systèmes. Pour moi, un tel bus de messages d'entreprise comme ActiveMQ répond à vos besoins. Faites-moi savoir si vous cherchez autre chose.
-Shamik
j'utiliser XML-RPC personnellement. Il est facile à utiliser sur plusieurs plates-formes et répond parfaitement à toutes vos exigences, n'importe quelle file d'attente peut être traitée par programme.
Découvrez Microsoft Message Queue ou quelque chose de similaire. Aussi jeter un oeil à XML-RPC, SOAP, JSON etc.
Quand on parle de l'architecture hétérogène, la couche de transport à mon humble avis (comme vous avez marqué « prises » comme réponse) est aussi important, en tant que couche de protocole (sérialisation de données, etc.). Ce que j'ai trouvé qui revient à temps, c'est l'apprentissage de la bibliothèque de programmation qui unifie la sérialisation des données entre différents langages de programmation, systèmes d'exploitation et architectures (big-endian/low-endian, 16/32/64 bits, etc.).
Mon choix préféré est Google Protocol Buffers, avec le soutien en boîte pour C++, Python, Java et Third-Party Add-ons avec prise en charge huge amount of programming/scripting languages (y compris Lua, Matlab, Ruby, Perl, R, Php, OCaml, Mercure, Erlang, Go, D , Lisp) et RPC implementations (comme Zeroc ICE). En dehors de la liste de nombreux autres produits les soutiennent comme SWI-Prolog Google Protocol Buffers Library.
L'alternative est Thrift avec la prise en charge d'une variété de langages de programmation.
Pour comparaison, vous pouvez vérifier: Thrift vs Protobuf vs JSON.
Mon pari est sur DBus [peer to peer] - Qui a un meilleur contrôle de flux. Il fonctionne au-dessus de RPC donc il y a beaucoup de liaisons de langage. RPC ofcourse est construit au-dessus des sockets locaux.
- 1. Communication interprocessus sous Windows
- 2. Communication interprocessus entre l'application C# et l'application C++ non gérée
- 3. Communication interprocessus entre applications 32 et 64 bits sous Windows x64
- 4. Communication interprocessus en PHP avec un processus continu?
- 5. Communication entre les pages
- 6. Communication entre applications intranet
- 7. communication entre deux applications flex
- 8. communication entre applications (.NET + java)
- 9. La communication entre les modules
- 10. la communication entre UpdatePanels ASP.Net
- 11. Communication entre AS3 et le serveur MySQL
- 12. Communication entre deux sous-domaines. Zend Framework
- 13. Portée et communication entre les objets
- 14. Communication sécurisée entre script Flash et PHP
- 15. Communication entre applications AIR (Flex) et C++
- 16. Code de communication entre PHP et AS2?
- 17. Problème de communication entre Java et C++ application sur stdin
- 18. PHP moyen le plus efficace de communication entre les serveurs
- 19. Communication entre Java et Javascript sans Netscape ou IE?
- 20. Méthodes de communication entre le noyau et les applications utilisateur
- 21. Sharepoint: Communication entre WebPart et le contrôle Silverlight
- 22. Communication entre les contrôles utilisateur sur la page - C#/ASP.NET
- 23. Sécurisation de la communication entre Adobe Air et le serveur
- 24. Communication sécurisée entre un client C# et un serveur PHP
- 25. TCL: Communication bidirectionnelle entre les threads dans Windows
- 26. Communication asynchrone entre le serveur et le webbowser
- 27. Communication entre le périphérique série RS422 et le Javascript
- 28. La communication entre les clients de Delphi 2009
- 29. Communication sécurisée entre le serveur django et l'application iphone
- 30. Communication GPRS
Génial de voir une autre réponse après 5 ans! Probablement DBus n'existait pas quand j'ai d'abord posé cette question! Thx –
qu'avez-vous fini par utiliser? – resultsway
Les prises utilisées à ce moment-là pour un travail assez spécifique. Je crains de ne pas l'avoir utilisé depuis, car le besoin ne s'est pas reproduit. Si c'est le cas, je prendrai DBus en tête! À votre santé. –