С выходом RAD Studio 10.2, включающей компилятор Delphi for Linux, появилась возможность создания на Delphi серверных нативных приложений для работы в среде Linux. Многие коммерческие и промышленные системы все чаще используют в качестве серверов вычислительные системы под управлением различных версий и редакций Linux - популярной, производительной и значительно более экономичной операционной системы широко распространенной на множестве облачных платформ и практически в любых центрах обработки данных.
Многие Web-сайты и многозвенные приложения работают на Linux-серверах и обеспечивают одновременный доступ множества пользователей к хранимой на сервере или в распределенных системах информации, которая, в подавляющем числе случаев, хранится под управлением какой-то СУБД.
Библиотеки и компоненты Delphi для работы с базами данных позволяют быстро и в визуальном режиме создавать множество вариантов самостоятельных приложений, WEB- и REST-сервисов, встраиваемых модулей для промышленных WEB-серверов и серверов приложений, в том числе, Datasnap или RAD Server, активно работающие с любыми из обширного списка поддерживаемых СУБД.
За последние годы документо-ориентированная NoSQL СУБД MongoDB добилась огромной популярности и получила широкое распространение именно на серверах под управлением Linux. В силу особенностей Linux здесь MongoDB работает производительнее, лучше настраивается и масштабируется.
На обзорных вебинарах и семинаре по RAD Studio 10.2 я уже показывал примеры реализации серверных приложений Linux, работающих с данными из MySQL. В самом простом случае нужно всего лишь добавить компонент TFDConnection, настроить его для связи с сервером БД, указав соответствующие параметры-свойства, а затем с помощью TFDQuery ввести нужный запрос и выполнить его. Остается только выдать\напечатать данные, полученные после выполнения запроса в нужной форме. Невероятно, но самым сложным является настройка драйверов доступа к СУБД, в данном случае MySQL.
Теперь я бы хотел рассказать, как реализовать простейшую программу для Linux-сервера, обрабатывающую данные из MongoDB. Несмотря на очевидную простоту реализации, стоит обратить внимание на характерные особенности работы с MongoDB.