• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Express.js-compatible Web Server with Native Kernel for Unix Family Operating Systems

Student: Khaidarov Artem

Supervisor: Alexander Breyman

Faculty: Faculty of Computer Science

Educational Programme: Software Engineering (Bachelor)

Year of Graduation: 2020

All the currently existing integrable web server frameworks for Node.js runtime are written in JavaScript, a key language in the ecosystem of this software platform, for accordance and easier maintenance. Preference to this approach is definitely reasonable and sufficient for using isomorphic software components of web applications, i.e. template engines which execute on prepared data. However, performance of large transformation operations suffers due to the interpreter overhead, which casts doubt on the widespread use of this approach. The interpreter overhead is negligible for small web applications, yet significant for large-scale web applications. Therefore, a different concept of Node.js web server applications is required for dealing with slow execution of heavy business logic. This can be solved by moving some parts of them to native dynamically linked libraries. This work describes implementation details, the principles and features of logical domains interaction of the integrable web server with native kernel for Node.js platform, which is compatible in the interface with the basic components and mechanics of Express.js server framework, the most popular frameworks for developing HTTP servers running on Node.js platform. The advantages of this product over the main competing software products, their features and differences are also considered. This paper consists of 42 pages, 3 chapters, 4 illustrations, 13 sources, 4 applications. Keywords — web; server; http; middleware; Express.js; Node.js; native addons; C++; JavaScript; libuv; V8; Event Loop.

Student Theses at HSE must be completed in accordance with the University Rules and regulations specified by each educational programme.

Summaries of all theses must be published and made freely available on the HSE website.

The full text of a thesis can be published in open access on the HSE website only if the authoring student (copyright holder) agrees, or, if the thesis was written by a team of students, if all the co-authors (copyright holders) agree. After a thesis is published on the HSE website, it obtains the status of an online publication.

Student theses are objects of copyright and their use is subject to limitations in accordance with the Russian Federation’s law on intellectual property.

In the event that a thesis is quoted or otherwise used, reference to the author’s name and the source of quotation is required.

Search all student theses