Диплом: Автоматизация и обеспечение информационной безопасности процесса приема техники на ремонтные работы в ОАО Samsung Service

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
78
Сервер приложений разработан при помощи технологии Delphi XE2
DataSnap. Передача данных между клиентом и сервером осуществляется через
протокол TCP.
Сервер приложений взаимодействует с базой данных через СУБД Mysql.
Подключение к базе данных выполняется через технологию ADO.
В структуре сервера можно выделить две основные части: Модуль
управления сервером (TdmServer) и модуль предоставления данных
(TdssmRemoteData). Описание модулей приведено ниже.
Таблица 2.10
Структура сервера приложений
Название модуля
Описание
Функции
1
TdmServer
Содержит компоненты для
подключения к системе
управления базами данных
(через ADO) и компоненты
для организации сервера
приложений (передача
данных выполняется через
протокол TCP).
Подключение к СУБД.
Управление сервером
приложений (установка
соединений с
клиентскими
приложениями,
аутентификация
пользователей, передача
данных клиентам).
2
TdssmRemoteData
Модуль системы, который
определяет доступные
клиенту данные и
функциональность системы.
Экземпляр данного модуля
создается для каждого
подключенного клиента.
Авторизация.
Предоставление данных;
Предоставление
функциональности;
2.3.4. Описание программных модулей
Модуль управления сервером
При инициализации данного модуля автоматически выполняется
инициализация соединения с базой данных. Параметры соединения содержаться в
файле Settings.ini. Если соединение с базой данных по каким-то причинам не
удалось установить, то сервер выдаст сообщение о невозможности дальнейшей
работы, т.е. успешное подключение к базе данных обязательное условии запуска
сервера.
79
Рисунок 2.19 Состав модуля TdmServer
Cервер передает данные по протоколу TCP (за это отвечает компонент
DSTCPServerTransport). Потому, для сервера должен быть задан порт
прослушивания. В нашем случае он имеет значение 5000.
При подключении, на сервере создается отдельный поток. Клиент в
обязательном порядке передает данные для выполнения аутентификации (логин и
пароль), проверку которых выполняет компонент DSAuthenticationManager. В
случае успешного прохождения процедуры аутентификации, для передачи данных
между сервером и клиентом, DSServer создаст интерфейс взаимодействия. Этим
интерфейсом является экземпляр класса TdssmRemoteData.
В случае ошибки аутентификации сервер вызывает исключение и
уничтожает поток, который был создан для данного подключения.
80
Рисунок 2.20 Состав класса TdmServer
Таблица 2.11
Поля класса
public TADOConnection
adoConnection
Компонент соединения с базой данных
через ADO
public TDSAuthenticationManager
DSAuthenticationManager
Компонент аутентификации
public TDSServer
DSServer
Компонент управления сервера
public TDSServerClass
DSServerClass
Компонент определения серверного класса
public TDSTCPServerTransport
DSTCPServerTransport
Транспорт сервера (как будут передаваться
данные)
internal TIniFile
FSettings
Компонент для работы с файлом настроек
Таблица 2.12
Методы класса
public Sub
DataModuleCreate(Sender: TObject)
Обработчик события "Создание модуля данных"
public Sub
DSAuthenticationManagerUserAuthenticate(Sender: TObject;
Protocol: string; Context: string; User: string; Password: string; valid:
Boolean; UserRoles: TStrings)
Обработчик события "Аутентификация"
public Sub
DSServerClassGetClass(DSServerClass: TDSServerClass;
81
PersistentClass: TPersistentClass)
Обработчик события "Получить серверный класс"
public Sub
DSTCPServerTransportConnect(Event: TDSTCPConnectEventObject)
Обработчик события "Присоединение клиента"
public Sub
DSTCPServerTransportDisconnect(Event:
TDSTCPDisconnectEventObject)
Обработчик события "Отсоединение клиента"
public
function
TADOQuery
GetQuery(SQL: String)
Функция получения набора данных через произвольный SQL
запрос
public
function
TADOTable
GetTable(TableName: String)
Функция получения набора данных по имени таблицы (запроса)
public
function Integer
GetUserKey(Login: String; Password: String; Blocked: Boolean;
UserType: Integer)
Функция поиска идентификатора пользователя по логину и
паролю
Интерфейс взаимодействия
Как было сказано выше, экземпляр класса TdssmRemoteData создается после
успешной аутентификации и служит для предоставления клиентскому приложению
определенных данных и функциональности сервера.
Рисунок 2.21 Состав модуля TdssmRemoteData
82
Цепочка передачи данных между клиентом и сервером выглядит так:
Компонент подключения к БД (TADOConnection);
Набор данных (TADOTable или TADOQuery);
Провайдер набора данных (TDataSetProvider);
Компонент клиентского соединения (TSQLConnection);
Клиентский компонент соединения с провайдером данных
(TDSProviderConnection);
Клиентский набор данных (TClientDataSet).
Пункты 1, 2, 3 – выполняются на стороне сервера, а пункты 4, 5, 6 – на
стороне клиента. Компоненты класса TDataSetProvider служат для определения
прав доступа и настройки параметров передачи данных клиенту. В его настройках
можно указать такие параметры как: доступность набора данных для клиента,
режим «только чтение», запрет редактирования, запрет вставки, запрет удаления и
т.д.
Клиент
Основой клиентской части является модуль TdmData. Модуль выполняет
следующие функции: соединение с сервером; управление предоставленными
сервером наборами данных; получение доступа к функциональности сервера
(создание проекции интерфейса взаимодействия «TdssmRemoteData»).
Для подключения к серверу используется компонент SQLConnection. В
качестве параметров подключения мы указываем: тип подключения (DataSnap); IP-
адрес сервера; порт подключения (5000); протокол взаимодействия (в нашем
случае TCP); логин и пароль пользователя.
Для доступа к функциональности и данным сервера используется
специальный компонент DSProviderConnection, который необходим для
подключения клиентского набора данных (TClientDataSet) к провайдеру набора
данных (TDataSetDrovider).
После успешного подключения к серверу выполняется активация доступных
наборов данных (открытие набора данных).
После открытия набора пользователь может редактировать набор данных
через визуальные компоненты (такие как TDBGrid, TDBEdit, TDBMemo,
83
TDBImage, TDBNavigator и т.д.), разработанные специально для работы с базами
данных. Но визуальные компоненты подключаются не напрямую к клиентскому
набору данных, а используют специальный «посредник» (объект класса
TDataSource) который призваны унифицировать использование визуальных
компонентов с различными типами наборов данных.
Клиент также получает доступ к интерфейсу взаимодействия сервера
TdssmRemoteData. На стороне клиента, через компонент DSProviderConnection,
создается «проекция» класса TdssmRemoteData, в которую входят все методы
серверного класса со спецификатором public. Класс «проекция» инициализируется
сразу после подключения клиента к серверу.
Все отчеты системы сконцентрированы в модуле TdmReport и формируются
при помощи генератора отчетов «FastReports». Простота в использовании, высокая
производительность и надежность генератора отчетов делают его
непревзойденным лидером в своей области. Концентрация всех отчетов в одном
модуле, а также использование компонента TActionManager позволяет с легкостью
вызывать отчеты из различных модулей интерфейса системы. Ядро Fast Reports
позволяет экспортировать созданные отчеты в различные форматы: PDF, XLS,
ODT, RTF и т.д.
Рисунок 2.22 Состав модуля TdmReport
84
2.4. Контрольный пример реализации проекта и его описание
Рассмотрим порядок работы системы, начиная с администратора,.
Администратор управляет работой системы, включая редактирование
справочников, удаление и добавление записей в них.
После авторизации администратор видит главную форму программы со
списком поступивших заявок.
Рисунок 2.23 Главная форма программы
Поступившую заявку можно отправить на выполнение в определенный цех.
Рисунок 2.24 Выбор отдела
Для этого нужно выбрать наименование подразделения.
Также администратор заполняет справочники и получает отчеты. На
рисунке приведена форма справочника Оборудование.
85
Рисунок 2.25 Справочник Оборудование
Рисунок 2.26 Справочник Ремонтное подразделение
86
Рисунок 2.27 Справочник Статус заявки
Также администратор учитывает данные по запчастям, находящимся на
складе.
Рисунок 2.28 Учет запчастей на складе
И управляет пользователями, Добавляя, удаляя и редактируя их данные.
87
Рисунок 2.29 Пользователи
Работник цеха после авторизации также видит форму со списком заявок и их
статусом.
Рисунок 2.30 Учет заявок
Для добавления заявки вначале выбирается оборудование, причем дважды
заявку на одно и тоже оборудование подать нельзя.
Далее необходимо ввести информацию по заявке.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)