Как стать автором
Обновить

Идеальный скриптовый язык для WEB — Начало

Время на прочтение2 мин
Количество просмотров901
Когда-то давно (Идеальный скриптовый язык для WEB) я попросил Хабравчан выразить свои мысли по поводу языка программирования для WEB, в связи с «некоторыми событиями» работу над проектом пришлось свернуть, за это время я набросал примерную архитектуру внутреннего устройства.



Что-бы предотвратить лишние разговоры и гневные комментарии оговорюсь сразу, что система проектируется на VDS начального уровня, так что постараюсь экономить каждый килобайт оперативной памяти.

image

Рис1. Примерная схема работы

Что мы тут имеем:
SPL – стандартная библиотека, содержит все прототипы классов языка, применяется для расширения и дополнения языка.
RPC – интерфейс для работы с удаленными объектами, на других виртуальных машинах, применяется для распределения задач на множество машин.
WEB Server – встроенный веб сервер.
Other modules – модули для работы с базами данных и т.д.
In Filters – входные фильтры.
Out Filters – выходные фильтры.

User code – пользовательские скрипты.
User modules – пользовательские модули.

Cache byte code – глобальное хранилище скомпилированного байт кода.
Byte code – скомпилированный байт код

VM – виртуальная машина, для выполнения байт кода.

Как работает:
WEB Server получает запрос пользователя и пропускает запрос через In Filters, затем обработанный запрос поступает на выполнение в User code, если запрошенный скрипт ещё не закэширован, то происходит трансляция скрипта и его компиляция в байт код с подключением нужных библиотек, далее байт код либо кэшируется в Cache byte code и выполняется в VM, либо если свойства скрипта запрещают кэширование, минуя Cache byte code выполняется.
После выполнения скрипта, через Out Filters выполненный запрос WEB Server отдаёт пользователю.
Если при подключении необходимых библиотек, вместо библиотеки находится ссылка, то через интерфейс RPC происходит вызов и выполнение библиотеки на удалённой VM, после чего результат возвращается.

Продолжение следует…
Теги:
Хабы:
Всего голосов 19: ↑8 и ↓11-3
Комментарии36

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн