Frontik сервер-агрегатор на python. Зачем frontik? I.

Презентация:



Advertisements
Похожие презентации
#html5camp JavaScript на сервере – node.js на Windows Гайдар Руководитель направления веб-технологий, Microsoft.
Advertisements

WEB- ТЕХНОЛОГИИ Лекция 1. WEB- ПРИЛОЖЕНИЯ 1 Особый тип программ, построенных по архитектуре « клиент - сервер » Основа получение запросов от пользователя.
Внутренний SEO-аудит Актуальные проблемы сайтов Партала Кирилл Начальник отдела интернет-маркетинга.
Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)
Java Server Pages (JSP). JSP Позволяет веб разработчикам динамически генерировать HTML, XML - и другие веб страницы. Страницы компилируются JSP- компилятором.
Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)
Докладчик: Кин Кирилл, ВМИ-115 Windows Azure Демонстрация разработки и внедрения простейшего сервиса.
App Engine Cloud Computing платформа от Google Петр Чардин, Михаил Дайчик Апрель 2009.
PM Team Leader SQA Days 7 Kharkov QA Club ZoralLabs It-Jam myqanotes.blogspot.com It-Jam 2011 PO QA.
ПРОТОКОЛЫ HTTP. HTTP - HyperText Transfer Protocol Протокол уровня приложений Текущая версия HTTP/1.1.
1 Учебный курс Введение в JavaScript и CGI Лекция 5 Основы CGI кандидат технических наук Павел Брониславович Храмцов
Ускорение проекта на PHP на примере. Что такое nginx и зачем он нужен, если есть apache?
Где хранить данные в web- приложении page –JSP страница request – HTTP запрос session – сессия пользователя application – веб-приложение Static Java class.
Работа с legacy-xsl-кодом Евгения Фирсова
Разработка Web-приложения с помощью Xml Создание Web-приложения на основе файла Xml Выполнение преобразования XSLT на стороне сервера Использование объектной.
REST XSLT Павел Кудинов Агентство «Точка Кипения» Технический директор RESTful проекты на XSLT в условиях неполной поддержки XSL.
Страница 1 Действие Страница 2 ЗапросДействие Страница 3 Работа с Web-приложением с точки зрения пользователя.
Презентация подготовлена компанией ООО «Бронни.ру» Телефон: (495) Факс: (495) Сайт:
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET примеры: обработка данных форм. работа с формами работа с формами.
Протоколы Internet. Службы Internet. HTTP-Сервер..
Транксрипт:

Frontik сервер-агрегатор на python

Зачем frontik? I

100% 08:0020:00

Яндекс (XScript) Mail.ru (FEST)

Выбрали XScript OpenSource Проверено XSLT

100% 08:0020:00

Минусы XScript XML-based язык агрегации Нет доступа к кишкам HTTP Сложность доработки

Что frontik? II

Основной сценарий использования:

Frontik - application server, основанный на Tornado Web Server Tornado: AsyncHttpServer один поток выполнения ioloop прием новых соединений обработка (handling) AsyncHttpClient Как сделано

диспетчеризация запросов по URL HTTP опрос backend`ов парсинг, обработка и агрегация xml ответов XSLT шаблонизация Где же тут Frontik?

Реальный пример

Как это работает:

Фичи от frantic 1. app-root/helloworld.py class def get_page(self, request): res = etree.Element('hello') res.text = 'world' self.doc.put(res)

Фичи от frantic 2. Обработка ответов def cb(xml, response): nodes = xpath.Evaluate(..., xml) if not nodes: finish('Nothing found!') else:... self.get_url(request, cb)

Фичи от frantic 3. Future placeholder = self.get_url(...) self.doc.put(placeholder)

Фичи от frantic 4. SyncGroups group=frontik.async.AsyncGroup(finish_cb) self.get_url(request1, group.add(cb1)) self.post_url(request2, group.add(cb2))

Фичи от frantic 5. Главное: простота развития Быстрая и гибкая разработка на python

Как frontik? III

xslt xml ответ Этапы трансформации Было: Cтало: xml ответ xslt пост-обработка

Пост-обработка Fuchakubutsu (переводы)

Пост-обработка ссылки на региональные сайты (200kb xml, 7k nodes)

Кэш Было: поиск загрузка найденного XSLT результат Cтало: поиск memcached XSLT результат дозагрузка не найденного в кеше

Дублирование кода верстки обвязка сайта (jsp vs. xslt)

Обвязка сайта Было: browser jsp Cтало: browser frontik jsp

Проблемные места (они же планы развития) Один процесс один тред одно ядро процессора Блокировка обслуживания на время вычислений Отсутствие стриминга Спагетти-код