Приложения
Netuno — это сервер с поддержкой множества приложений, который распределяет доступ к приложениям через домены и поддомены.
Множество веб-приложений, которые могут быть как публичными, так и приватными, поскольку Netuno используется для создания бэк-офисов. Поэтому, как правило, приложения всегда имеют приватный доступ, а публичный интерфейс является опциональным.
При разработке множества приложений в Netuno они могут быть как развязанными, так и связанными на уровне базы данных.
Это означает, что мы можем использовать одну и ту же базу данных для нескольких приложений или иметь отдельные базы данных для каждого приложения.
Развязанные приложения с несколькими базами данных
Когда речь идёт о приложениях с совершенно разными областями применения, нет смысла использовать для них одну и ту же базу данных.
Представьте, что у вас есть приложение для отправки рассылок, другое для управления книгами и ещё одно для управления доставками, и ни одно из них не нуждается в информации, хранящейся в другом приложении — они полностью независимы.
Таким образом, нет причин использовать для них одну и ту же базу данных — напротив, каждое приложение должно иметь свою собственную базу данных:
Так ни одно приложение не знает об информации, хранящейся в других приложениях, и вся его работа независима от существующих приложений.
Связанные приложения с общей базой данных
Когда мы работаем с приложениями, которым необходимо обмениваться информацией и которые могут иметь большой объём данных, совместное использование базы данных является наиболее жизнеспособным решением с точки зрения производительности, но не лучшим решением с точки зрения безопасности и целостности данных.
Поэтому, по соображениям безопасности и целостности, обычно создаются крупные веб-приложения, где всё централизовано в одном сложном приложении, использующем свою эксклюзивную базу данных; если приложению нужны внешние данные, оно может при необходимости интегрироваться с другими базами данных и веб-сервисами.
В этом случае Netuno уже предоставляет все средства для разработки подобных приложений, но также предлагает хорошее решение для приложений с общей базой данных.
Поскольку основной проблемой являются безопасность и целостность данных, при использовании Netuno, когда несколько приложений используют одну и ту же базу данных, они автоматически ограничиваются своими таблицами, связанными с их формами.
Это позволяет делиться формой и, следовательно, её таблицей с другими приложениями, связанными с базой данных.
Представьте сценарий, в котором у вас есть приложение для управления клиентами, другое для управления поставщиками и ещё одно для выставления счетов — ведь у вас будут как счета поставщиков к оплате, так и счета клиентов к получению.
Приложение для работы с клиентами не должно обмениваться данными с приложением для работы с поставщиками — это разные приложения.
Но приложению для выставления счетов необходимо интегрироваться с обоими приложениями, чтобы получать данные приложения клиентов и приложения поставщиков, чтобы иметь возможность связывать счета и управлять начислениями и платежами в различных ситуациях.
Чтобы гарантировать, что приложения не вмешиваются в конфиденциальные данные друг друга, также рекомендуется использовать отдельные доступы к базе данных для каждого приложения, а кроме того можно контролировать на уровне базы данных доступ к таблицам, чтобы гарантировать отсутствие нежелательного вмешательства.
Кроме того, Netuno осуществляет контроль, чтобы разделить то, что принадлежит одному или другому приложению, а также то, что является общим между ними.
Адрес каждого приложения
Netuno автоматически осуществляет распределение доступа к приложениям через домен и поддомен.
Когда в Netuno приходит запрос, домен обрабатывается следующим образом:
Netuno ищет до первой точки, существует ли приложение с таким именем.
Если существует приложение с таким именем, то именно оно получит запрос.
Если приложения с таким именем не существует, то запрос будет передан приложению по умолчанию (default).
Это разрешение доменов также работает при наличии под-поддомена, например:
То есть до первой точки определяется, какое приложение получит запрос на обработку.
И Netuno также позволяет задать точный адрес с доменом для приложения — достаточно определить, какой именно адрес будет использоваться для работы приложения.
Использование автоматического способа обработки доменов обеспечивает работу приложений в подавляющем большинстве случаев; если же всё-таки возникают ситуации, когда для работы приложения необходим совершенно другой, специфический адрес, то его необходимо задать в конфигурации приложения.