предоставление HTTP-интерфейса - PullRequest
0 голосов
/ 16 ноября 2010

Я работаю над задачей, которая в основном состоит в том, чтобы "Предоставить интерфейс HTTP и выйти из TCP".Это то, что я знаю до сих пор.

То, что я ищу, это:

1] «Предоставление интерфейса HTTP» Что это означает точно.Я имею в виду, после выполнения каких шагов я могу сделать вывод, что эта задача должна быть выполнена?

2] Какую дополнительную информацию / вопросы мне нужно понять / спросить, чтобы выполнить это.

То, что я пытаюсь сделать, это лучше понять проблемное пространство, а также искать любые решения [шаблоны], широко используемые для исправления этого «правильным» образом.

Любые предложения / указатели будутбыть великим

Спасибо.

Ответы [ 4 ]

1 голос
/ 18 ноября 2010

Очевидно, что вас просят перенести услугу, предлагаемую в настоящее время, по проприетарному протоколу приложения, обслуживаемому по TCP / IP.

Как уже указывал участник, вы никогда не «выйдете из TCP», так как в любом случае версия HTTP с большой вероятностью будет использовать TCP / IP. Но мы все понимаем, что пытается сказать ваш начальник / клиент. То, что запрашивается, - это, вероятно, веб-сервис, каким мы его знаем сегодня. И да, использование HTTP в качестве основы является правильным способом сделать это.

Зная это, вы столкнулись с двумя альтернативами:

1) Представить функционально-ориентированную услугу

Здесь перечислены команды, которые служба может обрабатывать, и вы реализуете их в классическом стиле function(argument) => result.

Для этого подхода я рекомендую использовать модель JSON-RPC

2) Представить сервис, ориентированный на данные

Здесь вы перечисляете информацию, которая входит и выходит из вашего сервиса, и реализует операции, выполняемые с этими частями информации, после цикла REST data OPERATION response

Для этого подхода я рекомендую использовать стиль REST

Как выбрать?

В двух словах:

  • Если вам нужно обслуживать несколько клиентов И набор команд небольшой и простой, используйте RPC.
  • Если вам нужно обслуживать много клиентов ИЛИ проблемный домен является сложным, используйте REST.

Какой бы подход вы ни выбрали, всегда предпочитайте JSON XML, если не требуется XML.

0 голосов
/ 16 ноября 2010

Можно предположить, что кто-то хочет веб-интерфейс для чего-то, что, вероятно, выполняется на уровне командной строки сейчас ... вам действительно нужно попросить еще несколько деталей или опубликовать, какие детали вам дали..

0 голосов
/ 16 ноября 2010

Предоставление интерфейса HTTP и выход из TCP

HTTP работает на прикладном уровне модели OSI , тогда как TCP работает на транспортном уровне.Это в основном означает, что HTTP работает поверх TCP.

Что это означает точно

Спецификация HTTP 1.1 определена в RFC 2616 ,Чтобы быть действительно совместимым с HTTP 1.1, вы должны реализовать протокол, как определено в этом RFC.

Какую дополнительную информацию / вопросы мне нужно понять / спросить, чтобы это сделать

Я также спросил бы, какие клиенты будут подключаться к этому серверу (браузер,индивидуальный клиент, другие услуги).Получите спецификационный лист с как можно большим количеством деталей и заставьте клиента принять решение о том, какая функциональность ему нужна: нет ничего хуже, чем переписывать материал по прихоти, потому что генеральный директор увидел новую аббревиатуру в своем почтовом ящике этим утром.

0 голосов
/ 16 ноября 2010

Ваш текущий процесс выполняет необработанные соединения с сокетами TCP?

Похоже, им нужен веб-сервис HTTP вместо необработанного TCP.

Но я думаю, что требуется гораздо больше информации.

...