2015-12-19 8 views
0

Я хотел бы создать веб-службу в .Net, которую могут использовать клиенты разных типов (Web, exe, java), несмотря на язык, на котором они написаны.Как создать межплатформенную двустороннюю связь с веб-сервисом

Кроме того, он должен поддерживать обратные вызовы и иметь возможность легко проходить через брандмауэры и NAT (зная, что внутренний IP-адрес клиента может измениться или быть удален из NAT).

В-третьих, поскольку это корпоративный продукт, я хочу избежать зависимости от сторонних сторон, особенно тех, которые требуют определенной среды или что клиент не захочет.

Какие технологии или подходы я могу использовать?

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

Благодаря

ответ

0

Для простых услуг запрос-ответ, вы можете использовать REST (через HTTP). Любая клиентская технология может получить доступ к HTTP в этот момент (даже CLI), а REST - хорошо известный и хорошо понятный распределенный механизм. Проблема связана с обратными вызовами. Существуют фреймворки, которые обрабатывают обратные вызовы HTTP (простой поиск в google даст вам хорошие ответы), но imo, решения, которые я видел, неуклюжи.

В отличие от обычного HTTP, WebSocket является постоянным соединением. И, как и любая другая спецификация IETF и W3C (или любой другой стандарт, если на то пошло), существуют различные реализации с различной степенью надежности, производительности и т. Д. Вероятно, около 100 реализаций клиентов и серверов WebSocket. Некоторые реализации управляют такими реальными проблемами, как пересоединения, сетевые посредники, высокая масштабируемость, мобильные возможности и т. Д. ... и некоторые реализации просто не делают этого. Я бы предложил вам выбрать реализацию, которая предоставляет эти функции корпоративного уровня.

Btw, WebSocket довольно проклятый простой

 Смежные вопросы

  • Нет связанных вопросов^_^