Размер
РЕАЛИЗАЦИЯ СЕРВЕРНОЙ ЧАСТИ ПРОГРАММЫ ДЛЯ АСУ «ХУДОЖЕСТВЕННАЯ ШКОЛА» И ОПИСАНИЕ ЕЕ ВЗАИМОДЕЙСТВИЯ С КЛИЕНТСКОЙ ЧАСТЬЮ
Play

РЕАЛИЗАЦИЯ СЕРВЕРНОЙ ЧАСТИ ПРОГРАММЫ ДЛЯ АСУ «ХУДОЖЕСТВЕННАЯ ШКОЛА» И ОПИСАНИЕ ЕЕ ВЗАИМОДЕЙСТВИЯ С КЛИЕНТСКОЙ ЧАСТЬЮ

В статье приводится детальная реализация серверной части программы для автоматизированной системы управления «Художественная школа», которая разработана для автоматизации работы детской художественной школы. И описывается взаимодействие клиента с сервером.

ABSTRACT

The article provides a detailed implementation of server-side software for the automated “Art School” management system, which is designed to automate the children's art school. And describes the client's interaction with the server.

Ключевые слова: клиент, сервер, взаимодействие, база данных.

Keywords: client, server, interaction, database.

В ЦЭВД «Детская картинная галерея» г. Магнитогорска была разработана автоматизированная система «Художественная школа», позволяющая облегчить работу преподавателей, предоставлять информацию о работе художественной школы, учащихся и их достижениях, что позволяет снизить материальные и временные затраты.

В связи с этим отдельно была разработана клиентская и серверная части.

Архитектура «Клиент-сервер» – технология, разделяющая приложение СУБД на две части: клиентскую (интерактивный графический интерфейс, расположенный на компьютере пользователя) и сервер, собственно осуществляющий управление данными, разделение информации, администрирование и безопасность, находящийся на выделенном компьютере.

В среде Microsoft SQL Server 2005 была спроектирована база данных ArtSchool, состоящая из следующих связанных таблиц: UType (информация о типах пользователей системы), Users (каждый пользователь системы), Year (информация об учебных годах), Studio (информация о студиях), Group (информация по каждой группе), Week (дни недели), Timetable (расписания занятий каждой группы), Child (информация по каждому ученику), Parents (информация о родителях), Family (информация о семье каждого ученика), WType (информация о типах работ), RType (информация о категориях наград), Work (сведения обо всех работах учеников), Competition (информация о конкурсах и выставках), Level(информация об уровнях проводимых конкурсов), Reward (информация о наградах), EType (информация о типах мероприятий), Event (информация о каждом прошедшем мероприятии), FotoEvent (имена файлов с фотографиями мероприятий).

Добавление, редактирование и удаление записи выполняется с помощью SQL-команды к базе данных, осуществляемой компонентом ADOQuery.

Создание клиент-серверного звена осуществляется при помощи компонентов Indy. Для этого понадобятся компоненты TIdTCPServer (находится на странице «Indy Servers») и TIdTCPClient (находится на странице «Indy Clients»). Таким образом, у нас получится две программы: приложение-клиент, построенное на базе компонента TIdTCPClient и приложение-сервер на базе компонента TIdTCPServer.

На сервере и клиенте указываются значения их свойств, необходимых для успешного соединения между собой.

Со стороны сервера создается объект типа TidSocketHandle и настраиваются его свойств – IP и Port, т. е. задаются IP адрес клиента и порт, на котором сервер будет его «ждать». Значение номера порта выбирается произвольно и задается заведомо большое значение для того чтобы избежать риска дублирования уже использующихся портов другими службами.

Запуск сервера осуществляется установкой свойства Active в True.

После запуска сервер «слушает» назначенный порт, т. е. «ждёт» соединения от клиента по заданному порту и IP адресу. После установления соединения с клиентом, сервером генерируются события OnConnect и OnExecute. Для разрыва соединения применяется метод TCPServer1.Disconnect. При подключении каждого клиента создаётся отдельный поток, который и обслуживает каждого клиента в отдельности. В дальнейшем работа сервера с клиентом сводится к использованию набора методов и свойств потока AThread.

Отправка сообщения производится сервером в обслуживающем клиента потоке с помощью функции WriteLn.

Функция TMainForm.StartServer типа Boolean осуществляет запуск сервера. Для объекта IdTCPServer устанавливаем свойство Active в значение True, таким образом, сервер становится активным. Если сервер работает нормально, без ошибок, то в его окне отображается строчка «Сервер работает».

Возможно добавление сообщений в окно сервера. Остановка сервера описана функцией TMainForm.StopServer. При установлении свойства Active в значение False сервер становится неактивным, работа сервера прекращается. При запуске сервера создается форма. Закрытие формы осуществляет процедура TMainForm.FormDestroy.

Вид окна сервера представлен на рисунке 1, в окне сервера есть кнопки запуска , остановки , перезагрузки , очистки окна сервера и кнопка минимизации окна .

Рисунок 1. Окно сервера «Художественная школа»

Сервер «Художественная школа» располагается в трее. Для создания иконке в трее используется приложение ShellApi.

При сворачивании окна сервера на панель задач происходит скрытие главной формы, а иконка из трея исчезает.

Можно произвести подключение клиента к серверу. В окне сервера указывается IP адрес клиента. А после завершения работы отключить.

Требования к техническому обеспечению: IBM-совместимый компьютер с тактовой частотой процессора 200 МГц и выше, с оперативной памятью 512 МБ и выше, разрешением дисплея не ниже 800x600 dpi.

Требования к программному обеспечению: Windows XP или Windows 2000 Service Pack 2 и выше; на сервере локальной сети должна быть установлена и настроена СУБД Microsoft SQL Server 2005 для используемой операционной системы.

Таким образом, разработанная серверная часть находится в тесном взаимодействии с клиентской частью и позволяет уменьшить сложность клиентского приложения, повысить целостность и безопасность базы данных.

📎📎📎📎📎📎📎📎📎📎