Mihairu
@Mihairu
web-программист

Какой подход использовать для взаимодействия приложения на C# и сервера на PHP?

Есть приложение, написанное на PHP, а также есть дополнительное вспомогательное ПО на C# для решения специфичных задач, которое взаимодействует с PHP-приложением. C#-ПО планируется использовать автоматически через планировщик задач, т.е. использование обычным пользователем не предусматривается (за исключением системного администратора)

Суть вопроса заключается в том, какой подход для взаимодействия данных двух приложений в данном случае грамотнее применить?

Лично я колеблюсь между следующим:
Вариант 1 - Реализовать на PHP методы для работы через командную строку (CLI), в C# приложении выполнять нужные команды командной строки (вызов php-сценария) с последующим получением результата работы.

Вариант 2 - Реализовать на PHP REST API сервер, а в C# приложении посылать на сервер запрос с нужными командами и затем получать нужный результат.

Извините, если коряво объяснил, надеюсь на вашу помощь)
  • Вопрос задан
  • 465 просмотров
Пригласить эксперта
Ответы на вопрос 1
Decadal
@Decadal
Мне не совсем понятна архитектура, при которой возможен вариант 1 - означает ли это, что PHP и C# оба лежат на сервере? Если имеется в виду, что вы напишете консольные команды которые будут запускаться на клиенте, то однозначно не стоит, выбирайте вариант2. Потому что судя по C#, клиентское приложение вероятнее всего ставится на Windows, а доустанавливать интерпретатор PHP вместе с клиентским приложением это сильно излишне.
Ну и помимо того, REST API это старый, добрый, проверенный метод общения, а запуск консольных команд с чтением их вывода или с побочными эффектами выглядит как костыль, он имел бы место, если это какая-то системная утилита от стороннего разработчика, которую просто использовать из терминала и сложно использовать как SDK.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы