Кот Муций (cat_mucius) wrote,
Кот Муций
cat_mucius

  • Music:
«Время от времени он поднимал руку, призывая к молчанию, и предупреждал: "Мысль", а потом говорил что-нибудь такое, чего постеснялась бы корова.» (c) Честертон.

Интересно, а создавал кто-нибудь MMC snap-ins для управления вебсайтами? Форумами, к примеру. :-) Было бы прикольно: запускаешь стандартную консольку с десктопа, и работаешь, скажем, с юзерами и группами форума, как будто это локальные юзеры и группы Windows или домена. В принципе, мешать ничто не должно: можно научить snap-in посылать запросы HTTP или вызывать вебсервисы по SOAP так же, как и исполнять RPC-функции на соседней машине Windows.

В связи с этим подумалось: насколько я знаю, веб-сервера до сих пор общаются с браузерами, посылая поток, содержащий как и собственно запрашивамую инфу, так и тэги HTML, CSS, джава-скрипты и прочее - то есть информацию презентационную, говорящую, как оформить и показать юзеру требуемое. Так вот, существует ли уже технология, позволяющая отделить для браузеров собственно данные от их презентации?

Что я имею в виду: допустим, браузер вызывает на сервере функцию, которая показывает список тем на форуме - getTopicsList(). Сервер посылает в ответ голые данные - в формате XML, или JSON, или каком другом, не суть. Но в ответе функции есть также некий тэг - скажем, <PresentationData> - который содержит линк на страницу, указывающую, как ответ данной функции оформлять: какой поставить хидер-футер, какие использовать стили CSS, где расставить ссылочки, кнопочки и картиночки, какие запустить скриптики, и всю прочую эротику. Браузер идёт по линку, микширует данные с их презентацией и показывает юзеру результат.

Нафига оно надо: допустим, у нашего веб-сервера кроме браузеров может быть ещё множество клиентов, которым тэги HTML и прочая презентационная инфа ни к чему. Это может быть десктопная аппликация, та же MMC-консолька, программа Java WebStart, запускаемый браузером апплет Java, Flash, ActiveX и так далее. Или нечто, вообще не предполагающее никакого графического вывода - скаже, коннектор для сервера Exchange. Отделение данных от их презентации позволило бы и браузерам, и всем остальным использовать стандартный API для общения к серверу. Клиенты, заточенные под конкретную веб-аппликацию и сами знающие, как оформлять для юзера ответы её функций, просто игнорировали бы тэг <PresentationData>, и конец делу.

У меня полное впечатление, что я выдумываю велосипед, но во всяких хитрых XML-технологиях я разбираюсь слабо, и не знаю, докуда они дошли. Есть сегодня браузеры, поддерживающие такое?

(Возможная альтернатива: возложить микширование данных и презентационной инфы на веб-сервер, но при этом превратить его всего лишь во front-end, цель которого - получить запрос от браузера, вызвать функцию на сервере back-end, ответ функции смешать с HTML и отослать. При этом иные клиенты подсоединяются в обход его сразу на back-end и вызывают функции API напрямую. Это может быть хорошо и для масштабируемости: фронтендов может быть много, а бэкенд один.)


Update: я, как и подозревал, своим могучим умищем изобрёл велосипед: такой язык существует, называется XSLT и поддерживается современными браузерами. Работает ровно как вверху и описано, только тэг называется не <PresentationData>, а <?xml-stylesheet>. Вот здесь можно видеть маленький приятный пример: отдельно снимается XML-файл с названиями альбомов, и отдельно - XML-файл, инструктирующий браузер, как список альбомов выводить в таблицу. Особенно хорошо видно, как это работает, если запустить сниффер.

Такой вот удар со стороны классика. Что ж, по крайней мере, буду точно знать, зачем оно нужно. :-)
Tags: computing
Subscribe

  • Терроризм, ИГИЛ, женщины, Битлз

    Благодаря дискуссии с Дмитрием Аксельродом начитался разных интересных статей о терроризме и ИГИЛ: Йорам Швейцер, " Palestinian Female Suicide…

  • (no subject)

    Хочет кто в викторину поиграть? Тема - рок и поп-музыка 20-ого века, буквы соответствуют именам либо музыкантов, либо групп. Особенно интересуют…

  • Мартовское

    Перелетные птицы осенней порой Не летают на юг по одной, И олени, гуляя оленьей тропой Тоже ходят по ней толпой. И я был бы рад остаться с тобой, Но…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments