![]() |
|
||||||||||
|
|||||
|
Modus ponens
|
Эта тема восновном интересна разработчикам .NET для веба... (только WSDL), идея была когда-то интересная, но оказалась плохо приспособленной к жизни и по-тихоньку умирает. Задумка была в том, чтобы создать протокол описания свойств объектов и вызовов методов так, чтобы две зависящие друг от друга программы могли разрабатываться не завися друг от друга.
Например у вас есть сервер базы данных и сервис который должен общаться с сервером принимая ввод от пользователя. Сервер с базой данных мог бы описать свой интерфейс используя SOAP, и сервис можно было бы разрабатывать имея только описание (таким образом, его можно было бы тестировать независимо, что очень сокращает время нужное на разработку). Жизненный пример: веб сервер, по тех. заданию должен производить оплату клиентами покупки сделаной через магазин. Сервер предоставляет клиенту интерфейс описаный как "месторасположение сервиса", "список аргументов", "список возвращаемых значений", "список ошибок". Это можно представить так: <wsdl> <types> <User> <name type="String"/> <password type="String"/> </User> <Purchase> <name type="String"/> <model type="int"/> </Purchase> </types> <method name="purchase"> <location>www.example.com/service</location> <arguments> <user type="User"/> <time type="Date"/> <purchases type="list of Purchase"/> </arguments> <returns> <success type="Boolean"/> </returns> <throws> <exception type="InsufficientFunds"/> <exception type="NotAuthorized"/> </throws> </method> </wsdl> Почему это в итоге не работает: формат менался очень часто. Его пытались естесственно генерировать в автоматическом режиме, и наоборот, генерировать по нему код, изза чего возникли проблемы совместимости. Кроме того, формат ну уж очень избыточный, в том смысле, что для описания той же информации можно использовать гораздо меньше символов. Типизация не однозначная. Невалидный wsdl файл может быть вполне валидным XML документом, изза чего вполне возможны ошибки. Почему это не прижилось во Флеше: AS3 программисты вообще очень редко используют какие-либо сторонние инструменты, кроме непосредственно редактора кода для работы. Поэтму идея генерации кода на других языках / по шаблону очень мало кому приходит в голову Кроме того, во флеше есть вполне даже неплохой формат сериализации данных - AMF, он не выполняет все функции SOAP, но ту часть, корорую он заменяет он делает лучше.На данный момент похоже, что прогрессивное человечество оставит этот формат в покое и перейдет на что-то более удобоваримое, типа того же Protobuf. А пока не перешло - если вы пишите на AS, и работаете в команде с нормальными программистами отвечающими за серверную часть (1% случаев) - используйте AMF, и какой-нибудь свой формат для описания / генерации сервисов. Если работаете с идиотами (99% случаев), то тут, как говорится YMMV, SOAP скорее всего от вас попросят .NET программисты которые веб сервисы генерят из VS и на вопрос "использует ли ваш сервис метод GET или POST" не могут дать внятного ответа.
__________________
Hell is the possibility of sanity |
![]() |
Часовой пояс GMT +4, время: 10:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|