Frontik презентация

Содержание

Зачем frontik? I

Слайд 1Frontik
сервер-агрегатор на python


Слайд 2Зачем frontik?
I


Слайд 3100%
08:00
20:00


Слайд 5Яндекс (XScript)

Mail.ru (FEST)


Слайд 6Выбрали XScript

 OpenSource
 Проверено
 XSLT


Слайд 7100%
08:00
20:00


Слайд 8Минусы XScript

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


Слайд 9Что frontik?
II


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


Слайд 11Frontik - application server, 
основанный на Tornado Web Server
 
Tornado:
AsyncHttpServer
один поток

выполнения
ioloop
прием новых соединений 
обработка (handling)
AsyncHttpClient
 

Как сделано


Слайд 12 диспетчеризация запросов по URL
HTTP опрос backend`ов 
парсинг, обработка и

агрегация xml ответов
XSLT шаблонизация

Где же тут Frontik?


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


Слайд 14Как это работает:


Слайд 15Фичи от frontik`а
1. app-root/helloworld.py
 
class Page(frontik.page.PageHandler):
 
  @set_xsl('helloworld.xsl')
  def get_page(self, request):   
    res

= etree.Element('hello')
    res.text = 'world'
    self.doc.put(res) 

Слайд 16Фичи от frontik`а
2. Обработка ответов
 
def cb(xml, response): 
    nodes = xpath.Evaluate(..., xml)
 

  if not nodes:
        finish('Nothing found!')
    else:
        ... self.get_url(request, cb)
 

Слайд 17Фичи от frontik`а
3. Future
 
placeholder = self.get_url(...)

self.doc.put(placeholder)
 
 


Слайд 18Фичи от frontik`а
4. SyncGroups
 
group=frontik.async.AsyncGroup(finish_cb)
 
self.get_url(request1, group.add(cb1))
 
self.post_url(request2, group.add(cb2))
 
 


Слайд 19Фичи от frontik`а
5. Главное: простота развития 

Быстрая и гибкая разработка на python


Слайд 20Как frontik?
III


Слайд 21→   xslt   →
xml              

                                           ответ

Этапы трансформации

Было:

 
Cтало:

→           →

xml                                                              ответ

xslt → пост-обработка


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


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


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

→ memcached →                       → XSLT→ результат

дозагрузка ненайденого в кеше


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


Слайд 26Обвязка сайта
Было:
browser   ↔   jsp
 
Cтало:
browser   ↔  

frontik   ↔   jsp

Слайд 27Проблемные места (они же — планы развития)
 
Один процесс — однин тред

— одно ядро процессора

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

Слайд 28http://github.com/hhru/frontik

http://github.com/AndrewSumin/hephaestus

http://hh.jsx.ru


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика