Communication haut niveau Unix/Windows - Divers - Programmation
MarshPosté le 02-05-2006 à 10:07:52
Bonjour à tous,
Je travaille actuellement sur un projet pour une entreprise dans le cadre dun stage de six mois.
Lapplication sur laquelle je travaille est un système distribué de partage de fichiers. Elle est composée dun service Windows sur chaque machine, et dapplication clientes qui demandent des fichiers au service local. Lors dun appel, le système parcourt dabord sa base locale de fichiers, et sil ne trouve pas de fichier valable, parcourt sa liste de machines du réseau pour en obtenir un.
Toutes les communications reposent sur des pipes nommés Windows. Il sagit dun mini protocole maison, binaire et XML.
Cette application doit être portée sous Unix. La première étape, qui sera la première étape de mon stage, a pour but de rendre toutes les communications compatibles Windows et Unix. Jai absolument carte blanche sur le choix de la technologie, mais elle ne doit pas avoir de cout de runtime : on doit pouvoir distribuer autant dexemplaires de notre produit quon en a besoin, sans frais supplémentaire. On a donc le choix entre une solution logicielle totalement gratuite et libre même en usage commercial, ou une solution à cout forfaitaire.
En ce qui concerne les contraintes, bien sûr la compatibilité Windows/Unix parfaite, mais aussi des performances correctes (seuls de petits fichiers sont transportés), une bonne fiabilité et si possible une utilisation plus simple quun protocole binaire (du RPC serait pas mal). Lapplication dispose déjà dun Web Service, il nest donc pas nécessaire de pouvoir communiquer via le Web, cette solution vise un parc de machines sur lIntranet.
Je suis encore dans une phase danalyse, et jai besoin de vos conseils pour choisir la meilleure solution pour mon projet. Les solutions que jai déjà parcouru sont les suivantes, il sagit dune analyse rapide qui nest pas à labri des clichés, si je me trompe nhésitez pas à me corriger :
DCE/RPC : Trop Unix, trop ancien, trop lourd
Soap : Trop lent, pas de solution libre compatible avec mes besoins dun point de vue légal
Corba : Intéressant, mais peu de solutions libres compatibles avec mes besoins dun point de vue légal. Jai contacté les responsables dICE pour connaitre leurs tarifs.
Socket : Solution universelle mais assez lourde, peu dévolution en termes de fonctionnalité vis-à-vis des pipes nommés, mais très performante et correcte avec un peu de boulot. Sans doute possibilité de compatibilité avec les pipes nommés. Je me demande si les sockets Windows sont vraiment standards ou si le développement sera galère
Voilà, jen ai sans doute oublié pas mal, donc si vous avez dautres solutions je suis preneur. Jaimerais avoir une première liste des technos à évaluer avant de me lancer dans les phases de tests de performance et dergonomie.
Merci !
Message édité par - Fred - le 02-05-2006 à 10:38:07
Marsh Posté le 02-05-2006 à 10:07:52
Bonjour à tous,
Je travaille actuellement sur un projet pour une entreprise dans le cadre dun stage de six
mois.
Lapplication sur laquelle je travaille est un système distribué de partage de fichiers. Elle est composée dun service Windows sur chaque machine, et dapplication clientes qui demandent des fichiers au service local. Lors dun appel, le système parcourt dabord sa base locale de fichiers, et sil ne trouve pas de fichier valable, parcourt sa liste de machines du réseau pour en obtenir un.
Toutes les communications reposent sur des pipes nommés Windows. Il sagit dun mini protocole maison, binaire et XML.
Cette application doit être portée sous Unix. La première étape, qui sera la première étape de mon stage, a pour but de rendre toutes les communications compatibles Windows et Unix. Jai absolument carte blanche sur le choix de la technologie, mais elle ne doit pas avoir de cout de runtime : on doit pouvoir distribuer autant dexemplaires de notre produit quon en a besoin, sans frais supplémentaire. On a donc le choix entre une solution logicielle totalement gratuite et libre même en usage commercial, ou une solution à cout forfaitaire.
En ce qui concerne les contraintes, bien sûr la compatibilité Windows/Unix parfaite, mais aussi des performances correctes (seuls de petits fichiers sont transportés), une bonne fiabilité et si possible une utilisation plus simple quun protocole binaire (du RPC serait pas mal). Lapplication dispose déjà dun Web Service, il nest donc pas nécessaire de pouvoir communiquer via le Web, cette solution
vise un parc de machines sur lIntranet.
Je suis encore dans une phase danalyse, et jai besoin de vos conseils pour choisir la meilleure solution pour mon projet. Les solutions que jai déjà parcouru sont les suivantes, il sagit dune analyse rapide qui nest pas à labri des clichés, si je me trompe nhésitez pas à me corriger :
Voilà, jen ai sans doute oublié pas mal, donc si vous avez dautres solutions je suis preneur. Jaimerais avoir une première liste des technos à évaluer avant de me lancer dans les phases de tests de performance et dergonomie.
Merci !
Message édité par - Fred - le 02-05-2006 à 10:38:07