12
REST XSLT REST XSLT Павел Кудинов Павел Кудинов Агентство «Точка Кипения» Агентство «Точка Кипения» Технический директор Технический директор [email protected] [email protected] RESTful RESTful проекты на проекты на XSLT XSLT в условиях неполной поддержки в условиях неполной поддержки XSL XSL

Rest Xslt павел кудинов

Embed Size (px)

Citation preview

Page 1: Rest Xslt   павел кудинов

REST XSLTREST XSLT

Павел КудиновПавел КудиновАгентство «Точка Кипения»Агентство «Точка Кипения»Технический директорТехнический директор[email protected]@kudinov.name

RESTful RESTful проекты на проекты на XSLTXSLTв условиях неполной поддержки в условиях неполной поддержки XSLXSL

Page 2: Rest Xslt   павел кудинов

www.rit2007.ru

Актуальные проблемы Актуальные проблемы XSLTXSLT

Данные Безопасность Cериализация

Клиент/сервер Сервер: вычислительная нагрузка Клиент: поддержка браузерами

Решение — REST XSLT !

Page 3: Rest Xslt   павел кудинов

www.rit2007.ru

RESTREST::RREEpresentational Statepresentational State Transfer Transfer

Архитектурные принципы:

Функции приложения обусловлены ресурсами Каждый ресурс имеет уникальный адрес – URL Доступ к ресурсам обеспечен единым

интерфейсом – транспортным протоколом

Page 4: Rest Xslt   павел кудинов

www.rit2007.ru

XXSL:SL:Extensible Stylesheet LanguageExtensible Stylesheet Language

XML документ, описывающий правила трансформации XML документов

может быть применен для описания представлений данных

В простейшем случае выступает в роли шаблона

Page 5: Rest Xslt   павел кудинов

www.rit2007.ru

Зачем Зачем REST?REST?

Кеширование Масштабируемость Универсальность Сводимость к гиперссылкам

Page 6: Rest Xslt   павел кудинов

www.rit2007.ru

Зачем Зачем XSLT?XSLT?

XSLT документы могут иметь URL необходимое условие RESTful

Мощность XSLT Функционально превосходит шаблонизаторы

Свойство суперпозиции XML Цепочные преобразования данных

Page 7: Rest Xslt   павел кудинов

www.rit2007.ru

Проблемы Проблемы XSLTXSLT

Данные Безопасность Сериализация (невозможность lazy evaluation)

Клиент/сервер Сервер

Большая вычислительная нагрузка REST преимущества не используются

Клиент Неполная поддержка браузерами Непрозрачность для поисковых систем

Page 8: Rest Xslt   павел кудинов

www.rit2007.ru

REST XSLT:REST XSLT: данные данные

данные логика

данные

данные

логика

логика

шаблоны

XSLT

Генератор XML

плоские объекты

плоские XML

плоские объекты

клиент

клиент

клиент

HTML

HTML

XML

XSLT

HTML

шаблоны

XSLT

REST XSLT

Небезопасные данные

Page 9: Rest Xslt   павел кудинов

www.rit2007.ru

REST XSLT:REST XSLT: клиент клиент//серверсервер

Поисковые системы

XSLT браузеры

HTML браузеры

XSL шлюз

XSLT

XML

Page 10: Rest Xslt   павел кудинов

www.rit2007.ru

REST XSLT: REST XSLT: реализацияреализация

данныелогикаГенератор

XMLHTML

браузер

HTTP сервер

XMLXSLT шлюз

XSLT браузер

XSLT процессор

JSCSSGIF

XSLT процессор

Сервер

XSLT

Ди

нам

ика

Ста

тика

Page 11: Rest Xslt   павел кудинов

www.rit2007.ru

XSLT XSLT шлюзшлюз – – этоэто::

REST XSLT уже сегодня Компенсация серверных нагрузок Компенсация недостатков браузеров Расширяемая платформа, например:

FORCE_XSLT Для небезопасных серверных преобразований Чтобы никто не узнал о REST XSLT inside

Серверный кеш XSLT на основе HTTP Не только XSLT, например SVG->GIF

Всего пара страниц исходного кода

Page 12: Rest Xslt   павел кудинов

www.rit2007.ru

Спасибо за внимание!Спасибо за внимание!

Павел КудиновПавел КудиновАгентство «Точка Кипения»Агентство «Точка Кипения»Технический директорТехнический директор[email protected]@kudinov.namepavel-kudinovpavel-kudinovpavel-kudinovpavel-kudinov

REST XSLT

RESTful RESTful проекты на проекты на XSLTXSLT

в условиях неполной поддержки в условиях неполной поддержки XSL XSL браузерамибраузерами