Главная » Просмотр файлов » Пояснительная записка

Пояснительная записка (1231620), страница 4

Файл №1231620 Пояснительная записка (Система онлайн консультирования клиентов ООО Анкор-Амур) 4 страницаПояснительная записка (1231620) страница 42020-10-06СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

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

Полнодуплексный (дуплексный) режим – режим, при котором передача данных может производиться одновременно с приёмом данных.

Дуплексная связь обычно осуществляется с использованием нескольких каналов связи: первый канал – исходящая связь для первого устройства и входящая для второго, второй канал – исходящая для второго устройства и входящая для первого.

Суммарная скорость обмена информацией по каналу связи в данном режиме может достигать своего максимума. Например, если используется технология Fast Ethernet [20] со скоростью 100 Мбит/с, то скорость может быть близка к 200 Мбит/с (100 Мбит/с – передача и 100 Мбит/с – приём).

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

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

Для удовлетворения требований сети необходимо выбрать наиболее оптимальный протокол передачи данных. Обоснование выбора описано в главе 3.



3 Средства по решению поставленной задачи

Для перехода к собственной реализации системы онлайн-консультанта, необходимо:

– выбрать язык программирования;

– выбрать среду разработки;

– выбрать способ передачи информации между сервером и клиентским модулем;

– выбрать способ обмена данными между серверным модулем и web-виджетом;

– выбрать систему управления базами данных, для хранения информации серверным приложением.

3.1 Выбор языка программирования

Первая и основная задача, стоящая перед тем, как начинать разрабатывать сервер для предприятия – выбрать язык, на котором будет разрабатываться приложение сервера.

В настоящее время достаточно большое количество языков высокого уровня, для написания такого типа программ. Это С, C++, C#, Ada, Groovy, Ruby и многие другие [21-23]. Для того чтобы выбрать подходящий язык программирования необходимо, чтобы он удовлетворял ряду требований:

– объектная ориентированность языка;

– переносимость приложений с одной платформы на другую (кроссплатформенность);

– большой комплект готовых библиотек;

– возможность работы на низком уровне с памятью, адресами и портами;

– многопоточность и многозадачность.

Исходя из вышеперечисленных требований для разработки приложения «онлайн-консультант» выбран язык Java [24]. Он имеет следующие достоинства:

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

– безопасность. Функционирование программы полностью определяется (и ограничивается) виртуальной Java-машиной. Отсутствуют указатели и другие механизмы для непосредственной работы с физической памятью и прочим аппаратным обеспечением компьютера;

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

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

– стандартные библиотеки. Многие задачи, встречающиеся при разработке программного обеспечения, уже решены в рамках стандартных библиотек. Использование объектно-ориентированного подхода позволяет легко использовать готовые объекты в своих программах. Для запуска приложения необходима установка JRE, содержащего полный набор библиотек, даже если все они не используются в приложении;

– самодокументируемый код. Имеется механизм автоматического генерирования документации на основе комментариев, размещенных в тексте программ;

– многообразие типов приложений. На языке Java возможно реализовать абсолютно разные по способу функционированию и сфере использования программы;

– объектная ориентированность. Java является сравнительно простым объектно-ориентированным языком программирования, который позволяет сравнительно удобно использовать все принципы ООП.

Java – объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle), официально выпущен 23 мая 1995 года.

Изначально язык назывался Oak («Дуб») разрабатывался Джеймсом Гослингом для программирования бытовых электронных устройств. Впоследствии он был переименован в Java и стал использоваться для написания клиентских приложений и серверного программного обеспечения.

Язык назван в честь марки кофе Java, которая, в свою очередь, получила наименование одноимённого острова (Ява), поэтому на официальной эмблеме языка изображена чашка с горячим кофе.

Существует несколько основных семейств технологий Java:

– Java SE (Java Standard Edition), основное издание Java, содержит компиляторы, API, Java Runtime Environment; подходит для создания пользовательских приложений, в первую очередь – для настольных систем;

– Java EE (Java Enterprise Edition) представляет собой набор спецификаций для создания программного обеспечения уровня предприятия;

– Java ME (Java Micro Edition) создана для использования в устройствах, ограниченных по вычислительной мощности, например, в мобильных телефонах, КПК, встроенных системах;

– JavaFX – технология, являющаяся следующим шагом в эволюции Java как Rich Client Platform; предназначена для создания графических интерфейсов корпоративных приложений и бизнеса.

– Java Card – технология предоставляет безопасную среду для приложений, работающих на смарт-картах и других устройствах с очень ограниченным объёмом памяти и возможностями обработки [25-26].

3.2 Выбор среды разработки

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

Среди большого числа сред можно выделить следующие: Java Studio, JBuilder [27], NetBeans, Visual J++, IntelliJ IDEA и многие другие. Эти среды разработки очень хороши для написания программ, имеют привлекательные интерфейс, удобны в использовании, а также снабжены рядом полезных функций. Но для написания приложения будет использовано программное обеспечение Eclipse.

Есть ряд преимуществ:

– Eclipse предоставляет согласованный набор функций на большинстве платформ, т.е. независимо от того, какая платформа используется, Eclipse выступает как приложение, созданное для этой платформы. При загрузке дистрибутива Eclipse загружается версию для выбранной пользователем платформы. Eclipse обладает отдельными визуальными инструментариями для каждой из платформ. Это позволяет ему выглядеть естественно и улучшает производительность;

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

– Eclipse предоставляет открытый исходный код и представляет собой бесплатный продукт, к тому же с полной поддержкой разработчиками;

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

– полностью подходит для работы на предприятиях. Корпорация IBM разрабатывала Eclipse как патентованную платформу, однако в 2004-м году IBM помогла сформировать некоммерческий фонд Eclipse для осуществления надзора за дальнейшей разработкой технологии. Теперь совет директоров Eclipse одобряет новые подпроекты, а фонд привлекает коммерческие организации, академические и исследовательские организации, группы стандартов и так далее для того, чтобы проект Eclipse всегда находился на переднем крае индустрии инструментов разработки.

3.3 Выбор способа передачи между серверным модулем и клиентским приложением

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

Язык Java делает сетевое программирование простым благодаря наличию специальных средств и классов. Существует некоторый ряд сетевых приложений. Internet-приложения включают Web-браузер, e-mail, сетевые новости, передачу файлов и telnet. Основные используемые протоколы – TCP и IP. Приложения клиент/сервер используют компьютер, выполняющий специальную программу – сервер, которая предоставляет услуги другим программам – клиентам. Клиент – это программа, получающая услуги от сервера. Клиент-серверные приложения основаны на использовании, в первую очередь, прикладных протоколов стека TCP/IP, таких как:

– HTTP – Hypertext Transfer Protocol [19] (WWW);

– NNTP – Network News Transfer Protocol [28] (группы новостей);

– SMTP – Simple Mail Transfer Protocol [29] (посылка почты);

– POP3 – Post Office Protocol [30] (чтение почты с сервера);

– FTP – File Transfer Protocol [31] (протокол передачи файлов);

– TELNET [32] – Удаленное управление компьютерами.

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

Сокеты – это сетевые разъемы, через которые осуществляются двунаправленные поточные соединения между компьютерами. Сокет определяется номером порта и IP-адресом. При этом IP-адрес используется для идентификации компьютера, номер порта – для идентификации процесса, работающего на компьютере. Когда одно приложение знает сокет другого, создается сокетное соединение. Клиент пытается соединиться с сервером, инициализируя сокетное соединение. Сервер ждет, пока клиент не свяжется с ним. Первое сообщение, посылаемое клиентом на сервер, содержит сокет клиента. Сервер в свою очередь создает сокет, который будет использоваться для связи с клиентом, и посылает его клиенту с первым сообщением. После этого устанавливается коммуникационное соединение.

Соединение сокетов очень удобно тем, что связь двунаправленная и параллельная, что позволяет одновременно передавать информацию как от сервера клиенту, так и от клиента серверу.

3.4 Выбор способа общения между сервером и web-виджетом

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

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

С приходом HTML 5 развитие получил новый протокол обмена информацией, который стал альтернативой стандартного HTTP/HTTPS. Данный протокол получил название WebSocket. Для решения поставленной задачи будем использовать именно его.

WebSocket – протокол полнодуплексной связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени. Полное описание данного протокола находится в стандарте RFC 6455 [33].

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

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

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

Процедура установки соединения называется «рукопожатием». При успешном соединении начинается полнодуплекный обмен дан-ными. Данные передаются строго в определенном формате согласно кадру (фрейму) стандарта RFC 6455.

В общем виде фрейм представлен на рисунке 12.

Рисунок 12 – Фрейм WebSoket

Обозначения флагов фрейма протокола WebSocket представлены в таблице 2.

Таблица 2 – Обозначение полей и флагов кадра WebSocket

Название

Размер

Значение

FIN

1 бит

Флаг фрагментации сообщения. У всех фреймов установлен в 0, кроме последнего (установлен в 1). Сообщение, состоящее из одного фрагмента, имеет флаг 1.

RSV1

1 бит

В стандартном WebSocket равны 0. Предназначены для расширений протокола. Расширение

RSV2

1 бит

Продолжение таблицы 2

Название

Размер

Значение

RSV3

1 бит

может записать в эти биты свои значения.

Opcode

4 бита

Тип сообщения

Mask

1 бит

Флаг маскированного сообщения

Payload len (PL)

7 бит

Длина сообщения, если оно не превышает 125 символов

EPL

2 байта

Длина сообщения, если PL=126.

EPL con

6 байт

Если PL=127, то длина сообщения – это EPL+ EPL con

Mask Key

4 байта

Ключ маски

PD

Передаваемые данные

Поле «Опкод» задаёт тип фрейма, который позволяет интерпретировать находящиеся в нём данные. Возможные значения:

– 0x1 – текстовые данные;

Характеристики

Тип файла
Документ
Размер
5,71 Mb
Высшее учебное заведение

Список файлов ВКР

Система онлайн консультирования клиентов ООО Анкор-Амур
Моденов Е
Лист 1 - Схема взаимодействия модулей.vsd
Лист 2 - Диаграмма вариантов использования.vsd
Лист 3 - Обмен информацией в системе.vsd
Лист 4 - Внешний вид модулей.vsd
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6513
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее