Исследование особенностей современной разработки клиент-серверного приложения

Зенков А.А.1, Ефимова Е.В.1, Ажмухамедов И.М.2
1 Ростовский Государственный Экономический Университет (РИНХ), Россия, Ростов-на-Дону
2 Астраханский государственный университет, Россия, Астрахань

Статья в журнале

Информатизация в цифровой экономике (РИНЦ, ВАК)
опубликовать статью | оформить подписку

Том 3, Номер 1 (Январь-март 2022)

Цитировать:
Зенков А.А., Ефимова Е.В., Ажмухамедов И.М. Исследование особенностей современной разработки клиент-серверного приложения // Информатизация в цифровой экономике. – 2022. – Том 3. – № 1. – С. 21-34. – doi: 10.18334/ide.3.1.115220.

Эта статья проиндексирована РИНЦ, см. https://elibrary.ru/item.asp?id=49852349

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

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

JEL-классификация: O3, Q16



Введение

К основным определениям клиент-серверной архитектуры приложений относятся:

– архитектура информационной системы – концепция, определяющая модель, структуру, выполняемые функции и взаимосвязь компонентов информационной системы;

– клиент-сервер – это набор сетевых или вычислительных архитектур, в которых, как правило, нагрузка распределена в зависимости от роли определенной системы, будь то машина, заказывающая определенные услуги, – клиент, или предоставляющая их – сервер;

– сервер – это устройство или программа, которая, обрабатывая запросы клиента, реализует функции каких-либо программ или производит обработку запроса, выдавая конкретный результат;

– клиент – это программа или устройство, являющееся пользователем услуг, которые предоставляет сервер.

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

В современных условиях наблюдается тенденция на непрерывное и динамичное расширение области применения информационных систем, которой также сопутствует постоянное усложнение систем и их программных и физических компонентов [2, 7] (Denisov, 2021; Novikova, 2020). В связи с этим растет важность обеспечения правильного и надежного функционирования данных систем, поскольку многие из них можно охарактеризовать как глобальные, ведь от их влияния зависит деятельность сотен компаний и фирм [4] (Erokhina, Erokhin, 2020). Подобное строение систем обуславливает важность доступа к системе из удаленных друг от друга точек. Данные системы представляют из себя сложнейшие структуры, предоставляющие функционирование компонентов. Так как преимущество данных систем неоспоримо – их количество непрерывно растет, как и требования и условия их применения. При этом процессы реализации и разработки подобных проектов достаточно сложны и отличаются спецификой методов и средств реализации [1, 5, 12, 13] (Babikova, Khanina, 2021; Zhilenkova, Budanova, 2021; Starozhuk, Krasnikova, Rusakova, 2021; Khorovinnikova, 2021). В целях обеспечения успешного функционирования различных фирм и компаний люди вынуждены искать новые способы модернизации оборудования и источников необходимых данных [9–11] (Panshin, Zhukovskaya, 2020; Platonov, 2020; Sopina, Kan, 2020).

Анализ интерфейсов операционной системы

Работы языка программирования С# осуществляются в приложении Visual Studio, создателем которого является корпорация Microsoft. С помощью среды унифицированных сборок библиотек .NET Framework – встроенного компонента Windows, где содержится виртуальная система выполнения (CLR). CLR – это реализация спецификации общеязыковой инфраструктуры (CLI), которая определяет исполнительную архитектуру системы .Net, общеязыковая исполняющая среда является своеобразным фундаментом для создания байт-кода, в котором компилируются программы, разработанные на совместимых с .Net языках программирования, основной его компонент [6, 15, 16] (Robert Sesil Martin, 2019; Akperov, Akperov, Alekseichik et al., 2019; Akperov, Akperov, Alekseichik T.V. et al, 2020).

Код, написанный с помощью языка C# и принятый за исходный, компилируется промежуточный язык (CIL), что соответствует спецификации CLI, которая характеризуется как наиболее распространенная в данной среде. Диск хранит код и растровые изображения в исполняемом файле, который также называется сборкой, чаще всего эти файлы имеют расширения .EXE или .DLL. Помимо всего вышеперечисленного в сборке также хранится информация о настройках региона и о специфике требований безопасности, а также информация о типах сборки, объединенная в манифест.

При старте программного обеспечения на языке C# в промежуточный язык загружается сборка в зависимости от информации в файле. CLR осуществляет компиляцию JIT только при условии выполнения необходимых требований безопасности, иначе процесс преобразования кода в инструкции машинного кода CIL не может быть реализован в полной мере. К числу услуг, которые предоставляются этим кодом, можно также отнести следующие категории функций: сборка мусора, анализ исключений, контроль ресурсов системы. Исходя из специфики CLR-кода, его зачастую называют управляемым кодом. а неуправляемый код, в свою очередь, отличается тем, что в целях корректной работы он компилируется в системный код [8, 14] (Pavlovskaya, 2018; Sharp, 2017).

Специалисты считают межязыковое общение ключевой особенностью .NET Framework. Поскольку код промежуточного языка (СIL), который, в свою очередь, сгенерирован компилятором C#, полностью соответствует спецификации CTS, код C# на основе СIL имеет возможность взаимодействовать с кодом, созданным такими версиями, как Visual Basic или C++, .NET Framework, F# и т.д, более двадцати CTS-совместимых языков [3].

В комплексе одной сборки может быть несколько модулей, написанных на разных языках .NET Framework, и вместе с тем типы данных могут содержать ссылки друг на друга в таком случае, как если бы они писались на одном языке.

В дополнение к сервисам времени выполнения .NET Framework также имеет многочисленную библиотеку из более чем четырех тысяч классов пространств имен, имеющих возможность предоставить более широкий спектр функционала для разного рода действий, начиная от входных и выходных файлов до управления строками для разделения XML-файлов и заканчивая элементами управления Windows Forms, включая новые WPF-формы. В характерном приложении на C# библиотека классов .NET Framework повсеместно используется для кода устройства.

Для взаимодействия с дополнительными функциями ОС семейства Windows требуется подключение системной библиотеки Windows API – среди которых есть необходимый набор основных функций интерфейсов прикладного программирования, основанных на системах Microsoft Windows. Данные интесфейсы обеспечивают прямой способ взаимодействия приложений с операционной системой Windows. Компания Microsoft выпускает программный пакет Platform SDK, который содержит такие инструменты разработки, как документация, набор библиотек, утилит и т.д.

Windows API – это набор функций, структур данных и числовых констант, соответствующих соглашениям C. Windows API часто используют stdcall (winapi). Все языки, которые могут вызывать данные функции и работать с этими типами данных в среде Windows, могут использовать этот API. Чтобы упростить программирование под Windows, Microsoft и сторонние разработчики предпринимали множество попыток создать библиотеки и среды программирования, которые частично или полностью скрывают функции API-интерфейса Windows от программиста и делают ту или иную часть его возможностей наиболее удобным для ввода в эксплуатацию способом.

Обзор разработанного программного обеспечения

Данный программный продукт включает в себя два исполняемых модуля: формы пользователя и локальный сервер. При запуске программы открывается окно авторизации пользователя в соответствии с рисунком 1.

Рисунок 1. Окно авторизации пользователя

Введя данные пользователя и кликнув на кнопку «Войти», открывается главное окно пользователя с доступом к общему чату, файлообменнику и настройкам, ввод данных пользователем представлен на рисунке 2.

Рисунок 2. Ввод данных пользователем

При вводе неверного логина или пароля пользователь увидит сообщение с данной ошибкой (представлено на рисунке 3).

Рисунок 3. Окно ошибки «Неверный логин или пароль»

Если у пользователя нет аккаунта, он может его создать в окне регистрации, для доступа к нему необходимо кликнуть на «Зарегистрироваться», окно регистрации представлено на рисунке 4.

Рисунок 4. Окно регистрации

Пользователю необходимо ввести логин, которого нет в базе данных, если логин занят, программа выдаст ошибку «Логин занят», как представлено на рисунке 5.

Рисунок 5. Окно ошибки «Логин занят»

При успешной регистрации пользователь увидит окно «Зарегистрирован» и будет перенаправлен на окно авторизации, на рисунках 6 и 7 представлен вход в программу под учетной записью «Andrey» и созданный в базе данных аккаунт «Aleksandr».

Рисунок 6. Главное окно с приветствием пользователя по нику

Рисунок 7. Пользователь «Aleksandr» добавлен в базу данных

После успешной авторизации, пользователь может выбрать один из трех пунктов, выбрав первый, он перейдет в общий чат, нажав на кнопку «подключиться», пользователь в окне чата увидит надпись об успешном подключении, также системный администратор в консольном сервере увидит это сообщение (представлено на рисунках 8 и 9).

Рисунок 8. Общий чат

Рисунок 9. Сообщения на сервере

Пользователь может отправить личное сообщение или файл напрямую другому пользователю через контекстное меню справа, нажав правой кнопкой по нужному пользователю (представлено на рисунках 10 и 11).

Рисунок 10. Диалоговое окно

Рисунок 11. Диалоговое окно принятия файла

Нажав на «Личное сообщение», пользователь отправляет сообщение, которое видит только человек, которому адресовано сообщение. При нажатии на «Отправить файл» пользователь увидит стандартное диалоговое окно Windows с выбором файла.

При выборе меню «Диск» пользователь получает доступ к файловому менеджеру, который по умолчанию настроен администратором на открытие локального сетевого хранилища, представлено на рисунке 12. При клике на файл пользователь снизу увидит его название и расширение, при двойном клике происходит открытие файла или папки.

Рисунок 12. Файловый менеджер

В меню «Настройки» пользователь может выбрать две темы приложения, измененная тема представлена на примере общего чата. Возможность менять тему предусмотрена в любой момент пользования программным продуктом. По своей сути светлая тема является инверсией стандартной темы.

Заключение

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


Источники:

1. Бабикова А.В., Ханина А.В. Ориентиры инновационного развития современных организаций в контексте глобальных трендов информационной экономики // Вопросы инновационной экономики. – 2021. – № 2. – c. 717-728. – doi: 10.18334/vinec.11.2.112225.
2. Денисов Д.Ю. Современные информационные системы поддержки управленческих решений // Вопросы инновационной экономики. – 2021. – № 4. – c. 1427-1437. – doi: 10.18334/vinec.11.4.113992.
3. Документация по C#. Docs.microsoft.com. [Электронный ресурс]. URL: https://docs.microsoft.com/ru-ru/dotnet/csharp (дата обращения: 24.01.2022).
4. Ерохина Е.В., Ерохин И.И. Риски информатизации и интеллектуализация в системе информационной безопасности Российской Федерации // Экономическая безопасность. – 2020. – № 2. – c. 187-196. – doi: 10.18334/ecsec.3.2.110270.
5. Жиленкова Е.П., Буданова М.В. Управление талантами как элемент развития интеллектуального капитала организации, функционирующей в условиях цифровой экономики и прогресса информационных технологий // Лидерство и менеджмент. – 1918. – № 2. – c. 201-212. – doi: 10.18334/lim.8.2.111918.
6. Роберт Сесил Мартин Clean Code. - Санкт-Петербург: Питер, 2019. – 464 c.
7. Новикова С.И. Особенности современных коммуникационно-информационных систем, оценка полезности и эффективности информации как ресурса // Вопросы инновационной экономики. – 2020. – № 1. – c. 497-510. – doi: 10.18334/vinec.10.1.100435.
8. Павловская Т.А. C/C++. Процедурное и объектно-ориентированное программирование. / Учебник для вузов. - Санкт-Петербург: Питер, 2018. – 496 c.
9. Паньшин И.В., Жуковская И.Ф. Эффект цифровизации при отчуждении труда: новый взгляд на формирование информационного капитала // Экономика труда. – 2020. – № 10. – c. 867-886. – doi: 10.18334/et.7.10.110896.
10. Платонов В.В. Визуализация больших данных в экономических науках в условиях информационного общества // Вопросы инновационной экономики. – 2020. – № 4. – c. 1831-1848. – doi: 10.18334/vinec.10.4.111373.
11. Сопина Н.В., Кан Е.Н. Зависимость уровня конкурентоспособности России от степени развития сектора информационно-коммуникационных технологий // Экономические отношения. – 2020. – № 2. – c. 395-408. – doi: 10.18334/eo.10.2.100859.
12. Старожук Е.А., Красникова А.С., Русакова А.С. Применение информационных технологий на различных этапах жизненного цикла продукции // Экономика. – 2021. – № 2. – c. 107-122. – doi: 10.18334/evp.2.2.112008.
13. Хоровинникова Е.Г. Принятие управленческих решений по внедрению информационных технологий в HR-менеджмент // Лидерство и менеджмент. – 2021. – № 3. – c. 329-340. – doi: 10.18334/lim.8.3.112383.
14. Джон Шарп Microsoft Visual C#. Подробное руководство. - Санкт-Петербург: Питер, 2017. – 848 c.
15. Akperov I.G., Akperov G.I., Alekseichik T.V. et al. Soft models of management in terms of digital transformation. - Rostov-on-Don: PEI HE SU (IUBIP), 2019. – 188 p.
16. Akperov I.G., Akperov G.I., Alekseichik T.V. et al Soft models of management in terms of digital transformation. - Rostov-on-Don : PEI HE SU (IUBIP), 2020. – 256 p.

Страница обновлена: 14.11.2023 в 11:22:48