Основные инструменты среды для создания, исполнения и управления информационной системой Лекция 2 Выбор сервера и веб-сервера Инструментальные средства разработки клиент-серверных приложений Любое клиент-серверное приложение состоит из клиентского и серверного приложений. Соответственно этому имеются инструментальные среды разработки клиентской части и серверной. В качестве первых обычно выступают интегрированные среды разработки (Integrated Development Environment, IDE). В качестве вторых - системы управления базами данных, СУБД. Клиентской называется часть приложения, с которой напрямую взаимодействует конечный пользователь. Серверная часть приложения включает сам сервер БД, источники данных, а также связующее программное обеспечение, с помощью которого приложение подключается к Web-серверу или удаленной базе данных в локальной сети. Связующее программное обеспечение для подключаемого приложения включает Web-сервер и какое-нибудь инструментальное средство, предназначенное для соединения Web-сервера с сервером баз данных. Веб-сервер Какой бы способ разработки вы ни выбрали, есть один элемент, без которого обойтись нельзя: веб-сервер. Веб-сервером называется специальная программа, которая принимает входящие http(s)-запросы, например, из браузера, запускает ваш код на выполнение и возвращает сформированный ответ. Вебсервер может возвращать не только HTMLстраницы, но также и другие ресурсы, такие как архивы, рисунки, видео. Описание работы веб-сервера Браузеры считывают файлы с веб-сервера : Веб-сервер получает запрос, обнаруживает файл, посылает его браузеру, а затем разрывает соединение. Далее веб-браузер выводит на монитор пользователя загруженный из сети HTMLдокумент. Веб-браузеры поддерживают связь с вебсерверами с помощью протокола передачи гипертекстовых сообщений (HypertextTransferProtocol, HTTP). На веб-сервере также выполняют свою работу различные приложения. Также веб-сервер выполняет исполнение скриптов, например, таких как CGI, JSP, ASP и PHP, которые отвечают за организацию запросов к сетевым службам, базам данных, доступу к файлам, пересылке электронной почты и другим приложениям электронной коммерции. CGI-скрипт Common Gateway Interface script (CGI-скрипт, CGI script) - небольшая программа, написанная на языках программирования Perl, Tcl, C/C++, которая исполняется на веб-сервере и служит интерфейсом между веб-страницей и базами данных/приложениями. В число выполняемых функций входит организация запросов к базам данных через Интернет, которая осуществляется следующим образом: пользователь вводит данные в форму, запрос отсылается на вебсервер, CGI-скрипт запрашивает базу данных, получает ответ и формирует ответ на запрос пользователя. Аналогичные технологии - ASP, JSP и PHP, однако технология CGI-скриптов была разработана ранее остальных. CGI-скрипт Как работает CGI-скрипт? Посетитель вашей страницы заполняет поля формы. После этого он нажимает кнопку "Submit", которая и запускает cgi-скрипт. Скрипт выполняет запрограммированные действия - в данном случае считывает данные из формы и пишет их в файл гостевой книги - и посылает в броузер посетителя обычный HTML-код, например, сообщение "Спасибо, что вы оставили запись в гостевой книге". Одним из самых распространенных вебсерверов, является Apache от компании Apache Software Foundation. Apache является самым популярным программным обеспечением с открытым исходным кодом . По ориентировочным подсчетам, он используется на 65% всех веб-серверов в мире. Apache Разработчики регулярно устраняют найденные ошибки и предоставляют хорошую поддержку пользователей. Данный веб-сервер поддерживает большое количество модулей, утилит и дополнений. Сервер не требователен к ресурсам процессора и способен обслуживать множество сайтов. Приложение доступно для широкого спектра операционных систем, включая Unix, Linux, Solaris, Mac OS X, Microsoft Windows и другие. На данный момент использование Apache составляет 71 %. Однако, это сложная программа, с которой не каждый новичок сможет справится. Microsoft IIS Microsoft IIS (сайт — www.iis.net) — еще один надежный сервер от компании Microsoft. Он жестко укрепился на втором месте с 14 % использования в сети. После установки программы, будут поддерживаться только два языка программирования (VBScript и JScript). Однако, можно открыть дополнительные возможности, установив для этого нужные расширения. С установкой таких модулей, функциональность данного сервера значительно повышается. NGINX NGINX (сайт — nginx.org/ru/) — это наиболее популярный веб-сервер в российском Интернете. По сравнению с двумя первыми, он является наиболее простым и не обладает лишними функциями. Также его хвалят за надежность и высокую скорость работы. Разработчиком данного продукта является наш соотечественник — Игорь Сысоев. В 2004 году он выпустил первую версию nginx. Сейчас этот программный продукт замыкает тройку самых популярных веб серверов в мире. Его использование составляет около 6,5 %. Другие известные веб-серверы lighttpd — свободный веб-сервер. Разработчик Ян Кнешке. Быстрый и безопасный веб-сервер. Работает в Linux и других Unix-подобных операционных системах, а также в Windows; Google Web Server — веб-сервер, который основан на Apache и используется компанией Google для организации своей веб-инфраструктуры; Локальный сервер – это эмулятор хостинга Лучше всего начать разработку сайта на своем компьютере, а после окончания разработки выкладывать проект в интернет. Вы не тратите лишние суммы на оплату хостинга, покупку домена. Сначала все реализуете, протестируете на своем компьютере, а затем купите хостинг, домен и загрузите работающий проект в интернет. Локальный веб сервер - специальная связка программ, установленная на локальном(домашнем) компьютере или ноутбуке, позволяющая пользователям работать с копией своего сайта без доступа в Интернет точно так же, если бы он находился на настоящем хостинге в интернете. специальные инструменты веб-разработки, реализующие функции PHP, MySQL, Apache и множество других. Локальный сервер Локальный сервер — это не одна программа (не один конкретный веб сервер), а специальный сборник, куда входят облегченные варианты сложных серверных программ. Обычно в сборку входят: сам сервер (в основном Apache, но могут быть и другие), компилятор PHP (с его помощью браузер может прочитать коды и собрать страницу), компоненты для работы с базами данных, различные установщики и многие другие программы. Все это значительно упрощает дело, нежели если бы мы устанавливали и настраивали каждую программу в отдельности. Выбор локального сервера Существует множество пакетов, имеющих набор программ (Apache + MySQL + PHP = AMP). первая буква - имя ОС + AMP: LAMP, BAMP, WAMP, PAMP, XAMP Denwer (сайт — denwer.ru) — это бесплатный отечественный сервер, который предназначен для работы с сайтами, вебприложениями или Интернет страницами. Плохо обновляется Denwer XAMPP XAMPP (сайт — www.apachefriends.org/en/xampp.html) — специальная сборка сервера от друзей Apache. Распространяется бесплатно и поддерживает работу в системе Windows, Solaris, Mac OS X и Linux. Преимущества: сервер популярен наблюдается многократные появления обновленных версий; процесс обновления проходит очень просто и удобно для пользователя; присутствуют дополнительные модули. Недостатки и + XAMPP XAMPP — это практически «голый» сервер, где нужно владеть азами знаний Apache, чтобы подстроить его под себя, создать руками виртуальные хосты. Зато работает он быстро и наиболее близок к нормальному хостингу. В последних версиях даже сделали заглушку для тестирования отправки почты, что часто требуется при создания всяких форм обратной связи. VertigoServ (сайт — vertrigo.sourceforge.net) — еще один неплохой и простенький в установке локальный сервер. Сборка очень гибкая, имеет хорошую производительность и занимает мало места на диске. Работает только на ОС Windows. VertigoServ Zend Server Community Edition Server Community Edition (сайт — www.zend.com) — бесплатный сервер от компании Zend, предназначен для работы с веб-приложениями. Содержит все необходимые компоненты для быстрого развертывания локального сервера на своем компьютере. Zend AppServ AppServ (сайт — www.appservnetwork.com) — отличный сервер от тайского производителя, концепцией которого является легкая установка и настройка всех дистрибутивов за 1 минуту. Первый релиз сборки состоялся в 2001 году и с тех пор количество пользователей все время растет. AppServ очень прост в установке, он работает стабильно и не хуже официальных и отдельных релизов, надежная производительность. Wampserver Wampserver (сайт — wampserver.com) — еще одна неплохая сборка с русским интерфейсом (есть также и другие языки). Имеется простое и понятное меню, а удобная установка и настройка сборки не вызывает особых трудностей. Настройку можно производить не затрагивая файлы конфигураций, что очень полезно начинающим веб-мастерам. Сервер распространяется бесплатно и работает только на платформе Windows. К сожалению, портативной версии пока нет. Open Server Open Server (сайт — open-server.ru) — это отечественный портативный локальный сервер, который обладает высоким функционалом по разработке и созданию сайтов и других веб проектов. Имеет мультиязычный интерфейс (в том числе и русский) и предназначен для работы в ОС Windows. Поддерживается работа со съемного носителя. Данный сервер очень хорош. OpenServer OpenServer более автоматизированная сборка для разработки. К ней еще идут дополнительно программы в расширенном пакете, которые работают без инсталляции. А управление сервером сделано из своей оболочки, которая позволяет автоматически создавать виртуальные хосты для отдельных сайтов, настраивать сервер под себя без лазанья в кучи конфигов. Однако запускается он существенно дольше, да и работает он тоже медленнее XAMPP (и то, и другое обычно не критично для разработки).