Н. 3. Елманова. С+4 Builder 3.0: архитектура "клиент/сервер"
Рис. 1.7. Принципы работы Web-приложения
1.4     Некоторые выводы
Таким образом, архитектура "клиент/сервер" обладает рядом существенных преимуществ по сравнению с традиционной архитектурой информационных систем, основанных на сетевых версиях настольных СУБД: более высокой производительностью, более низким сетевым трафиком, улучшенными средствами обеспечения безопасности и целостности данных, возможностью задания бизнес-правил.
Отметим также, что существуют возможности совершенствования клиент-серверных систем путем перехода к многозвенной архитектуре с "тонким" клиентом либо, в случае необходимости, к приложениям для Web-серверов.
2 ДОСТУП К ДАННЫМ СЕРВЕРНЫХ СУБД В C++BUILDER 3.0
Если созданное с помощью C++BuiIder приложение в процессе работы обращается к базам данных, оно, как правило, использует для этой цели библиотеку BDE (Borland Database Engine). Эта библиотека обеспечивает однотипный доступ к локальным базам данных (dBase, Paradox, текстовые файлы, Access, FoxPro), к SQL-серверам (Oracle, Sybase, MS SQL Server, InterBase, Informix, DB2) с помощью драйверов Borland SQL Links и к любым источникам данных, имеющим драйвер ODBC (Open DataBase Connectivity). При этом все сведения о конкретных источниках данных (тип СУБД, имя базы данных, местоположение, сетевой протокол, языковые настройки) хранятся во внешнем файле настроек idapi32.cfg отдельно от приложения (что не мешает при необходимости переопределять эти параметры на этапе выполнения).
Каким образом обеспечивается однотипность доступа к данным? В процессе выполнения приложения происходит обращение к функциям BDE API, которые, в свою очередь, анализируют тип источника данных и обращаются к одной из динамически загружаемых библиотек, входящих в состав SQL Links (sqlora32.dll, sqlint32.dll, idodbc32.dll и др.), функции в которой, в свою очередь, вызывают функции API клиентской части серверной СУБД из библиотеки, имя которой указано в параметре VENDOR INIT настроек соответствующего драйвера SQL Link.
Следует обратить внимание на то, что библиотека, указанная в параметре VENDOR INIT, не входит в состав BDE, а входит в состав клиентской части серверной СУБД. Последняя подлежит приобретению у производителя SQL-сервера и отдельной установке на рабочую станцию пользователя, и без нее доступ к SQL-серверу с помощью BDE осуществляться, не^^удет. Наоборот, можно в принципе для доступа к данным пользоваться только API клиентской части, не обращаясь к BDE, либо применять оба метода доступа. В частности, пользователи Oracle нередко прибегают к непосредственным вызовам Oracle Call Interface из приложений C++.
14
шюгшзи
15