представлено традиционное решение в архитектуре файл-сервер, недостатки которого очевидны: удаленный разделяемый винчестер предполагает меньшую надежность данных, больший сетевой трафик. Клиент-серверная двухуровневая распределенная обработка данных (рис. 1.6). Для данной архитектуры характерно следующее: на рабочей станции находятся средства пользовательского интерфейса и программы приложений (рабочие станции относятся к категории «толстых клиентов»), на сервере баз данных хранятся СУБД и файлы баз данных. Рис. 1.6. Двухуровневая распределенная архитектура Microsoft SQL Server Рабочие станции (клиенты) посылают серверу запросы на интересующие их данные, сервер выполняет извлечение и предварительную обработку данных. По сравнению с предыдущим вариантом существенно уменьшается трафик сети и обеспечивается прозрачность доступа всех приложений к файлам баз данных. На рис. 1.6 представлено традиционное решение в архитектуре клиентсервер, где в качестве сервера баз данных используется Microsoft SQL Server. Клиентские приложения обращаются к серверу БД (кроме MS SQL, это могут быть, например, InterBase, Oracle, Informix, Sybase). Логика клиентского приложения может быть написана на Paradox, dBase, Delphi или С/С/Н-. Следует еще раз отметить, что при этом все взаимодействие с БД ведется через родные линки компаний-производителей, инкапсулированные механизмом IDAPI универсальным механизмом доступа к данным, который предлагает компания Borland. При этом 21 |
В файл-серверной архитектуре сервер используется только как большой винчестер, как место хранения всех данных. Ответственность за правильное оперирование данными возлагается на клиента. На рис. 1.7 представлено традиционное решение в архитектуре файл-сервер, недостатки которого очевидны: удаленный разделяемый винчестер предполагает меньшую надежность данных, больший сетевой трафик. Клиент-серверная двухуровневая распределенная обработка данных (рис. 1.8). Для данной архитектуры характерно следующее: на рабочей станции находятся средства пользовательского интерфейса и программы приложений (рабочие станции относятся к категории «толстых клиентов»), на сервере баз данных хранятся СУБД и файлы баз данных. Рис. 1.8. Двухуровневая распределенная архитектура Microsoft SQL Server Рабочие станции (клиенты) посылают серверу запросы на интересующие их данные, сервер выполняет извлечение и предварительную обработку данных. По сравнению с предыдущим вариантом существенно уменьшается трафик сети и обеспечивается прозрачность доступа всех приложений к файлам баз данных. На рис. 1.8 представлено традиционное решение в архитектуре клиентсервер, где в качестве сервера баз данных используется Microsoft SQL Server. Клиентские приложения обращаются к серверу БД (кроме MS SQL, это могут быть, например, InterBase, Oracle, Informix, Sybase). 47 Логика клиентского приложения может быть написана на Paradox, dBase, Delphi или C/C++. Следует еще раз отметить, что при этом все взаимодействие с БД ведется через родные линки компаний-производителей, инкапсулированные механизмом IDAPI универсальным механизмом доступа к данным, который предлагает компания Borland. При этом клиентское приложение может напрямую запрашивать у сервера данные и оперирует понятиями запросов, транзакций и таблиц. Уже в Delphi 2.0 появилась возможность работы не напрямую, а через монитор транзакций (Taxedo, Encina-см . рис. 1.9). Рис. 1.9. Архитектура клиент-сервер, использующая монитор транзакций Клиент-серверная многоуровневая распределенная обработка данных (рис. 1.10): на рабочей станции находятся только средства пользовательского интерфейса, на сервере приложений программы приложений, а на сервере баз данных хранятся СУБД и файлы базы данных. Серверы выполняют всю содержательную обработку данных, рабочие станции являются «тонкими клиентами», и на их месте могут использоваться NET PC «сетевые компьютеры». Если серверов приложений и серверов баз данных в сети несколько, то сеть становится клиент-серверной многоуровневой. 48 |