![]() |
|
Модераторы: gambit |
![]()
|
|
| bumbastic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 8.5.2007 Репутация: 1 Всего: 1 |
Здравствуйте. Вот начал изучать веб-сервисы, открыл "c# для профессионалов", читаю.
С самого начала - про WSDL, SOAP, headers, а что такое веб-сервисы вообще? Я не понимаю. Может кто-нибудь на пальцах объяснить? Если это такой вид Web-приложения, который дает не страницы, а результат, то это одно. Если это гибрид ремоутинга, то для ремоутинга кто-то ведь должен сначала сервер запустить, правильно? Одним словом, я не понимаю самого предмета веб-сервисов, а это - плохо. Объясните, пожалуйста, а то пропал сон совсем |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Web-service
Web-service работает на 80 порту и отдает данные в виде xml. Тончее SOAP данные и работает все это на основе IIS. Просто создай обычный Web Service и зайди туда браузером. Ты сразу все поймешь. Там все это видно как работает -------------------- |
|||
|
||||
| bumbastic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 8.5.2007 Репутация: 1 Всего: 1 |
Mymik, ни хрена не видно как работает. Из твоего ответа я понял, что веб-сервис - это что-то (что-то таинственное, что трындец просто), что работает через IIS на 80 порту и все. W3C вообще - классная ссылка, я все думал, чего мне не хватало? Оказывается еще по 200 ссылкам погулять!
Очень полезная для чайника информация, одним словом. |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
bumbastic, динамически генерируемый Web-сайт это такая штука, которая располагается на сервере и генерирует (x||d)html код. Ты его получаешь и его отображает тебе браузер. Правильно ???
На практике, ты можешь с таким же успехом держать на стороне сервера или даже локально, файл xml и к нему xslt файл, который будет генерировать данные... Ну я думаю ты примерно представляешь что такое Web-сайт. А теперь Web-сервис. Это все тот же Web-site. Только он принимает данные в виде xml (SOAP это как бы одна из частностей этого дела. Хотя Web-service можешь принимать и POST и GET) и отдает обратно пользователю тоже в виде xml данных. То что ты создал Web-service зашел на него через web-браузер и увидел уйму кода и там бешеные страницы. Это все прибаутки IIS и asp.net'а. Реально этот сервис должен был только принять данные и отдать их. ВСЕ. В этом и заключается Web-service. Когда ты хочешь разграничить работу проектов. Или из одного проекта иметь доступ к другому проекту. К примеру. Вот буквально неделю назад делал. Нужно было написать Web-service чтобы пользователь заполнял форму регистрации на одном сайте, А в итоге он регистрировался на двух сайта. Естественно давать строку подключения к СУБД другому проекту никто не хочет, это опасно, даже если это твои друзья. Потому Web-service принимает нужные мне регистрационные данные и заносит их в базу моего проекта. Вот и все. Все это очень просто. Ты только напиши пару примеров Web-service из книжки и там прекрасно они описаны. Ты все быстро поймешь Это сообщение отредактировал(а) Mymik - 19.6.2007, 08:48 -------------------- |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
Добавлю немного:
1. Веб-сервисы в .Net так и называются - ASP.NET Web Services. Значит это ASP, уж никак не ремотинг. И работа с ними идет через IIS, т.е. через 80 порт, что удобнее (в ремоутинге для пяти приложений пять портов прийдется открывать, здесь - только один, да и защищенный брандмауэром к тому же) 2. Раз веб-сервисы - это ASP, то и обрабатываются они через нее (посмотри в IIS расширения файлов, asmx обрабатывает все та же aspnet_isapi.dll). Т.е. IIS получил запрос на веб-сервис, отдал его в ASP.NET, она подготовила ответ, отдала IIS-у и т.д. 3. Поскольку веб-сервисы могут получать/передавать данные любых типов, то просто HTML (как в ASP.NET) не годится - слишком много тегов и схем для проверки нужно было бы. Поэтому используется XML (SOAP=XML_in_HTML) - в основном... Хотя можно и через GET|POST HTTP... В любом случае используется Xml-серилизация, поэтому можно только с открытыми членами сервиса работать. Правда мне никто не мешает protected и private методы помечать атрибутом WebMethod... Я лично считаю - это дыра в .Net, никаких предупреждений, ошибок не выскакивает, даже в студии. Поменяет кто-нибудь public на private - и все, ищи ошибку сам, никто не сообщит. 4. Что объединяет Веб-сервисы и ремотинг - так это то, что и в веб-сервисах создается прокси (класса сервиса), чтобы обращаться через него к сервису и работать с полученными данными. Тут да, похоже. цепочка такая: "Клиент->Прокси->Протокол_передачи->Канал---->IIS->ASP.NET->WebService" и обратно. 5. чтобы найти сервисы (знать что они уже где-то и кем-то написаны) есть UDDI и службы обнаружения disco, чтобы почитать что может сервис и что ему надо - wsdl-описания -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| bumbastic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 8.5.2007 Репутация: 1 Всего: 1 |
Ага, спасибо. что-то проясняется.
Не понял про SOAP. Правда, ладно, почитаю потом. Спасибо, tol05 надо подумать
Это сообщение отредактировал(а) Mymik - 19.6.2007, 11:53 |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |