Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Эти загадочные .NET for web разработчики. (http://www.flasher.ru/forum/showthread.php?t=131441)

wvxvw 20.10.2009 21:15

Эти загадочные .NET for web разработчики.
 
Есть в нашей конторе синьор веб-девелопер с более чем десятилетним стажем. кроме него есть еще 4 с примерно таким же опытом работы.
Так вот, не далее чем вчера приходит ко мне второй флешер (он у нас типа стажера) и спрашивает, а как ему из флеша общаться с вебсервисом. Ну, я чесно показал пару примеров, объяснил, как выяснить, какие методы описаны в WSDL, как и чего флеш может послать вебсервису, а чего не может...

Сегодня на совещании синьор докладывает начальству:
"У нас не получилось использовать вебсервис и поэтому мы выкрутились используя HTTP сообщение!" И ни у кого эта фраза даже на секунду смущения не вызывает.
(На самом деле нужно было передать флешу ссылку на картинку).
После совещания, нахожу нашего флешера и спрашиваю, а как же так не получилось?
Оказалось, все банальнее некуда - синьор не смог найти WSDL файл.

alekslitvinenk 20.10.2009 22:14

А я думал таких еще после первой волны кризиса поувольняли...

etc 21.10.2009 00:53

А оно чем-то отличается от HTTP, кроме своей тупой заумности и псевдонаучности?

wvxvw 21.10.2009 01:05

Фишка в том, что вебсервисы не-HTTP не бывают. Но это еще не все :) Дело в том, что в ВС для веб есть такая штука - забиндить компонент к веб-сервису (ее еще попытались скопировать в 4-м флекс билдере). Это все делается через UI самой прогаммы, т.е. код писать не нужно :) Генерит оно естественно такую же гадость, как и флекс билдер, ну только с поправкой на то, что клиентская часть этой гадости потом превращается в абсолютно нечитаемый яваскрипт.
Ну, тоесть, случайным образом получилось так, что был выбран из двух плохих вариантов не самый худший, забавно то, по какой причине :)

duhowka 21.10.2009 03:15

забавно. не понятно почему он не нашел или он просто вас не понял?

dark256 21.10.2009 21:57

дынц.... а поподробнее - о чем речь-то? :)))
по ВДСЛ в инете как-то уж очень много всего сразу выпало....глаза разбежались...

wvxvw 22.10.2009 00:37

WSDL - это такой файл, который описывает какие сервисы доступны на сервере, который этот файл хостит. Сервис, это функция в серверном скрипте, которая как правило чего-то делает и чего-то в ответ возвращает. Как правило, она возвращает ответ в виде XML сформированого используя шаблон SOAP (но это не обязательно именно так, есть и другие варианты - REST / RESTfull - это когда вы вместо передачи имени функции в теле запроса используете имена виртуальных директорий).
Все это звучит очень заумно, но, на практике происходит примерно следующее:
Вы отправляете запрос на www.example.com?method=GetStockPrice&arguments=IBM
либо отправляете тот же запрос оформленный в XML:
www.example.com
Код:

POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn

<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body xmlns:m="http://www.example.org/stock">
  <m:GetStockPrice>
    <m:StockName>IBM</m:StockName>
  </m:GetStockPrice>
</soap:Body>

</soap:Envelope>

(SOAP)

либо www.example.com/GetStockPrice/IBM (RESTfull).
И, если используется SOAP, то получаете в ответ XML примерно следующего содержания:
Код:

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn

<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body xmlns:m="http://www.example.org/stock">
  <m:GetStockPriceResponse>
    <m:Price>34.5</m:Price>
  </m:GetStockPriceResponse>
</soap:Body>

</soap:Envelope>

Как вы видите, куча избыточной информации, в данном примере, только в ответе, ее будет как раз 10425% по отношению к, например, передаче того же количества информации через TCP (сокет).
Конечно, при передаче большего количества информации КПД растет, но, в любом случае жервы огромные.
Зато есть одно преимущество - думать не надо :) Парсеры, сериализаторы / десериализаторы уже дaвно написаны, отлажены и более-менее работают. Процесс автоматизирован - нужно только нажать на кнопку - а все остальное програма сделает за вас.

Кроме этого написано много заумных статей и рекламных буклетов популярно объясняющих достоинства этой технологии.

Фишка в том, что это ж на сколько нужно быть ленивым, чтобы не просто не знать, как все это происходит, а даже за многие годы работы с VS Web Edition просто не удосужится взглянуть на то, что же она там генерит.

etc 22.10.2009 00:46

Да уж, AMF по сравнению с этим прямо-таки панацея.


Часовой пояс GMT +4, время: 18:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.