Question

Nous avons un appareil intégré qui doit interagir avec un système logiciel d'entreprise.

Le système d'entreprise utilise actuellement de nombreux mécanismes différents pour la communication entre ses composants: ODBC, RPC, protocole propriétaire sur TCP / IP et passe aux services Web implémentés .Net.

Le périphérique intégré utilise une sorte de * nix. Nous examinons donc le meilleur mécanisme d’interaction.

Les exigences pour la communication sont les suivantes:

  • Doit fonctionner sur TCP / IP.
  • Doit également fonctionner sur RS-232 ou USB.
  • Doit être sécurisé (par exemple, HTTPS ou SSL).
  • Doit pouvoir transférer environ 32 Mo de données.

    Notre meilleure option actuelle est le gSOAP .

    Quelqu'un dans le SO-land a-t-il d'autres suggestions?

    Modifier: La réponse de Steven m'a fourni le plus de nouveaux indicateurs. Merci à tous!

        
  • Était-ce utile?

    La solution

    Vous pouvez définir des services RESTful qui utilisent HTTPS (qui utilise TCP / IP par définition) et qui sont capables de transférer toute quantité de données.

    L'avantage de REST sur SOAP est que REST est plus simple. Il peut utiliser JSON au lieu de XML, ce qui est plus simple.

    Il a moins de temps système que le protocole SOAP.

    Autres conseils

    Ne pouvez-vous pas simplement utiliser SSL sur TCP?

    Si vous avez une sorte de * nix (puis-je deviner? QNX ou Linux intégré, n'est-ce pas?), cela devrait fonctionner assez bien via Ethernet, USB et RS232. Gardez les choses simples.

    32 Mo représentent une quantité importante de mémoire pour cette tâche. J'allouerais entre 2 et 4 Mo de mémoire pour la mise en réseau & amp; cryptage (code + données).

    La raison pour laquelle vous souhaitez associer cela à un protocole d'appel de procédure à distance tel que SOAP n'est pas claire. Y a-t-il d'autres exigences que vous ne mentionnez pas?

    En général, cependant, ce genre de choses est très facilement traité par des services Web normaux. Vous pouvez obtenir des processeurs http très légers écrits en C; consultez cet article de Wikipedia pour comparer plusieurs d'entre eux. Ensuite, une interface REST fonctionnera correctement. Il existe également des interfaces réseau qui traitent USB comme une connexion TCP.

    Si vous devez pouvoir utiliser RS232, vous pouvez chercher ailleurs; dans ce cas, quelque chose comme sftp pourrait faire mieux. Ou écrivez un simple protocole de couche d’application que vous pouvez exécuter sur une connexion chiffrée.

    Si vous souhaitez connecter votre application via RS232, je suppose que vous utiliserez PPP pour connecter le périphérique à Internet. La quantité de données que vous proposez de transférer est cependant quelque peu inquiétante. La plupart des connexions RS232 sont limitées à 115200 bauds, ce qui, en ignorant le temps système requis pour la trame TCP / IP / PPP, produira un taux de transfert d'au plus 11 000 octets par seconde. Cela implique qu’il faudra au moins environ 2800 secondes ou 46 minutes pour effectuer le transfert souhaité.

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