когда следует использовать веб-сервисы? - PullRequest
0 голосов
/ 29 июня 2011

У меня есть корпоративное веб-приложение.Одна из проблем, с которой мы сталкиваемся, заключается в том, что бэкэнд тесно связан с нашим интерфейсом.Теперь мы хотим предложить мобильные приложения и настольный клиент для нашего программного обеспечения.Для этого мы решили перенести наш бэкэнд в веб-службы, чтобы несколько клиентов переднего плана могли использовать одни и те же вызовы функций.Но все еще интересно, если это правильный ход?или любой другой подход может помочь?Есть ли подводные камни в использовании веб-сервисов?Больше всего меня беспокоит скорость.Являются ли веб-службы медленными по своей природе?

Цените вашу помощь.

Ответы [ 4 ]

3 голосов
/ 29 июня 2011

Большинство веб-сервисов (SOAP, REST) ​​используются для создания платформо-независимых сервисов. Я пытаюсь сказать, что к веб-сервису могут обращаться приложения, написанные на Java, платформе .NET и т. Д., Не беспокоясь о совместимости между использованием языка и технологией.

Кроме того, у большинства есть несколько приложений, которым требуется доступ к одним и тем же данным, поэтому написание уровня абстракции данных для каждого приложения - это не OO.

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

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

Это зависит от типа информации, которую вы передаете туда и обратно, но в более широкой схеме вещей SOA - это путь, если вы хотите иметь одну «внутреннюю» систему.Я уверен, что вы будете довольны производительностью и даже в некоторых случаях удивлены.В большинстве случаев вызовы базы данных все еще являются узким местом.Я руководил реализацией SOA на многих проектах.Во многих случаях приложения преобразуются еще быстрее с помощью веб-сервисов не потому, что вызовы выполняются намного быстрее, а потому, что это приведет вас к лучшему дизайну и использованию других технологий, таких как локальное и удаленное кэширование.

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

1.) Как они реализованы.Прочитайте несколько книг и проведите некоторое тестирование, прежде чем начать писать реальную вещь.Разрабатывайте стандарты и старайтесь их придерживаться.

2.) Единая точка доступа - это хорошо, но не в нестабильной или быстро меняющейся среде.Имейте некоторую избыточность и план резервного копирования, а также песочницу и промежуточную область.

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

Это не ухудшает производительность (скорость). Потому что веб-сервис это мыло над http.Я думаю, в вашем случае бэкхенд должен быть выставлен как веб-сервис, было бы целесообразно вызывать службу несколькими клиентами. ввести дополнительную безопасность также, если вам нужно ....

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

Зависит от того, что вы понимаете под «веб-сервисами». SOAP, REST, все такие технологии?

Сервисы SOAP имеют большое преимущество: они имеют четко определенный контракт через WSDL, а клиенты могут легко генерировать заглушки. С другой стороны, сервисы SOAP также могут принести гораздо больше работы (например, если использовать их на клиенте, у которого нет мыльного клиента (например, iOS, простое приложение HTML)). Кроме того, веб-сервис приносит много накладных расходов, которые могут сыграть свою роль, если вы намереваетесь предоставлять большие данные, например, на мобильные устройства.

Там вы должны принять во внимание, что клиенты могут иметь ограниченную пропускную способность (скорость и объем данных). Кроме того, он должен обрабатывать дырочный XML-документ, в то время как json может быть проще, например.

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