Home > frontik

frontik

Frontik is a project mainly written in PYTHON and SHELL, it's free.

XScript XML aggregator in python+tornado

What is Frontik?

Frontik is a simple xml aggregator for Yandex-like page generation workflow.

Frontik is developed and mantained by me (Andrey Tatarinov, [email protected]) while working at hh.ru as a part of infrastructure development tasks.

How does it work?

user   frontik   backend1 backend2 ...
====   =======   ======== ========
  |       |         |        |
  |------>|         |        |
  |       |         |        |
  |    (initiate requests)   |
  |       |-------->|        |
  |       |---------+------->|
  |       |----------------------->...
  |       |         |        |
  |    (wait)       |        |
  |       |<-----------------------...
  |       |<--------|        |
  |       |<--------+--------|
  |       |         |        |
  |    (xsl)        |        |
  |       |--      |        |
  |       |  | xsl  |        |
  |       |<-/      |        |
  |       |         |        |
  |    (done)       |        |
  |<------|         |        |
  |       |         |        |

Typically page generation process is split into several steps:

  1. initiate requests: frontik makes several http-requests to underlying backends.
    • wait for either response or timeout for each backend request
    • aggregate everything we got into one xml document, apply given xsl transformation
    • return the result of transformation to user.

Where is it used?

  • Some of the pages of hh.ru are served using frontik
  • hh.jsx.ru is served entirely using frontik, with sources available.
Previous:Web-Design