Система бронирования мест в отелях города

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

Для того чтобы скачать эту работу.
1. Подтвердите что Вы не робот:
2. И нажмите на эту кнопку.
закрыть



>

Для дальнейшего выбора технологии воспользуемся исследованиями, предоставленными в открытый доступ [6].

В тестировании принимали участие:

Tomcat (internal web server);

mod_php 4.0b2;

mod_perl 1.21;

JRun 2.3.3/Apache 1.3.9;

ServletExec 2.2/Apache 1.3.9;

CGI using Perl.

Для реализации тестов использовалось следующее аппаратное и программное обеспечение:

сервер - 300 Mhz Pentium II, RedHat 6.0/64 Мб оперативной памяти;

клиент - 300 Mhz Celeron, RedHat 6.0/32 Мб оперативной памяти.

Используемые тесты:. В данном тесте производилось чтение и передача небольшого (311 байт) статичного файла - т.е. тестирования СТ в качестве обычного web-сервера.. Для измерения "накладных расходов" работы СТ использовалась тестовая программа "Hello, World". Другими словами, как бы эффективно ни была написана ваша серверная программа, вы никогда не получите более высокие показатели производительности, нежели в этом тесте.. Тест, практически во всем аналогичный тесту Servlet, с тем отличием, что применялся для тестирования PHP, Perl`a и ASP, тогда как Servlet относился лишь к Java СТ.. Тест выводящий "Hello, World" в цикле суммарным объемом около 64 кб. Этот тест, особенно в сравнении с тестом Big дает довольно грубое представление о производительности базовых функций.. В данном тесте производилась отправка сравнительно большого (около 64 кб) массива статичной информации.. Простейший запрос к базе данных (два запроса Select). Дает оценочное представление о производительности цепочки web-сервер - СТ - сервер базы данных (точнее драйвер базы данных - сервер базы данных, даже если драйвер встроенный). Для JAVA тестов во второй части, первое число в таблице означает результаты тестирования с использованием драйвера org. gjt.. Второе число - результат тестирования с применением драйвера Caucho. В общем случае данный метод двойного тестирования демонстрирует важность драйвера базы данных для быстродействия системы в целом.. Тот же тест что и DB, но в заголовке страницы указывался "срок давности" (Expires) плюс 15 секунд от времени исполнения.

Таблица 2.1 - производительность (операций в секунду). Более высокие показатели означают большую производительность. Тест для одного пользователя.

ТехнологияFileServletHelloBigDBCacheMod_PHP/Apache56129152117117Mod_Perl/Apache55036592111111ServletExec/Apache/IBM536981035959Tomcat/IBM12910094205050CGI Perl/Apache550672877JRun/Apache/JDK1.253169372525Tomcat/JDK 1.2376237122424

Как видно из таблицы PHP и Perl в разы опережают своих конкурентов по всем тестам, кроме "File". Поэтому мы убираем из дальнейшего рассмотрения такие технологии как сервлеты, JSP и CGI. Следует отметить, что из рассмотрения были вычеркнуты технологии на базе Resin web Server, которая является значительно более скоростной, в силу наличия ряда уязвимостей. Так, злоумышленник, согласно журналу "Хакер", после некоторых манипуляций может просмотреть JSP исходный код и получить доступ к ограниченным директориям.

Далее была проведена еще одна серия тестов. Суть их осталась прежней. Единственное существенное отличие состояло в том, что была эмулирована одновременная работа нескольких пользователей - 4 клиента и один сервер. Число четыре было выбрано неслучайно. Учитывая малое время выполнения одного теста, одновременное выполнение четырех запросов представляется, по мнению автора, вполне достаточным и отражает загрузку среднепосещаемого по российским меркам, сервера. (Предположительно около 20000 запросов в течение суток, 50% которых приходится на обед) - получаем пиковую загрузку порядка 10000 запросов в час, или 2,8 запроса в секунду. Также в тестирование была добавлена технология ASP.

Таблица 2.2 - производительность (операций в секунду). Более высокие показатели означают большую производительность. Тест для четырех пользователей.

ТехнологияFileHelloLoopBigDBMod_Perl/Apache801385119793ASP/IIS16543851.480-Mod_PHP/Apache8693421344141

Для начала сравним PHP и Perl. Исходя из тестов видно, что Perl более чем в 2 раза быстрее работает с большими блоками статической информации, а PHP более чем в полтора раза опережает Perl по скорости взаимодействия с базой данных. Но именно тест "BD" мне кажется более важным, поскольку каждое обращение пользователя к приложению будет инициировать обращение приложения к базе данных. Кроме того, программы, написанные на PHP достаточно легко читаемые в отличие от Perl-программ. Исходя из вышесказанного, я делаю выбор в пользу PHP среди этих двух технологий.

Теперь сделаем последний выбор: ASP - PHP. В пользу ASP говорит ее большая производительность, но на данный момент, ASP в полном объеме существует только для платформы Windows. Разработки по переносу на другие системы ведутся, но еще не завершены и их будущие результаты трудно оценить. Что касается разработки сайтов, то ASP сильно привязана к серверу IIS, и, хотя архитектура позволяет перенести приложения ASP на другую платформу, на данный момент реальная возможность отсутствует. Таким образом важнейшее - многоплатформенность пока еще не может быть удовлетворено платформой ASP.net, а значит ее использование для такой системы пока не оправдано. Однако необходимо отметить, что такая система должна иметь возможности интеграции с платформой.net (особенно Web - сервисы), поскольку ее будущее широкое использование не вызывает сомнений.

Итак, окончательный выбор сделан в пользу PHP.

2.3.1 О достоинствах и недостатках PHP

Достоинства:

является си-подобным языком, поэтому многим программистам будет легко перейти на него;

бесплатен;

в связке с MySQL является кроссплатформенной технологией;

постоянно совершенствуется;

допускает работу с большинством СУБД;

объектно ориентирован;

поддерживает все популярные протоколы (HTTP, FTP, IMАР, NNTP, POPS, net sockets и другие);

наиболее популярен в мире и в России в частности.

PHP используется такими компаниями как "Zend", "MySQL", "Бегун", "РДВ-Медия", "Хронопей", "RU-CENTER", "АВТОВАЗ", "Microsoft", а также разработчиками "Мамбы", "МойКруг", "RedTram", "РБК" и многими другими. И, главное, именно на php написаны самые дорогие и сильные, по мнению большинства web разработчиков, системы управления контентом UMI. CMS и Bitrix.

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

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

2.4 Выбор дополнительного программного обеспечения

 

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

После выбора платформы мы оказываемся перед не столь широким ассортиментом Web-серверов. Для Unix остается несколько возможных вариантов: Apache, Zeus, AOL Server и Pi3Web.

С учетом того, что ранее мы уже остановили свой выбор на PHP, установленном как интегральная часть Web-сервера (SAPI), практически безальтернативным выбором является сервер Apache. Он используется на 70% Web-серверов во всем мире, и показал себя очень надежным и быстрым вариантом. Более того, мы существенно упростим себе жизнь при выборе провайдера, т.к. этот Web-сервер установлен практически у каждого отечественного провайдера.

Следует отметить, что тип используемого Web-сервера никак не влияет на синтаксис PHP, в отличие от операционной системы. Поэтому смена провайдера не повлияет на работоспособность приложения, даже при смене типа Web-сервера.- это свободно распространяемый Web-cepвep, разработанный по принципу открытой модели кода. В проекте по его разработке могли участвовать все желающие.

Сервер Apache во многом обязан своим появлением компании Netscape. В 1994 года в Netscape перешел Роб Мак-Кул (Rob McCool), который до этого работал в NCSA (National Center for Supercomputing Applications - Национальный центр суперкомпьютерных приложений) и создал Web-сервер NCSA. После его ухода из NCSA процесс разработки сервера приостановился, поэтому Web-мастера стали сами дорабатывать сервер и устранять ошибки. Несколько таких разработчиков объединили свои усилия и начали распространять свои наработки по всему миру (отсюда и название: "apatchy означает "защита").

Проект Apache" - это совместные усилия по разработке программного обеспечения, нацеленное на создание оптимальной, коммерческой, многофункциональной, и свободно-распространяемой реализации HTTP сервера. Проект совместно управляется группой добровольцев, расположенных по всему миру. Коммуникация членов проекта происходит по средствам Интернет, с целью консолидирования усилий в развитии и планировании сервера и его документации. Эти добровольцы известны как Apache Group. Кроме того, сотни пользователей сети внесли свои идеи и труд в развитие и усовершенствование проекта.

На данный момент сервер apache установлен у большинства Хостинг-провайдеров и зарекомендовал себя как наиболее стабильный, функциональный и надежный.