Я просмотрел некоторые вопросы, технологии для создания хорошего уровня обслуживания, но у меня есть несколько вопросов по этому поводу, с которыми мне нужна помощь.
Сначала немного информации о том, что у меня есть для требований. В настоящее время у нас есть несколько веб-приложений, которые общаются друг с другом в паутине (все они путаются друг с другом через веб-сервисы и данные базы данных).
- Мы хотим изменить это так, чтобы все приложения проходили через сервисный уровень, где мы могли бы больше работать с кешем и инкапсулировать общие функции и многое другое.
- Мы хотим, чтобы этот слой также имел веб-API, чтобы сторонние клиенты могли получать информацию из службы.
Проблема, которую я вижу, состоит в том, что если мы создаем сервисный уровень, скажем, с помощью MVC4 Web API, нам не нужно обмениваться данными между приложениями, используя webAPI, что означает, что мы должны создавать URL-адреса и использовать JSON / Xml. Это не звучит слишком эффективно. Я предполагаю, что лучший метод будет работать с сущностями и WCF для взаимодействия между приложением, но тогда мы можем потерять магию Web API?
Таким образом, вопрос заключается в том, существует ли способ использовать уровень службы как в виде веб-API (JSON / XML), так и в качестве более внутреннего уровня службы с сущностями. Если мы вынуждены использовать 2 разных уровня обслуживания, нам, возможно, придется дублировать некоторые функции и другие плохие вещи.
Надеюсь, что вопрос достаточно ясен, и, пожалуйста, спросите, если вам нужна дополнительная информация.
Ответы:
Для набора приложений, размещенных в интрасети и, возможно, в одной локальной сети, лучшим может быть TCP-соединение для служб.
В этом смысле я предлагаю создать приложение-службу, которое предоставляет набор конечных точек и интерфейсов служб, которые могут работать по протоколу TCP. Они могут быть использованы домашними или доверенными приложениями.
Приложение службы должно иметь другой набор конечных точек и интерфейсов служб, которые доступны для использования через Интернет (веб-API).
Таким образом, приложение службы может быть размещено с использованием WCF, и конечные точки / интерфейсы должны быть добавлены в соответствии с необходимостью.
источник