Программная система должна быть сетевой и многопользовательской. База данных системы будет располагаться на сервере и доступ к ней должен быть получен с нескольких компьютеров.
Чтобы выполнить данные требования, будет применяться технология «клиент-сервер».
Серверная часть веб-приложения — это программа или скрипт на сервере, обрабатывающая запросы пользователя (точнее, запросы браузера). Чаще всего серверная часть веб-приложения программируется на PHP. При каждом переходе пользователя по ссылке браузер отправляет запрос к серверу. Сервер обрабатывает этот запрос, вызывая некоторый PHP-скрипт, который формирует веб-страницу, описанную языком HTML, и отсылает клиенту по сети. Браузер тут же отображает полученный результат в виде очередной веб-страницы.
Клиентская часть веб приложения — это графический интерфейс. Он отображается в браузере. Пользователь взаимодействует с веб-приложением именно через браузер, кликая по ссылкам и кнопкам.
База данных (БД, или система управления базами данных, СУБД) — программное обеспечение на сервере, занимающееся хранением данных и их выдачей в нужный момент. Серверная часть веб-приложения т.е., PHP скрипт, обращается к базе данных, извлекая данные, которые необходимы для формирования страницы, запрошенной пользователем.
«Клиент-сервер» означает такой способ взаимодействия программных компонентов, при котором они образуют единую систему. Как видно из самого названия, существует некий клиентский процесс, требующий определённых ресурсов, а также серверный процесс, который эти ресурсы предоставляет.
При этом совсем необязательно, чтобы они находились на одном и том же компьютере. На практике принято размещать сервер на одном узле локальной сети, а клиенты — на других узлах. На рисунке 1 показана архитектура типа «клиент-сервер».
Клиент управляет пользовательским интерфейсом и логикой приложения, действуя как сложная рабочая станция, на которой выполняются приложения баз данных. Клиент принимает от пользователя запрос, проверяет синтаксис и генерирует запрос к базе данных на языке SQL, который соответствует логике приложения. Затем он передаёт сообщение серверу, ожидает поступления ответа и форматирует полученные данные для представления их пользователю. Сервер принимает и обрабатывает запросы к базе данных, а затем передаёт полученные результаты обратно клиенту.
Такая обработка включает проверку полномочий клиента, обеспечение требований целостности, поддержку системного каталога, а также выполнение запроса и обновление данных. Помимо этого, поддерживается управление параллельностью и восстановлением.
Возвращаемые результаты запроса
|
Рисунок 1 – Общая схема построения систем с архитектурой «клиент/сервер»
Таблица 1 – Функции, выполняемые участниками взаимодействия в среде «клиент-сервер»
Клиент
| Сервер
|
- Управляет пользовательским интерфейсом
- Принимает и проверяет синтаксис введённого пользователем запроса
- Выполняет приложение
- Генерирует запрос к базе данных и передаёт его серверу
- Отображает полученные данные пользователю
| - Принимает и обрабатывает запросы к базе данных со стороны клиентов
- Проверяет полномочия пользователей
- Гарантирует соблюдение ограничений целостности
- Выполняет запросы/обновления и возвращает результаты клиенту
- Поддерживает системный каталог
- Обеспечивает параллельный доступ к базе данных
- Обеспечивает управление восстановлением
|
Преимущества данного типа архитектуры:
1. Обеспечивается более широкий доступ к существующим базам данных.
2. Повышается общая производительность системы. Поскольку клиенты и сервер находятся на разных компьютерах, их процессоры способны выполнять приложения параллельно. При этом настройка производительности компьютера с сервером упрощается, если на нём выполняется только работа с базой данных.
3. Стоимость аппаратного обеспечения снижается. Достаточно мощный компьютер с большим устройством хранения нужен только серверу – для хранения и управления базой данных.
4. Сокращаются коммуникационные расходы. Приложения выполняют часть операций на клиентских компьютерах и посылают через сеть только запросы к базе данных, что позволяет существенно сократить объём пересылаемых по сети данных.
5. Повышается уровень непротиворечивости данных. Сервер может самостоятельно управлять проверкой целостности данных, поскольку все ограничения определяются и проверяются только в одном месте. При этом каждому приложению не придётся выполнять собственную проверку.
2.2 Характеристика СУЭД
В процессе разработки было создано веб-приложение, представляющее собой систему управления электронными документами (СУЭД). В качестве средства разработки был выбран язык PHP, специально предназначенный для создания веб-приложений. Веб-приложение выполняет стандарт ISO 17025, который в целом базируется на концепции централизованного хранения документов, ограниченного доступа и отслеживании изменений, а также стандарт МЭБ для управления документами.
В проекте реализовано:
- Управление пользователями и отделами:
Только администратор может добавлять пользователей и отделы. Он назначает им права доступа к файлам. Возможно добавлять любое количество сотрудников. Права могут быть установлены как ограничительные, так и разрешающие.
- Централизованное хранение документов:
Централизованное хранение документов делает поиск документов в СУЭД намного проще, так как поиск производится только в одной области.
- Ограниченный доступ:
Система позволяет ограничивать доступ к документам каждому пользователю или отделу.
- Отслеживание изменений:
Действия по изменению, добавлению и удалению файлов отслеживаются. СУЭД будет фиксировать изменения файлов, чтобы в случае необходимости просмотреть их.