Bullshit daily #0
Пилотный выпуск. В рамках подготовки к докладу на студенческой конференции по теме "Способы интеграции и обмена информацие между приложениями"
Вот есть у нас две программы. Надо нам их друг-с другом связать. Или по научному организовать межпроцесную комуникацию. Для этого есть конечно такие штуки как сокеты и пайпы. Но это очень низкоуровневно. В наш век высоких технологий копошиться с массивами байт? Ни в коем случае. Уже есть новые современные удобные высокоуровневые технологии. Например веб-сервисы. Суть очень проста. Есть WSDL-ка - эксемельное описание сервиса. Ну типа заголовочного файла в С. Даже круче. Потому что из WSDL-ки можно нагенерить врапперы/заглушки практически на любом языке программирования. Т.е. потом мы вроде как вызываем обычные методы у обычных классов, передаем методам обычные переменные. А под копотом оно все превращается в передачу SOAP-сообщений. Спросите что такое SOAP? Хороший вопрос. Это тоже эксемель, только особенный. По суръезным стандартам писаный. Да не важно. Вас же руками там копаться никто не заставляет?
Если вы программируете на дотнете то у вас в распоряжении такая шутка .Net Remoting. Тут даже WSDL-ки нет. Все генерируется непосредственно с описаний классов. А в остальном все также круто как с веб-сервисами. Даже еще круче. Потому что теперь не только клиентский код выглядит как обычный вызов методов у обычных классов с передачей обычных переменных, но и серверный тоже. Все мегакруто. Но только .Net.
А еще есть такая штука как REST. Придумал ее Рой Филдинг (со товарищи). Он провел офигеннейшее иследований различных архитектур. И вот что он заявляет. RPC - фигня! Ни фига не масштабируется, фиг знает как кэшировать, а сеансовые данные дык это вообще @#$@ц. А REST - это круто. Собсно Web так и работал пока тут со всякими веб-вервисами не накатили. Вот есть протокол HTTP. А у него всякие методы GET, PUT, POST, DELETE. Так вот. Давайте все состояние сервера представим в виде ресурсов. У каждого ресурса есть URI. И над каждым можно проводить все эти операции: GET, PUT, POST, DELETE и т.д. Так вот есть мнение что таким образом можно взять любой RPC-шное API и сделать из-него REST-нутое. Строго конечно его никто не доказывал, но и контрпримеров пока никто не привел. А потом наступает просто сказка. Вся HTTP-инфраструктура к вашим услугам. Вот вам и сервера и прокси и браузеры и классы типа System.Net.WebClient. Круть короче неимоверная.
Так что хватит мучать сокеты. Хватит я сказал! Пользуйтесь чем-нить нормальным в конце концов. Цените свое время.

3 Comments:
Как то не очевидно, что REST это круто, и вообще какие бонусы оно дает.
Это как бы первое впечатление после прочтения.
В следующем выпуске Bullshit Daily освещу этот вопрос поподробнее =)
Ждем-с =)
Post a Comment
Links to this post:
Create a Link
<< Home