Comment pouvez-vous appeler un programme LISP à partir d'une application Rails? ... Par exemple, permettez à l'utilisateur final de saisir un bloc de texte dans l'application Web Rails, appuyez sur le texte traité par le programme LISP et renvoyer les résultats à la App? P>
4 Réponses :
Il y a quelques façons qui viennent à l'esprit: p>
Exécutez le programme LISP avec processus . Communiquez avec le programme LISP via Standard dans et que le programme LISP SORTIE SON résultat sur STDOUT. P> LI>
Faites la même chose que ci-dessus, mais communiquez via Nommé Tipes à la place. Demandez à votre code de rubis d'écrire des données dans em> un tuyau nommé, puis du programme LISP lus à partir de ce tuyau et d'écrire des données out em> sur un autre tuyau nommé que vous lisez avec votre rubis app. Le programme LISP peut soit fonctionner en arrière-plan sous forme de démon qui vérifie les données sur son tuyau entrant, ou vous pouvez le déclencher selon les besoins en utilisant les utilitaires de ligne de commande de Ruby (comme ci-dessus). P> LI>
Trouvez un pont Ruby-Lisp. Je n'ai aucune expérience avec un tel pont (je ne sais pas non plus la main si l'on existe même) et je pense que les mécanismes ci-dessus sont plus faciles, mais votre kilométrage peut varier. P> Li>
ol>
Un autre moyen simple est d'exécuter LISP d'exécuter un serveur HTTP et de contacter LISP de l'extérieur via les demandes HTTP. P>
Je ne suis pas sûr que la plupart des gens considèrent que aussi simples que ci-dessus, mais peut-être pour les gens de Ror, il pourrait même être plus simple ...
Dans un paramètre Web, il s'agit de l'architecture habituelle axée sur le service. Il existe de nombreux serveurs Web pour Lisp et échangeant des données via des demandes HTTP sont faciles. Tout ce que vous avez à faire est de laisser le serveur LISP réagir à une demande postale.
Cela dépendrait de la fréquence à laquelle cela va se passer. p>
CL-JSON prend en charge JSON-RPC . Il est très facile de configurer avec un serveur Web tel que Hunchentoot pour avoir un service Web basé sur LISP que quelque chose qui parle JSON-RPC (par exemple, Ce ) peut utiliser. P>
J'aimerais en savoir plus sur cette approche. Pourriez-vous dire / me dire comment le configurer? Et ce qu'il vous permet de faire, c'est mieux que les demandes de post http?