Это довольно широкий открытый вопрос, поскольку он может зависеть от решения вашей базы данных.
DataSnap действительно допускает решения N-уровня, если вы ищете Client Server у вас есть
почти все, что вам нужно в профессиональной версии в зависимости от выбора базы данных.
Для клиентского сервера:
Клиент-серверная архитектура - это когда клиент напрямую связывается с сервером.
Существует несколько доступных фреймворков, все они следуют одному и тому же шаблону.
Соединение с БД -> Запрос -> (Необязательный поставщик -> TClientDataset) -> TDataSource -> Визуальный контроль
DBX
- TSqlConnection - подключается к базе данных
- TSqlQuery - запрос к БД, производящий однонаправленный набор данных
- TSqlStoredProc - выполняет процедуры хранения для БД
АДО
- TAdoConnection - подключается к базе данных
- TAdoQuery - Запрос к базе данных, производящей двунаправленный набор данных
Общие компоненты
- TClientDataSet - набор данных в памяти, который является двунаправленным
- TDatasetProvider - принимает другие наборы данных и связывает данные с TClientDataset
- TDataSource - связывает набор данных с визуальным управлением с учетом данных
В зависимости от выбора базы данных доступно несколько других опций.
Однако вы, похоже, спрашиваете о решениях типа N-Tier (Middle-Tier)
Для N-уровня
N-уровневая архитектура - это когда Клиент связывается со Средним Ярусом, который затем связывается с Сервером. Он называется N-Tier, поскольку у вас есть возможность иметь несколько промежуточных уровней или серверов приложений.
Коммерческие опционы (необходимо потратить дополнительные $$)
Лично я не знаю ни о каких бесплатных или открытых источниках, хотя подозреваю, что некоторые существуют.