Очевидно, что вас просят перенести услугу, предлагаемую в настоящее время, по проприетарному протоколу приложения, обслуживаемому по TCP / IP.
Как уже указывал участник, вы никогда не «выйдете из TCP», так как в любом случае версия HTTP с большой вероятностью будет использовать TCP / IP. Но мы все понимаем, что пытается сказать ваш начальник / клиент. То, что запрашивается, - это, вероятно, веб-сервис, каким мы его знаем сегодня. И да, использование HTTP в качестве основы является правильным способом сделать это.
Зная это, вы столкнулись с двумя альтернативами:
1) Представить функционально-ориентированную услугу
Здесь перечислены команды, которые служба может обрабатывать, и вы реализуете их в классическом стиле function(argument) => result
.
Для этого подхода я рекомендую использовать модель JSON-RPC
2) Представить сервис, ориентированный на данные
Здесь вы перечисляете информацию, которая входит и выходит из вашего сервиса, и реализует операции, выполняемые с этими частями информации, после цикла REST data OPERATION response
Для этого подхода я рекомендую использовать стиль REST
Как выбрать?
В двух словах:
- Если вам нужно обслуживать несколько клиентов И набор команд небольшой и простой, используйте RPC.
- Если вам нужно обслуживать много клиентов ИЛИ проблемный домен является сложным, используйте REST.
Какой бы подход вы ни выбрали, всегда предпочитайте JSON XML, если не требуется XML.