Разработка информационного обеспечения электронного документооборота
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
В°дресной книге. При нажатии кнопки Добавить на данной закладке срабатывает функция занесения пользователя в базу данных в специальном классе. При этом пароль не записывается в открытом виде, а преобразуется в md5-хэш с помощью встроенных в язык C# средств.
Следует добавить, что при занесении пользователя в БД, ему присваивается пара ключей для возможности подписывать документы в электронном виде. Это, так называемая, электронная цифровая подпись. Она служит для того, чтобы можно было удостовериться, что данные получены от соответствующего лица. Для этого применяются методы хеширования и шифрования с открытым ключом. То есть, один ключ у пользователя открытый и доступен всем остальным для проверки его подписи, а другой - секретный. С помощью секретного ключа и подписывается документ. Такой способ позволяет включить механизм согласования и подтверждения исполнения документов.
Итак, как только занесен первый пользователь, становится возможным начать работу со стороны программы-клиента. За подключение клиента к программе-серверу отвечает класс SServerNetwork. В нем реализован бесконечный цикл, ожидающий сигнала от клиента. Как только получена специальная команда в этот цикл, базирующаяся на принципах вышеописанной технологии TCP Sockets, создается отдельный поток для работы с клиентом в его собственном пространстве. Поток - это независимый путь исполнения, способный выполняться одновременно с другими потоками[36]. Таким образом, сервер ведет работу со своими клиентами параллельно, и возможные ошибки, вызванные при работе с одним клиентом, не повлияют на остальную работу в целом.
Далее, внутри потока ведется, так называемый, диалог программ клиента и сервера. Клиент посылает команды, а сервер обрабатывает их во внутреннем бесконечном цикле и посылает ответ клиенту. Сами команды созданы в XML формате, а на клиенте и сервере опознаются при помощи специальных разборщиков этого кода, встроенных в классы языка C#.
XML (англ. .
Целью создания XML было обеспечение совместимости при передаче структурированных данных между разными системами обработки информации , то есть, не зная смыслового значения элементов[43].
Затем класс SServerNetwork для выполнения задач сервера обращается к классу MySqlOperations. Этот участок кода (MySqlOperations) служит средством общения с базой данных. Он содержит набор функций, наполненных запросами на языке SQL. Получается, что SServerNetwork вызывает MySqlOperations, записывает или читает данные базы и отправляет ответ клиенту.
Так устроена система работы программы сервера. Фактически она является посредником между клиентом и хранилищем данных, играет роль анализатора запросов и обработки информации.
Клиентская часть ИС
Программа-клиент является очень важным звеном в этом проекте. Она исполняет роль средства ввода, вывода, поиска и группировки информации. Именно с этой программой и работают пользователи, именно она и должна быть результатом дизайнерской мысли; простой, привлекательной, а также эргономичной. Этих основных принципов я и придерживался при создании данной части проекта.
Клиентская часть программы более объемна по сравнению с серверной. В ней содержится 15 функциональных классов, 12 диалоговых окон, 5873 строка кода, 2762 знаков точки с запятой, 381 операторов if и 55 операторов for.
Данная программа также содержит некий сетевой класс SNetwork для взаимодействия с программой-сервером. В нем содержатся два основных типа отправки/передачи данных: бинарные (для передачи документов, как они есть) и текстовые - основной способ пересылки XML-запросов. В основном, при сетевом взаимодействии с сервером данные передаются как имя команды и XML-строка с набором полей. Формирование такой строки происходит непосредственно на клиенте, как и разбор подобных ответов от сервера. Такой способ обмена информацией позволяет легко расширять наборы данных для отправки другой программе, а также приблизиться к стандарту, что делает прогр