Когда выбирать веб-сервисы? - PullRequest
0 голосов
/ 10 июня 2011

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

Является ли веб-сервис всегда первым выбором? Есть ли эмпирическое правило при выборе веб-сервисов, сокетов и т. Д.?

Ответы [ 4 ]

2 голосов
/ 10 июня 2011

Это действительно зависит от того, кто ваши клиенты, на какую производительность вы смотрите, насколько хорошо ваши клиенты знают технологии.

Сокеты и т. Д. Могут дать вам хорошую производительность, но время разработки может увеличиться как для вас, так и для ваших клиентов. Веб-службы SOAP уже давно установили стандарт, но теперь люди все чаще используют веб-службы REST из-за его простоты и меньших издержек. Я очень впечатлен веб-сервисами RESTful, предлагаемыми twilio

Я уверен, что Twilio получает сотни тысяч звонков в день, и они работают очень хорошо. Посмотрите на следующие статьи для большего понимания о них http://www.ibm.com/developerworks/webservices/library/ws-restful/ http://grails.org/doc/1.0.x/guide/13.%20Web%20Services.html

1 голос
/ 10 июня 2011

Я бы выбрал веб-сервисы (SOAP или REST), когда смогу. Легче масштабировать веб-службу, чем реализацию сокета домашнего приготовления, и для создания веб-службы требуется меньше времени.

Сокеты обычно являются предпочтительным выбором, если вам нужна двусторонняя связь (я знаю, что WCF имеет обратные вызовы).

1 голос
/ 10 июня 2011

Большим преимуществом веб-сервисов является простота использования и предопределенный интерфейс, но они "медленнее" по сравнению с низкоуровневым обменом сокетами, потому что, например, необходимо создавать / запрашивать XML-запросы SOAP-сервиса / interpreded.

Так что я бы сказал, если вы открываете сервис для «посторонних», пользуйтесь веб-сервисами, если скорость не является самой большой проблемой.

Кроме того, поскольку веб-службы в основном доступны через порт 80, у вас гораздо меньше проблем с прокси / брандмауэрами, чем с сокетом на случайном другом порту.

Если у вас высокая рабочая нагрузка, то очень важно, чтобы каскадирование также могло значительно ускорить работу системы.

0 голосов
/ 10 июня 2011

Webservice делает универсальный способ обмена данными между различными типами клиентов и приложений, также это зависит от вашей архитектуры и инфраструктуры.

Программирование на сокете немного сложнее, и некоторое время может создавать проблемы при обмене данными.Это полностью зависит от ваших функциональных требований и архитектуры, которые вы должны использовать.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...