Файл: Технология CGI, заголовки ответов и запросов CGI 13.pdf

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

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

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

Добавлен: 23.04.2023

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

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

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

Программное обеспечение для ведения форумов, например, phpBB.

Кроме того, многие популярные веб-сайты, в том числе Yahoo!, Википедия, Facebook, Digg разработаны с использованием PHP[Котеров, Д. В. PHP 7 / Д. В. Котеров, И. В. Симдянов. — СПб.: БХВ-Петербург, 2016.]. Также с помощью языка PHP возможно написание объектно-ориентированного кода.

2.4 Технология Java Servlets

Технология Java Servlets (сервлеты) была разработана компанией Sun Microsystems, чтобы использовать преимущества платформы Java для решения проблем технологии CGI и API расширений сервера. Технология решает проблему производительности, выполняя все запросы как нити в одном процессе. Сервлеты также могут легко разделять ресурсы, и не зависят от платформы, поскольку выполняются внутри Java Virtual Machine (JVM) [Гаврилова И.В. Разработка приложений [Электронный ресурс] : учеб. пособие /И.В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 .] .

Технология обладает широкими функциональными возможностями. Большое количество библиотек предоставляет самые разнообразные средства, необходимые в разработке. Модель безопасности Java делает возможным точное управление уровнем доступа, например позволяя доступ только к определенной части файловой системы. Обработка исключений Java делает сервлеты более надежным средством, чем расширения серверов на C/C++.

Любой сервлет является классом Java, и, поэтому, должен быть выполнен внутри Java VM так называемым сервлет - контейнером (servlet container, servlet engine). Сервлет - контейнер загружает класс сервлета при первом обращении к нему, либо сразу при запуске сервера при специальном указании. Далее сервлет остается загруженным для обработки запросов, пока он не выгружается явным образом, либо до остановки контейнера.

Технология является распространенной, и может быть использована со всеми популярными Web - серверами (Enterprise Server от Netscape, Microsoft Internet Information Server (IIS), Apache, Java Web Server от Sun) [Будилов В.А. Основы программирования для интернета / В.А. Будилов –СП6.: БХВ-Петербург,2013].

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

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


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

2.5 Технология Java Server Pages

Технология Java Server Pages (JSP) от компании Sun Microsystems явилась надстройкой над технологией Java Servlets, обеспечивающей более быструю и простую разработку web - приложений с помощью применения шаблонного подхода.

Для понимания архитектуры и преимуществ JSP необходимо знать технологию Java Servlets, поскольку они тесно связаны. Страницы Java Server Pages представляют из себя шаблоны страниц HTML, схожие с шаблонами РНР и ASP. Основным отличием от других подобных технологий является то, что код, находящийся внутри специальных тэгов не интерпретируется при обращении к странице, а предварительно компилируется в Java Servlet. Статические участки шаблона преобразуются в вызовы к функциям для их помещения в поток вывода. Код компилируется так, как если бы он находился внутри сервлета. Компиляция JSP страниц в сервлеты является трудоемкой, но проводится один раз - либо при первом обращении к странице, либо при запуске сервлет – контейнера [Будилов В.А. Основы программирования для интернета / В.А. Будилов –СП6.: БХВ-Петербург,2013].

Технология JSP удачно объединяет шаблонный подход к построению сайтов и все преимущества Java платформы. Благодаря этому технология получила широкое распространение как среди профессиональных коммерческих разработчиков, так и при создании открытых бесплатных проектов. Важным шагом к расширению шаблонного подхода стали так называемые библиотеки тэгов (tag libraries). Это гибкая возможность интегрировать стандартные, сторонние, или собственные программные компоненты в страницы. Простота создания и использования привели к большой популярности библиотек тэгов.

Благодаря работе на основе Java технология JSP не привязана к конкретной аппаратной или программной платформе. Таким образом JSP являются отличным решением для использования в гетерогенных средах.

Производительность технологии ограничена объективными особенностями архитектуры [Гаврилова И.В. Разработка приложений [Электронный ресурс] : учеб. пособие /И.В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 .].


Во-первых, страницы должны быть откомпилированы в сервлеты, что занимает значительное время.

Во-вторых сервлеты выполняются в среде выполнения Java, т.е. в режиме интерпретации. Однако эти ограничения компенсируются дополнительными возможностями. Современные контейнеры поддерживают кластеризацию серверов, что перекладывает нагрузку на аппаратное обеспечение. Это является экономически оправданным и простым решением. Задача же компиляции в сервлеты является разовой и производится либо при первом обращении, либо при запуске сервлет - контейнера. Таким образом это не сказывается на общей производительности системы при рассмотрении за достаточный период времени.

Глава 3 Серверы приложений: плюсы и минусы

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

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

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

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

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

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

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

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

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

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

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

Недостатки

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