Файл: Средства создания программ выполняемых на стороне сервера (Технология Java Servlets).pdf
Добавлен: 03.07.2023
Просмотров: 113
Скачиваний: 3
Введение
В настоящее время большим спросом пользуются веб-приложения, будь то визитная карточка фирмы или большой развернутый портал для крупной компании. Веб-приложения — это лучшее средство для предоставления потенциальным потребителям товаров, например, предоставление комплексной информации об образовательных услугах по средством образовательного портала, на котором расположена вся необходимая информацию о ВУЗе для абитуриента, работодателя, преподавателя. В сфере веб-приложений существуют большое количество средств разработки веб-приложений, которые подразделяются в зависимости от функционального назначения веб-приложений. Сейчас как никогда распространена разработка динамических веб-приложений.
Веб-приложение - клиент-серверное приложение, где клиентом выступает браузер, а сервером – веб-сервер. Работа веб-приложения происходит между сервером и клиентом, хранение данных осуществляется на сервере, обмен информацией происходит по сети. Преимуществом веб-приложений является то, что клиенты не зависят от операционной системы пользователя, поэтому веб-приложения являются межплатформенными сервисами.
Инструментальные средства создания веб-приложений подразделяются на языковые средства и программные средства создания веб-приложений.
Обзор литературы
Гаврилова И.В. Разработка приложений [Электронный ресурс] : учеб. пособие /И.В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 . — 241 c.
В учебном пособии описан процесс разработки приложений информационных систем. Большое внимание уделено архитектуре и технологиям разработки приложений: интерфейсам прикладного программирования, механизмам доступа к данным. Рассматриваются методики разработки пользовательского интерфейса. Изложение материала сопровождается большим количеством иллюстраций, предлагаются вопросы для самопроверки, а также практикум, в котором нашли своё воплощение теоретические вопросы.
Котеров, Д. В. PHP 7 / Д. В. Котеров, И. В. Симдянов. — СПб.: БХВ-Петербург, 2016. — 1088 с.: ил.
Рассмотрены основы языка PHP и его рабочего окружения в Windows, Mac OS X и Linux. Отражены радикальные изменения в языке PHP, произошедшие с момента вы- хода предыдущего издания: трейты, пространство имен, анонимные функции, за- мыкания, элементы строгой типизации, генераторы, встроенный Web-сервер и многие другие возможности. Приведено описание синтаксиса PHP 7, а также функций для работы с массивами, файлами, СУБД MySQL, memcached, регуляр- ными выражениями, графическими примитивами, почтой, сессиями и т. д. Особое внимание уделено рабочему окружению: сборке PHP-FPM и Web-сервера nginx, СУБД MySQL, протоколу SSH, виртуальным машинам VirtualBox и менеджеру виртуальных машин Vagrant. Рассмотрены современные подходы к Web-разра- ботке, система контроля версий Git, GitHub и другие бесплатные Git-хостинги, но- вая система распространения программных библиотек и их разработки, сборка Web-приложений менеджером Composer, стандарты PSR и другие инструменты и приемы работы современного PHP-сообщества.
Колисниченко Д. Н. К60 PHP и MySQL. Разработка веб-приложений./ Д. Н Колисниченко — 6-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2017. — 640 с.
Даны начала программирования на PHP: установка и настройка Apache, PHP и MySQL, а также кроссплатформенной сборки XAMPP, выбор редактора PHP-кода, синтаксис языка и самые полезные функции PHP. Рассмотрено создание собствен- ного движка сайта и ряда дополнительных модулей — фотогалереи, RSS-граббера, модуля для работы с MP3, сервиса reCAPTCHA, применение мощного шаблониза- тора Smarty и создание простейшего собственного шаблонизатора. Показано, как с помощью технологии Ajax добиться обновления данных на странице без ее пере- загрузки. В книге представлено два реальных проекта: универсальная система управления контентом, которая подойдет для построения типичного сайта, и одно- го из реальных проектов автора. В шестом издании рассмотрены нововведения версии PHP 7.х, особенности создания индикатора загрузки файла и разыменовывания массивов, приведены примеры устранения типичных SEO-ошибок, допускаемых программистами, опи- сана работа с PDO, Curl и MobileDetect, дано введение во фреймворк Symfony.
Будилов В.А. Основы программирования для интернета / В.А. Будилов –СП6.: БХВ-Петербург,2013.-736 е.: ил.
Книга адресована тем, кто хочет научиться профессион6ально программировать для Интернета. В сжатой форме на примерах показаны основные методы создания приложений для глобальной сети , начиная от простейших HTML- страничек и заканчивая основными принципами построения распределенных многоуровневых систем. Даются основы CGI-программирования с использованием языка PHP . Раcсмотрено создание полноценных распределенных СGI-приложений на основе языков общего назначения , таких как C++ или Java. Отдельно представлены возможности платформенно– независимых технологий Java и CORBA.
Магдануров,Г.И. ASP.NET MVC Framework / Г.И. Магдануров, В.А. Юнев. – СПб,: Петербург,2010.-320 с,6ил.-(Профессиональное программирование).
Рассмотрены основные принципы и возможности технологии APS.NET MVC Framework и показаны способы ее практического использования при разработке веб – приложений. Описаны им преимущества подхода разработки MVC и рассмотрена структура MVC- приложения. Приведено сравнение технологии Web Forms и MVC Framework и рассмотрены вопросы их совмещения.
Описаны модель и доступ к данным (технологии LINQ, Entity Framework и др.), контроллеры , представление и интерфейсов приложения , механизмы маршрутизации и Ajax-функциональность . Уделено внимание вопросам тестирование – веб-приложений .Рассмотрены особенности применения ASP.Net MVC 2 в Visual Studio 2010
Венц К. Программирование в ASP.NET AJAX/ К. Венц -Пер,с англ,-СПб:Символ-Плюс,2008.-512 с.,ил.
Книга Кристина Венца «Программирование в ASP.NET AJAX»- полное практическое введение в новую платформу Microsoft ASP.NET AJAX 1.0, которая предоставляет большие преимущества при разработке Ajax- приложений, схожие с теми которые даёт ASP.NET для разработки серверных сценариев. Вы узнаете, как с помощью технологий Ajax без особых затрат времени создавать профессионально выполненные динамические веб-страницы.
После общего обзора платформы и основ JavaScript и Ajax рассмотрена организация составляющих частей .NET, включая пакеты Extensions, Control Toolkit, Futures CTP и Microsoft AJAX Library.Также читателю предлагается исчерпывающая глава об элементе управления UpdatePanel, который позволяет организовать независимое обновления отдельных частей веб-страницы.
Прохоренок Н.А. Разработка Web-сайтов с помощью Perl и MySQL./ Н.А. Прохоренок -СПб.: БХВ-Петербург,2009.-560 с.: ил,-(Профессиональное программирование )
На практических примерах описана разработка динамических Web-сайтов с помощью Perl и MySQL. Рассмотрены основные конструкции языка Perl, даны примеры написания сценариев, наиболее часто используемых при разработке Web-сайтов. Уделено внимании способам работы с базами данных посредствам Perl , а также вопросам администрирования аз с помощью программы phpMyAdmin . Показано, как обрабатывать данные формы, отправлять письма с сайта, загружать файлы на сервер с помощью формы, создавать личный кабинет для пользователей , гостевую книгу, форму и др.
Цель исследования: Изучить средства создания программ выполняемых на стороне сервера.
Объект исследования: средства создания программ выполняемых на стороне сервера..
Задача исследования - рассмотреть
- Клиент-серверное взаимодействие
- Языковые средства создания веб-приложений
- Технология CGI, заголовки ответов и запросов CGI
- Язык Perl
- Технология ASP.NET
- Язык PHP
- Технология Java Servlets
- Технология Java Server Pages
Глава 1. Основные понятия
Клиент-серверное взаимодействие один из главных моментов в изучении дисциплины веб-дизайн. Любой сайт, размещённый в сети Интернет, основывается на связке «клиен-сервер». И это не только электронные формы. Даже простое «перелистывание» страниц некоторого сайта в Интернете – пример клиент-серверного взаимодействия, ведь странички хранятся не на вашем личном компьютере, а подгружаются извне.
Рассмотрим основные понятия:
Клиент — достаточно широкое понятие, начиная от некоторого физического лица и заканчивая некоторой программой на компьютере (например, почтовый клиент). В нашем случае это компьютер, оснащённый специальным программным обеспечением, которое позволяет пользователю задать запрос к другой машине и получить ответ. Код, выполняемый на стороне клиента, чаще всего называют клиентским кодом. Он обеспечивает создание пользовательского интерфейса. Здесь, когда речь заходит о браузере, важную роль играет JavaScript и библиотеки расширения (в нашем случае jQuery) [Гаврилова И.В. Разработка приложений [Электронный ресурс] : учеб. пособие /И.В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 .].
Сервер — это компьютер, оснащённый специальным программным обеспечением, которое позволяет решить задачи предоставления пользователю доступа к некоторым услугам и ресурсам, которыми владеет и управляет данный сервер. Код, выполняемый на стороне сервера, чаще всего называют серверным кодом (серверным сценарием). Он обеспечивает обработку данных. Здесь важную роль играют серверные языки программирования. Примером таких языков являются PHP и Python.
Хранилище данных – это система, предназначенная для хранения данных на сервере. Чаще всего под хранилищем данным подразумевают базу данных (например, MySQL). Также хранилищем может выступать файловая система сервера.
Клиент-серверное взаимодействие — это обмен данными между клиентом и сервером.
Браузер не единственное программное обеспечение, которое позволяет осуществлять клиент-серверное взаимодействие. Почтовые клиенты, программы обмена мгновенными сообщениями, игровые многопользовательские приложения – пример программного обеспечения, которое осуществляет клиент-серверное взаимодействие[Гаврилова И.В. Разработка приложений [Электронный ресурс] : учеб. пособие /И.В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 .].
Принципы взаимодействия для таких приложений во многом похожи. Схематически его можно описать следующим образом (Рис. 4.1)
Рис. 1. Клиент-серверное взаимодействие
Схема (Рис. 1.) предполагает обращение клиента к серверу и ответ на запрос, однако не учитывает специфику действий, производимые сервером (средства поддержки серверных сценариев).
При работе, к примеру, с базой данных, хранящейся на сервере, подобная схема не подходит, так как необходимо произвести некоторые действия. Под действием понимается внутрисерверное взаимодействие (Рис. 2).
Рис 2. Внутрисерверное взаимодействие
Поскольку в данном случае речь идёт о взаимодействие с удалённой машиной (местоположение которой пользователю неизвестно) очень важно, чтобы запрос обрабатывался как можно быстрее, чтобы длительность отклика сервера была как можно меньше. Также очень важно, чтобы задач, которые выполняет сервер, было как можно меньше, а значит и количества запросов – эти моменты влияют на работоспособность сервера.
Языковые средства создания веб-приложений делятся на две группы: клиентские и серверные[Гаврилова И.В. Разработка приложений [Электронный ресурс] : учеб. пособие /И.В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 .].
Клиентские языки необходимы со стороны пользователя, то есть они обрабатываются браузерами. Недостатком является то, что пользователь сам должен настраивать и обновлять свой браузер, и иногда пользователь настраивает браузер так, что он игнорирует обработку скриптов.
Скрипты – исполняемые процедуры, которые запускаются на выполнение со стороны сервера по запросу поступившему с конкретно определенной веб-приложения. Пользователь должен обновлять свой браузер, так как устаревшие браузеры не поддерживают тот или иной язык и версию языка, на котором писал разработчик. Языки программирования почти не меняются и самые известные и распространенные уже известны. Код клиентского скрипта может просмотреть каждый пользователь в любом браузере. Достоинство клиентского языка – обработка скриптов, на таком языке может выполняться без отправки документа на сервер. Программа сразу проверит код на наличие ошибок.
Самым распространенными клиентскими языками являются JavaScript, VBScript, AJAX, Microsoft Silverlight
Серверные языки необходимы для того чтобы пользователь мог получить результат своих изменений на сайте. Когда пользователь переходит на какую-нибудь Интернет-страницу, то этот переход вначале обрабатывается на сервере, то есть выполняются все необходимые запрограммированные действия, связанные с этой страницей, и только затем возвращается к пользователю итоговым файлом. Этот файл может быть написан на любом языке программирования предназначенный для веб-приложения: HTML, PHP, , Perl, SSI, XML, DHTML, XHTML. Необходимо учитывать, что все зависит от самого сервера и версии самого языка. Преимущество серверных языков заключается в то, что они поддерживают работу с системой управления базами данных (или СУБД) — сервером, где упорядоченно хранится информация, которая используется при необходимости. Популярными среди систем управления базами данных являются: Microsoft SQL Server; Microsoft SQL Server Express; mSQL; MySQL; Firebird; IBM DB2; IBM DB2 Express-C; Oracle; SQLite[Гаврилова И.В. Разработка приложений [Электронный ресурс] : учеб. пособие /И.В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 .].