2009-09-15 3 views
15

Я знаю веб-сервис и имею некоторые знания о удалении. Обе концепции вызывают методы на клиентской машине, так где лежит разница?В чем разница между веб-сервисом и удалением?

Через Remoting мы можем выполнить метод на удаленной машине и ту же функциональность может быть достигнута с помощью веб-сервиса тоже ..

Пожалуйста, простите меня, если это очевидный вопрос ..

+0

хороший вопрос больше такой же почти все. – kenny

ответ

20

И поддержка распределенных приложений.

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

Remoting - это технология только для MS, которая не является перекрестной платформой и работает в двоичном формате. Он думает с точки зрения объектов, вы создаете объект на удаленном сервере и работаете с ним. Это плохо работает с брандмауэрами. Remoting также мертв в эти дни, MS поддерживает WCF (который включает веб-службы)

+0

Remoting не мертв (пока), просто устарел. –

+8

ОК, это очень больно, тогда :) – blowdart

0

WebServices - это форма удаленного доступа, поскольку вы эффективно выполняете код еще где или на той же машине вне вашего AppDomain.

Remoting (InterProcess) на том же компьютере или в сети, отличается тем, что вы маршалируете свой объект между интерфейсами AppDomain/platform через прозрачные прокси и сериализацию. Удаленность приходит со своими сложностями и может легко стать очень сложной. WCF упростил работу. Производительность мудрая, я не сравнивал оба подхода и определенно был бы заинтересован посмотреть, как обе цены в контексте InterProcess. Поскольку WCF может связываться с бинарными связями и не ограничивается протоколом HTTP.

WCF сделал это намного проще, используя трубки для обмена InterProcess.

В конечном итоге WebServices, используемые для связи через порт 80 (стандарт), HTTP и Remoting могут связываться через предопределенные порты и каналы с использованием различных форматов сериализации.

Теперь они были обновлены WCF, который теперь предоставляет методы для этих типов сообщений.

-1

Хотя WebService реализован через HTTP, Remoting реализуется через TCP/UDP. Таким образом, Remoting работает лучше с точки зрения скорости.

+1

Веб-службы не реализуются через HTTP, если вы не ссылаетесь на очень конкретную реализацию. Веб-службы по определению W3C не зависят от транспортного протокола. На самом деле, многие веб-службы обеспечивают передачу через TCP, SMTP (например, Metro) – wierob

+0

Ну, я был уверен, что парень говорит о веб-сервисах .net –

2

.NET Remoting concept - это технология межпроцессорных коммуникаций Microsoft/.NET.

Термин «веб-сервис» очень распространен из-за его шумихи. Но я думаю, что W3C definition предназначен в большинстве случаев. Он определяет использование WSDL в качестве описания интерфейса и SOAP в качестве протокола сообщений.

Согласно Microsoft .NET Remoting: A Technical Overview on MSDN, Remoting использует либо двоичное, либо XML-кодирование. В то время как XML-кодирование использует SOAP. Но, насколько я знаю, он не придерживается WS-I Basic Profile. Следовательно, он обеспечивает чрезвычайно ограниченную функциональность Web-сервисов.

Обе концепции допускают межпроцессное взаимодействие. Если ваше приложение использует только .NET, то использование .NET Remoting - хороший выбор.

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

0

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

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

1

Как удаленные, так и веб-службы - это способы связи между приложениями.

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

Веб-службы. Связь между приложениями с использованием веб-сервисов независима от платформы и независима от программирования. Приложение, которое потребляет веб-службу, просто обращается к нему, не требуя знать, как этот веб-сервис действительно был реализован. & создан.

2

Доступ к веб-службам ASP.NET возможен только через HTTP. .NET Remoting может использоваться в любом протоколе.

Веб-службы работают в среде без состояния, где каждый запрос приводит к созданию нового объекта, созданного для обслуживания запроса. .NET Remoting поддерживает опции управления состоянием и может коррелировать несколько вызовов от одного и того же клиента и поддерживать обратные вызовы.

Веб-сервисы сериализуют объекты через XML, содержащиеся в SOAP-сообщениях, и поэтому могут обрабатывать только те элементы, которые могут быть полностью выражены в XML. .NET Remoting основывается на существовании сборщиков общих языков, содержащих информацию о типах данных. Это ограничивает информацию, которая должна быть передана об объекте, и позволяет передавать объекты по значению или по ссылке.

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