Антиплагиат (1231616), страница 5
Текст из файла (страница 5)
При э том скорость обмена информац ией по каналам связи в таком реж име зависит от пропускнойспособности среды передачи данных.Разделение во времени вполудуплексном режиме вызвано тем, что передающий узел в конкретный момент времениполностью занимает канал передачи.Во время передачи данных возникаетявление, когда несколько передающих узлов пытаются в один и тот же момент времени осуществлять передачу.[12]Такое явление получило название коллизия.Полнодуплексный (дуплексный) режим – режим, при котором передача данных может производиться одновременно с приёмом данных.Дуплексная связь обычно осуществляется с использованием нескольких каналов связи: первый канал – исходящая связьдля первого устройства и входящая для второго, второй канал – исходящая для второго устройства и входящая для первого.Суммарная скорость обмена информацией по каналу связи в данном режиме может достигать своего максимума.
Например,если используется технология Fast Ethernet [20] со скоростью 100 Мбит/с, то скорость может быть близка к 200 Мбит/с (100Мбит/с – передача и 100 Мбит/с – приём).В ряде случаев возможна дуплексная связь с использованием одного канала связи. В этом случае устройство при приёмеданных вычитает из сигнала свой отправленный сигнал, а получаемая разница является сигналом отправителя.В [12]результате, мож но сделать вывод о том, что, не смотря на сущ ествование многообразия прилож ений, осущ ествляющ их онлайнконсультирование, такие системы не удовлетворяют требованиям сети по э кономии интернет трафика сети и загруж енностиканалов передачи, а такж е требования по уменьшению нагрузки на серверы сайтов.Для удовлетворения требований сети необходимо выбрать наиболее оптимальный протокол передачи данных.
Обоснование выбораописано в главе 3.3 Средства по решению поставленной задачиДля перехода к собственной реализац ии системы онлайн-консультанта, необходимо:– выбрать язык программирования;– выбрать среду разработки;– выбрать способ передачи информац ии меж ду сервером и клиентским модулем;– выбрать способ обмена данными меж ду серверным модулем и web-видж етом;– выбрать систему управления базами данных, для хранения информац ии серверным прилож ением.3.1 Выбор языка программированияПервая и основная задача, стоящ ая перед тем, как начинать разрабатывать сервер для предприятия – выбрать язык, на которомбудет разрабатываться прилож ение сервера.В настоящ ее время достаточно большое количество языков высокого уровня, для написания такого типа программ.
Это С, C++, C#,Ada, Groovy, Ruby и многие другие [21-23]. Для того чтобы выбрать подходящ ий язык программирования необходимо, чтобы онудовлетворял ряду требований:– объектная ориентированность языка;– переносимость прилож ений с одной платформы на другую (кроссплатформенность);– большой комплект готовых библиотек;–возможность работы на низком уровне с памятью, адресами и портами;http://dvgups.antiplagiat.ru/ReportPage.aspx?docId=427.24088421&repNumb=111/2320.06.2016–Антиплагиат[26]многопоточность и многозадачность.Исходя из вышеперечисленных требований для разработки прилож ения «онлайн-консультант» выбран язык Java [24].
Он имеетследующ ие достоинства:–переносимость. Программы, написанные на языке Java, после однократной трансляции в байт-код могут быть исполнены налюбой платформе, для которой реализована виртуальная Java-машина;– безопасность. Функционирование программы полностью определяется (и ограничивается) виртуальной Java-машиной.Отсутствуют указатели и другие механизмы для непосредственной работы с физической памятью и прочим аппаратнымобеспечением компьютера;– надежность.
В языке Java отсутствуют механизмы, потенциально приводящие к ошибкам: арифметика указателей, неявноепреобразованиетиповспотерей точности и т.п.Присутствуетстрогий контроль типов,обязательный контрольисключительных ситуаций. Многие логические ошибки обнаруживаются на этапе компиляции;– сборщик мусора. Освобождение памяти при работе программы осуществляется автоматически с помощью «сборщикамусора», поэтому программировать с использованием динамически распределяемой памяти проще и надежнее;– стандартные библиотеки.
Многие задачи, встречающиеся при разработке программного обеспечения, уже решены в рамкахстандартных библиотек. Использование объектно-ориентированного подхода позволяет легко использовать готовые объектыв своих программах. Для запуска приложения необходима установка JRE, содержащего полный набор библиотек, даже есливсе они не используются в приложении;– самодокументируемый код. Имеется механизм автоматического генерирования документации на основе комментариев,размещенных в тексте программ;– многообразие типов приложений.
На языке Java возможно реализовать абсолютно разные по способу функционированию исфере использования программы;–[1]Объекная ориентированность. Java является сравнительно простым объектно-ориентированным языком программирования, которыйпозволяет сравнительно удобно использовать все принц ипы ООП.Java – объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (вприобретённой компанией Oracle),[2]последующем[32]офиц иально выпущ ен 23 мая 1995 года.Изначально язык назывался Оак («Дуб») разрабатывался Джеймсом Гослингом для программирования бытовых электронныхустройств.
Впоследствии он был переименован в Java и стал использоваться для написания клиентских приложений исерверного программного обеспечения.Язык назван в честь марки кофе Java,[11]которая, в свою очередь, получила наименование одноимённого острова (Ява), поэ тому на офиц иальной э мблеме языка изображ еначашка с горячим кофе.Сущ ествуетнесколько основных семейств технологий 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 – технология предоставляет безопасную среду для приложений, работающих на смарт-картах и другихустройствах с очень ограниченным3.2[11]объёмом [13]памятии возможностями обработки [25-26].[11]Выбор среды разработкиПосле выбора языка программирования возникает следующ ая задача – выбрать среду разработки, в которой будет разрабатыватьсяприлож ение сервера.Среди большого числа сред мож но выделить следующ ие: Java Studio, Juilder [27], Neteans, Visual J++, IntelliJ IEA и многие другие.
Этисреды разработки очень хороши для написания программ, имеют привлекательные интерфейс, удобны в использовании, а такж еснабж ены рядом полезных функц ий. Но для написания прилож ения будет использовано программное обеспечение Eclipse.Есть рядпреимуществ:– Eclipse предоставляет согласованный набор функций на большинстве платформ, т.е.[7]независимо от того, какая платформа используется,Eclipse выступает как приложение, созданное для этой платформы.
При загрузке дистрибутива Eclipse загружается версиюдля выбраннойпользователем платформы. Eclipse обладает отдельными визуальными инструментариями для каждой изплатформ. Это позволяет ему выглядеть естественно и улучшает производительность;http://dvgups.antiplagiat.ru/ReportPage.aspx?docId=427.24088421&repNumb=112/2320.06.2016Антиплагиат– Eclipseнесколько языков программирования.Философия Eclipse сформирована в архитектуру технологии: она обеспечивает небольшое ядро, дающее разработчикамсогласованный способ расширения системных возможностей. Каждое расширение или плагин способствует отдельнойфункциональности в конфигурации Eclipse и может обеспечить точки расширения, которые могут использовать другиеплагины. Архитектура плагинов позволяет Eclipse поддерживать множество языков и парадигм;– Eclipse предоставляет открытый исходный код и представляет собой бесплатный продукт, к тому же с полной поддержкой[7]разработчиками;– среды полностью расширяемая и настраиваемая, т.е.
ее архитектура позволяет добавить множ ество плагинов, а такж е ихнастроить по ж еланию пользователя. Интерфейс прилож ения мож но полностью изменить исходя из предпочтений разработчика;–полностью подходит для работы на предприятиях. КорпорацияIM разрабатывала Eclipse как патентованную платформу,однако в 2004-м году IM помогла сформировать некоммерческий фонд Eclipse для осуществления надзора за дальнейшейразработкой технологии. Теперь совет директоров Eclipse одобряет новые подпроекты, а фонд привлекает коммерческиеорганизации, академические и исследовательские организации, группы стандартов и так далее для того, чтобы проектEclipse всегда находился на переднем крае индустрии инструментов разработки.3.3[7]Выбор способа передачи меж ду серверным модулем и клиентским прилож ениемВ качестве следующ ей задачи выступает выбор способа передачи данных меж ду прилож ением сервера и прилож ением клиента,написанных на языке Java.Язык Java делает сетевое программирование простым благодаря наличию специальных средств и классов.некоторый ряд сетевых приложений.
Internet-приложения включают Web-Существуетбраузер, e- mail, сетевые новости, передачуфайлов и telnet. Основные используемые протоколы – ТСР и IP. Приложения клиент/сервер используют компьютер,выполняющий специальную программу – сервер, которая предоставляет услуги другим программам – клиентам. Клиент – этопрограмма, получающая услуги от сервера. Клиент-серверные приложения основаны на использовании, в первую очередь,прикладных протоколов стека ТСР/IP, таких как:– НТТР – Hypertext Transfer Protocol [19] (WWW);– NNTP – Network News Transfer Protocol [28] (группы новостей);– SMTP – Simple Mail Transfer Protocol [29] (посылка почты);– РОР3 – Post Office Protocol [30] (чтение почты с сервера);– FTP – File Transfer Protocol [31] (протокол передачи файлов);– TELNET [32] – Удаленное управление компьютерами.[4]Для постоянного обмена меж ду двумя прилож ениями ни один из вышеперечисленных протоколов не подходит, поэ тому выбранпротокол Socket.Сокеты –этосетевыеразъемы,черезкоторыеосуществляютсядвунаправленныепоточныесоединениямеждукомпьютерами.
Сокет определяется номером порта и IP-адресом. При этом IP-адрес используется для идентификациикомпьютера, номер порта – для идентификации процесса, работающего на компьютере. Когда одно приложение знает сокетдругого, создается сокетное соединение. Клиент пытается соединиться с сервером, инициализируя сокетное соединение.Сервер ждет, пока клиент не свяжется с ним. Первое сообщение, посылаемое клиентом на сервер, содержит сокет клиента.Сервер в свою очередь создает сокет, который будет использоваться для связи с клиентом, и посылает его клиенту спервым сообщением.