Hajm 9 sahifalar
2021 yil
Реализация метауправления правами доступа в проекте BlockSet средствами языка BML
Kitob haqida
Разработка веб-ресурса в наши дни – очень частая, но не всегда простая задача. Особенно если речь идет не о статическом одностраничном сайте, а о полнофункциональном динамическом веб-приложении с неограниченным количеством страниц, а также возможностью выдерживать большие нагрузки, свойственные подобного рода проектам. Использование языков программирования общего назначения для построения логики серверной части имеет большой порог вхождения, а традиционные CMS и фреймворки ЯП не обеспечивают достаточную гибкость. Наиболее верным решением в такой ситуации будет использовать DSL- подобные языки, которые просты в обращении и при этом имеют обширные возможности благодаря тому, что заранее ориентированы на решение конкретных задач. Однако на данный момент существует очень мало готовых решений. Заметным лидером в этой области является WebDSL, однако даже он имеет ряд недостатков, унаследованных от языка реализации данного проекта Java, таких как, например, малая гибкость, большие затраты производительности и необходимость устанавливать Java-машину. Процесс разработки осуществлялся с использованием относительно низкоуровневого языка программирования общего назначения C++, что избавило проект от проблем, с которыми сталкивались конкуренты, обеспечило высокую производительность интерпретатора и кроссплатформенность всей системы. Авторы подробно описали выбранные средства метауправления системой прав доступа проекта BlockSet, а также синтаксис их применения в декларативном высокоабстрактном предметно-ориентированном языке BML, используя простые и доступные примеры для демонстрации лаконичности и в то же время конструктивности выбранных синтаксических решений. Получившиеся результаты имеют большую ценность, так как позволяют значительно упростить дальнейший процесс администрирования веб-ресурса, что также является одной из основных задач проекта BlockSet. Таким образом, язык BML вкупе с системой прав доступа предоставляет гибкие, мощные и в то же время достаточно простые и понятные методы для организации необходимой системы, что соответствует парадигмам проекта о гибкости и низком пороге вхождения, а также значительно оптимизирует процесс разработки.