Пример сетевого приложения
Описанную архитектуру называют клиент-серверной. Наше приложение имеет такую архитектуру. Его разделение на компоненты выглядит следующим образом:
- Серверный компонент – игровое поле, которое является общим ресурсом приложения, вместе с управляющим этим ресурсом звеном игры – сервером игры. Сервер принимает и обрабатывает заявки от клиентов.
- Клиентский компонент – это отдельный игрок, который посылает серверу заявки на использование общего ресурса (поля игры), и получает ответ.
Access предоставляет две возможности для реализации приложений с такой архитектурой:
- в виде сетевых баз данных (одна или несколько связанных баз данных, размешенных в сети);
- в виде проектов баз данных, соединенных с данными на SQL Server
(о клиент-серверной архитектуре в приложениях, связанных с SQL Server, см. гл. 17).
Замечание
Сетевое приложение Access может состоять и из одного компонента, не разделенного на части клиент и сервер, – одной базы данных с разрешенным общим доступом. Но это не эффективное решение.
В этой главе мы говорим о первом способе – сетевых базах данных.
Сетевое приложение Access "Игра в доминирование" должно будет обслуживать нескольких игроков – разных пользователей в сети. Предположим, пользователи работают в одноранговой сети. Рабочие станции пользователей, принимающих участие в игре, можно разделить на две категории: клиенты и серверы. На сервере выполняется ядро игры – управляющий компонент приложения. На клиентских рабочих станциях устанавливается компонент, предоставляющий пользователю интерфейс для участия в игре. Таким образом, приложение "Игра в доминирование" представляет собой распределенную базу данных Access с архитектурой "клиент-сервер", которая может быть использована даже в одноранговой сети. Все участники одной игры подключаются к одному серверу по схеме "звезда" (рис. 16.2).
Рис. 16.2. Архитектура приложения "Игра в доминирование"
Многопользовательский доступ к данным требует организации распределения этого доступа между пользователями и обеспечения защиты этих данных в соответствии.с правами пользователей. Все эти особенности сетевых приложений реализованы в нашем примере, а методы их реализации описаны в данной главе.