Файл: Понятие прикладных протоколов и серверы приложений.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.07.2023

Просмотров: 128

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

В сетевой среде сервер приложений является посредником между фронт-эндами клиентов и серверами баз данных.

Бизнес-логика может быть реализована на стороне сервера как целиком (удаленный код), так и частично (распределенный код). В первом случае к серверу могут обращаться терминалы и «тонкие» клиенты и такое взаимодействие соответствует модели «сервер терминалов». «Толстые» и rich-клиенты могут получать компоненты серверного приложения и выполнять их на своей стороне (например javascript, апплеты, flash).

Мобильный софт

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

  • урезанная по функционалу клиентская часть получается менее требовательной к ресурсам;
  • для поддержки новых устройств нужно адаптировать только фронт-энд, не затрагивая прикладную логику;
  • изменения в программе (расширение функциональности, исправление ошибок и т. п.) выполняются на сервере приложений и распространяются на всех клиентов[22].

Клиенты могут взаимодействовать с приложениями через API сервера (Java-клиент <—> контейнер сервлетов <—> сервлет). Большую гибкость и универсальность представляет взаимодействие через сторонние сервисы, в первую очередь — через веб-сервер.

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

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

Поэтому, чтобы ответить на вопрос, является ли (и в какой степени) некое сервисное ПО сервером приложений, стоит сравнить его заявленные функции со списком атрибутов, присущих этой категории:

  • Предоставляет модель контейнера для приложений.
  • Предоставляет сервисные услуги для программ.
  • Обеспечивает управление приложениями и/или представляет средства их разработки.
  • Соответствует индустриальным спецификациям и стандартам.
  • Добавим сюда же обслуживание веб-страниц, ввиду реальной востребованности технологий на основе WWW[23].

Реализация серверов приложений

По приведенным признакам в рассматриваемую категорию попадают, например, традиционные терминал-серверные системы, технология CGI, контейнеры Java-сервлетов и др.

Унаследованные решения

Серверы терминалов представляют среду для удаленного выполнения программ, в качестве которой выступает сама операционная система. Доступ к ним осуществляется по протоколам удаленного управления (telnet, ssh, RDP, VNC и т. п.) из клиентского ПО (эмулятор терминала, средства управления удаленным рабочим столом и т.п.). Управление запущенной программой выполняется через эмулируемый на клиенте пользовательский интерфейс (текстовый или графический) операционной системы. На серверной стороне взаимодействие программ с ОС реализуется через системные вызовы. Управление также осуществляется средствами операционной системы. Разработка может вестись на любом языке, доступном в конкретной ОС[24].

Общий шлюзовый интерфейс (CGI) — технология доступа к приложениям через веб-сервер. Отличия от сервера терминалов здесь в том, что пользовательский интерфейс предоставляется в виде веб-страниц. Запросы веб-клиентов, обращенные к программам, размещенным в выделенном каталоге (как правило cgi или cgi-bin) перенаправляются на их вход через стандартный поток ввода (stdin). Результаты выполнения в виде гипертекста приложение возвращает веб-серверу через stdout.

Серверы Java-приложений

Платформа Java является индустриальным стандартом, позволяющим создавать из унифицированных компонентов интероперабельные программные решения для самых разных систем, в которых может быть запущена виртуальная машина Java (JVM).

Контейнер сервлетов — один из архитектурных компонентов J2EE, представляющий окружение для выполнения сервлетов. Сервлет — это Java-приложение, выполняющееся на стороне сервера (в отличие от апплета). Контейнер сервлетов может работать как полноценный самостоятельный сервер, но чаще используется (интегрируется) совместно с другим серверным ПО. Обеспечивает обмен данными между сервлетом и клиентами, берёт на себя выполнение таких функций, как создание программной среды для функционирующего сервлета, идентификацию и авторизацию клиентов, организацию сессии для каждого из них[25].


Концепция сервлет-контейнера позволяет создавать как универсальные, так и специализированные серверы приложений (например, для мобильных сервисов).

Примером реализации контейнера сервлетов является Apache TomCat, который используется в таких серверах приложений как Apache Geronimo, JBoss, GlassFish, IBM WebSphere Application Server (WAS).

Другие решения

Компания Microsoft представляет собственные решения для поддержки бизнес-логики и сервисной инфрастуктуры на основе ОС Windows Server и технологии .NET Framework. Основным средством разработки является язык C#.

Язык python, получивший популярность во многом благодаря Google, является основным средством разработки для сервера веб-приложений Zope.

Для сценариев на языке PHP, широко используемом для создания веб-сайтов, компания Zend Technologies (разработчик самого языка PHP) создала сервер приложений Zend Server[26].

Серверы приложений: преимущества и недостатки

После анализа серверов приложений, можно выделить следующие преимущества и недостатки технологии:

Преимущества

Целостность кода и данных

Размещение бизнес-логики на выделенном сервере или ограниченном числе серверных компьютеров гарантирует доступ к обновленному и модернизированному ПО для всех клиентов. Это исключает риск доступа и управления данными из устаревших и, возможно, несовместимых программ.

Централизованное управление

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

Безопасность

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

Производительность

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

Общая стоимость владения

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


Недостатки

Централизация

Системы, построенные на основе сервера приложений, имеют один основной недостаток, присущий всем централизованным решениям — «падение» сервера приведет к недоступности программ для всех клиентов. К тому же эффекту приведут и неполадки в сетевом подключении.

Защита информации

Эта проблема, в принципе, актуальна для любых сетевых решений, использующих для передачи данных инфраструктуру публичных сетей[28].

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

ЗАКЛЮЧЕНИЕ

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

Для достижения данной цели были выполнены следующие задачи:

  1. охарактеризовано понятие прикладных протоколов;
  2. изучены общие принципы организации функционирования прикладных протоколов (OSI);
  3. рассмотрены примеры прикладных протоколов, среди которых такие протоколы, как ICMP, FTP, HTTP, POP и SMTP, SLIP;
  4. проанализировано понятие сервера приложений;
  5. рассмотрена характерная реализация серверов приложений;
  6. дана характеристика серверам приложений со стороны преимуществ и недостатков.

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

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

На данный момент текст работы может быть использован как теоретическое пособие в старших классах средних общеобразовательных организациях и для преподавания специальных дисциплин в организациях среднего специального образования.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Блэк Ю, Сети ЭВМ: протоколы, стандарты, интерфейсы / Ю. Блэк; перев. с англ. - М.: МИР
  2. Высокопроизводительные сети. Энциклопедия пользователя / Марк А. Спортак и др.; перев. с англ. - Киев, ДиаСофт, 1998
  3. Крейнак Д., Хебрейкен Д. «Энциклопедия ИНТЕРНЕТ». Санкт-Петербург, 2010
  4. Лапонина О.Р.«Основы сетевой безопасности: криптографические алгоритмы и протоколы взаимодействия» М.: ИНТУИТ.ру, 2005. – 608 с.
  5. Ливингстон Б., Штрауб Д. «Компьютер у вас дома», Москва 2001 г.
  6. Медведовский И.Д., Семьянов П.В., Леонов Д.Г.Атака на Internet 2-е изд., перераб. и доп. –М.: ДМК, 1999.
  7. Немет Э., Снайдер Г., Сибасс С., Хейн Т.Р.UNIX: руководство системного администратора: Пер. с англ. –К.: BHV
  8. Новиков Ю.В., Кондратенко С.В. «Основы локальных сетей» М.: ИНТУИТ.ру, 2005. – 355 с.
  9. Олифер В.Г., Олифер Н.А. «Компьютерные сети. Принципы, технологии, протоколы» СПб.: Питер, 2005. – 864 с.
  10. Олифер В.Г., Олифер Н.А. «Основы сетей передачи данных» М.: ИНТУИТ.ру, 2005. – 176 с.
  11. Паркер Т., Сиян К., TCP/IP. Для профессионалов. 3-е издание / Паркер Т., Сиян К. –СПб.: Питер,2004
  12. Рендалл Н. «Кластеризация серверов». PC Magazine № 2, 1998 г.
  13. Хант К., Персональные компьютеры в сетях TCP/IP / Хант К.; перев. с англ. - BHV-Киев, 1997.

  1. Олифер В.Г., Олифер Н.А. «Компьютерные сети. Принципы, технологии, протоколы» СПб.: Питер, 2005. –702 с

  2. Новиков Ю.В., Кондратенко С.В. «Основы локальных сетей» М.: ИНТУИТ.ру, 2005. – 312 с.

  3. Олифер В.Г., Олифер Н.А. «Основы сетей передачи данных» М.: ИНТУИТ.ру, 2005. – 98 с.

  4. Олифер В.Г., Олифер Н.А. «Основы сетей передачи данных» М.: ИНТУИТ.ру, 2005. – 103 с.

  5. Хант К., Персональные компьютеры в сетях TCP/IP / Хант К.; перев. с англ. - BHV-Киев, 1997, 134 с.

  6. Хант К., Персональные компьютеры в сетях TCP/IP / Хант К.; перев. с англ. - BHV-Киев, 1997, 141с.

  7. Ливингстон Б., Штрауб Д. «Компьютер у вас дома», Москва 2001 г., 187 с.

  8. Ливингстон Б., Штрауб Д. «Компьютер у вас дома», Москва 2001 г., 193с.

  9. Блэк Ю, Сети ЭВМ: протоколы, стандарты, интерфейсы / Ю. Блэк; перев. с англ. - М.: МИР, 234 с.

  10. Блэк Ю, Сети ЭВМ: протоколы, стандарты, интерфейсы / Ю. Блэк; перев. с англ. - М.: МИР, 238 с.

  11. Новиков Ю.В., Кондратенко С.В. «Основы локальных сетей» М.: ИНТУИТ.ру, 2005. – 312 с.

  12. Новиков Ю.В., Кондратенко С.В. «Основы локальных сетей» М.: ИНТУИТ.ру, 2005. – 317 с

  13. Паркер Т., Сиян К., TCP/IP. Для профессионалов. /Паркер Т., Сиян К. –СПб.: Питер,2004, 217 с.

  14. Паркер Т., Сиян К., TCP/IP. Для профессионалов. /Паркер Т., Сиян К. –СПб.: Питер,2004, 225 с.

  15. Паркер Т., Сиян К., TCP/IP. Для профессионалов. /Паркер Т., Сиян К. –СПб.: Питер,2004, 231 с.

  16. Паркер Т., Сиян К., TCP/IP. Для профессионалов. /Паркер Т., Сиян К. –СПб.: Питер,2004, 243 с.

  17. Олифер В.Г., Олифер Н.А. «Основы сетей передачи данных» М.: ИНТУИТ.ру, 2005. – 124 с.

  18. Хант К., Персональные компьютеры в сетях TCP/IP / Хант К.; перев. с англ. - BHV-Киев, 1997, 342 с.

  19. Хант К., Персональные компьютеры в сетях TCP/IP / Хант К.; перев. с англ. - BHV-Киев, 1997, 356 с.

  20. Паркер Т., Сиян К., TCP/IP. Для профессионалов. 3-е издание / Паркер Т., Сиян К. –СПб.: Питер, 134 с.

  21. Немет Э., Снайдер Г., Сибасс С., Хейн Т.Р.UNIX: руководство системного администратора: Пер. с англ. –К.: BHV

  22. Ливингстон Б., Штрауб Д. «Компьютер у вас дома», Москва 2001 г, 249 с.

  23. Ливингстон Б., Штрауб Д. «Компьютер у вас дома», Москва 2001 г, 256 с.

  24. Крейнак Д., Хебрейкен Д. «Энциклопедия ИНТЕРНЕТ». Санкт-Петербург, 2010, 187 с.

  25. Крейнак Д., Хебрейкен Д. «Энциклопедия ИНТЕРНЕТ». Санкт-Петербург, 2010, 195 с.

  26. Медведовский И.Д., Семьянов П.В., Леонов Д.Г.Атака на Internet 2-е изд., перераб. и доп. –М.: ДМК, 1999.

  27. Олифер В.Г., Олифер Н.А. «Основы сетей передачи данных» М.: ИНТУИТ.ру, 2005. – 123 с

  28. Олифер В.Г., Олифер Н.А. «Основы сетей передачи данных» М.: ИНТУИТ.ру, 2005. – 127 с.