Разработка Интернет-представительства для задач риэлтерской деятельности

Автор: Пользователь скрыл имя, 19 Марта 2012 в 04:12, дипломная работа

Описание работы

Cookie – файлы, которые используются для сохранения данных о пользователе, посещающем различные страницы сайта или возвращающемся на сайт спустя некоторое время. Представляют собой текстовую строку, включаемую в запросы и ответы протокола HTTP.
DLL (Dynamic Link Library) – Библиотека динамических связей – это набор маленьких программ, каждая из которых может вызываться, при необходимости, большой программой. Загружаются такие программы выборочно и только при необходимости, экономя оперативную память.

Содержание

Определения
Обозначения и сокращения
Введение
1 Анализ задач риэлтерской деятельности в условиях Интернет-представительства
1.1 Организационная структура предприятия
1.2 Анализ основных бизнес-процессов предприятия
1.3 Особенности работы в сфере недвижимости
1.4 Требования заказчика к проекту
1.5 Выбор технологии для создания web-сайта
Языки программирования клиент-машин
Языки программирования серверов
1.6 Выбор технологии для реализации БД
1.7 Вывод к разделу 1
2 Разработка web-ресурса на основе технологий PHP и MySQL
2.1 Создание БД MySQL
2.2 Создание динамического web-сайта на основе PHP
Разработка структуры
Компоновка страниц
Реализация
2.3 Размещение и продвижение web-сайта
3 Оценка эффективности проекта
Оценка социальной эффективности
Оценка технической эффективности
Оценка экономической эффективности
Заключение
Список использованных источников

Работа содержит 1 файл

Диплом web-представительство для задач риэлтерской деятельности.doc

— 742.50 Кб (Скачать)

Сервер интерпретирует SSI-директивы и выполняет соответствующие действия. Использование SSI-вставок позволяет динамически формировать странички в зависимости от различных параметров (например, типа браузера).

Преимущества SSI проявляются тем сильнее, чем больше по объему сайт, имеющий повторяющиеся элементы кода на разных страничках.
Для того, чтобы сервер знал, что страничка не обычная, а содержит SSI-директивы, используется специальное расширение: .shtml или .shtm. (Вообще-то, конфигурация сервера может быть настроена и на другое расширение, но данные расширения воспринимается всегда, если только на сервере не отключено применение SSI вообще).

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

<!--#команда параметр"значение" -->

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

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

Не является ли SSI альтернативой CGI? Скорее, это дополнение (и очень ценное) к CGI, предоставляющее web-программисту множество удобств.

Спецификация ISAPI

Подобно CGI, спецификация ISAPI (Internet Server Application Programming Interface – Интерфейс программирования северных приложений) определяет правила взаимодействия между Web-сервером и дополнительны­ми программами. Для того чтобы понять, зачем понадобился альтернативный подход к созданию программ, выполняющихся на сервере, поговорим о преимуществах и не­достатках стандарта CGI.

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

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

Стремление повысить производительность и снизить затраты ресурсов привело к созданию корпоративных стандартов. Наиболее известными из них являются NSAPI и ISAPI.

Основное отличие ISAPI-программы от CGI-сценария состоит в том, что ISAPI-программа представляет собой не исполняемый файл, а динамическую библиотеку (DLL). Благодаря этому появилась возможность запускать программу не как отдель­ный процесс, а как поток, принадлежащий Web-серверу. Для выполнения потока тре­буется значительно меньше ресурсов, чем для работы независимого процесса. Поток использует адресное пространство породившего его процесса и работает намного бы­стрее, чем отдельный процесс.

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

Однако иногда преимущества ISAPI-программ оборачиваются недостатками. Это не удивительно. Ведь если бы ISAPI-программы были свободны от недостатков, они бы быстро вытеснили CGI-сценарии.

Если за универсальность CGI-сценариев пришлось платить недостаточной произ­водительностью, то в качестве платы за высокую производительность создатели ISAPI-программ жертвуют универсальностью. Арсенал языков, имеющихся в распо­ряжении разработчиков ISAPI-программ, значительно беднее, чем у их коллег, соз­дающих CGI-сценарии. По сути, тому, кто хочет быстро написать достаточно боль­шую ISAPI-программу, не остается иного выбора, кроме C++.

Второй недостаток ISAPI гораздо серьезнее первого. Поскольку программа данного типа выполняется как поток, порожденный сервером, она использует адресное про­странство сервера. Следовательно, ошибка ISAPI-программы может не только вызвать ее аварийное завершение, но и вывести из строя сервер.

Сервлеты JAVA

Сервлеты – это высокопроизводительные платформо-независимые серверные приложения, написанные на Java и составляющие реальную конкуренцию таким технологиям, как CGI, PHP и Perl.

Java-сервлеты были созданы в компании Sun Microsystems. Сервлеты похожи на CGI-сцена­рии тем, что это код, создающий документы. Тем не менее, сервлеты, поскольку они используют Java, должны быть скомпилированы перед запуском как классы, которые динамически загружаются веб-сервером при запуске.

Java Server Pages или JSP – это другая технология, позволяющая разработчикам встраивать Java в web-страницы, наподобие ASP.

К преимуществам сервлетов можно отнести:

а)  Исключительно высокая скорость работы. Быстродействие сервлетов объясняется тем, что они, во-первых, представляют собою уже скомпилированный и оптимизированный код (а в случае с использованием JIT – ещё и преобразованный в машинный) и, во-вторых, выполняются в единожды загруженной и инициализированной Java-машине.

Таким образом, экономятся ресурсы на запуск обработчика скpипта (со стороны сервера), необходимые, например, для Perl или PHP (в некоторых ОС, в частности, в OS/2 - это очень серьезная экономия), и ресурсы (как память, так и время), затрачиваемые на непосредственно предкомпиляцию (интерпретацию) кода (что необходимо для тех же Perl, PHP и др.).

Реально обе этих проблемы сразу не решаются, практически, нигде. Наибольший эффект даёт, пожалуй, внедрение транслятора скpиптового языка непосредственно в web-сеpвеp, например, пресловутые ASP-скpипты в серверах от Microsoft, или модули mod_perl или mod_php для Apache. Последний вариант – PHP4, внедренный в Apache – является, наверное, самым производительным из всего вышеперечисленного.

б)  Переносимость. В данном случае принцип "write once run everywhere" (описать единожды, использовать везде) действует безотказно. Сервлеты, написанные в соответствии со спецификацией от Sun Microsystems и не использующие какие-то особенности конкретного веб-сервера, работают безо всякой переделки или перекомпиляции под любыми, порой весьма далёкими друг от друга платформами, будь то Solaris, FreeBSD или OS/2. В связи с этим разработчик может совершенно свободно выбирать, в какой системе ему удобнее работать – он ни коим образом не привязан ни к серверу, ни к будущей целевой платформе.

в)  Работа с базами данных. Работа с реляционными СУБД из Java унифицирована (для этого существует специальный пакет java.sql), удобна и отвязана от специфичных для конкретной СУБД тонкостей. Всё, что Вам нужно – это найти для своей СУБД JDBC-дpайвеpы (Java DataBase Controller), а они сейчас существуют практически для всех современных баз данных, зачастую даже по нескольку разновидностей, и далее можно пользоваться совершенно стандартными механизмами.

А при переходе на другую СУБД, например, c MySQL на Oracle, достаточно будет просто добавить новый драйвер и поменять путь к новой базе для подключения к ней. При этом не понадобится ни одного изменения в программном коде.

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

Конечно, есть у этой технологии и недостатки. С одной стороны технические: например, высокие требования к системным ресурсам - в основном, к памяти (под OS/2, например, запущенная Java-машина занимает 15-20 мегабайт оперативной памяти) или необходимость в качественной устойчивой реализации Java для выбранной платформы. С другой стороны – отсутствие должной квалификации у разработчиков (ввиду сложности языка как для освоения, так и для работы) и их предубежденность относительно новых технологий [12].

Но не смотря на это Java по праву считается одним из популярнейших решений при написании серверных приложений.

Язык Perl

Perl – интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информации и выдачи сообщений. Он также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен, но про него трудно сказать, что он элегантен и компактен.

Perl был создан в 1986 году как инструмент для администрирования и конфигурирования системных ресурсов сети, состоящей из UNIX-компьютеров. Он сочетает в себе лучшие черты языков C, Shell, Sed и AWK, поэтому для тех, кто знаком с ними, изучение Perl не представляет особого труда. Синтаксис выражений Perl близок к синтаксису C. В отличие от большинства утилит операционной системы UNIX Perl не ставит ограничений на объем обрабатываемых данных и если хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия может быть произвольной глубины. Хотя Perl приспособлен для сканирования текстовых файлов, он может обрабатывать так же двоичные данные и создавать .dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать регулярные выражения, создавать объекты, а также позволяет осуществлять доступ к базам данных.

Язык Perl был создан для повышения эффективности обработки текстовых документов. Он ориентирован на обработку строк. В настоящее время язык получил большое распространение как инструмент создания исполняемых модулей WWW-сервера. Существующие пакеты расширения обеспечивают доступ к SQL-серверам непосредственно из Perl-программы. Это позволяет использовать его для решения всех задач, возникающих при обеспечении WWW-доступа к базам данных. Perl эффективен также при обработке произвольных структур данных: существующих отчетов, списков, карточек в электронном виде.

Хотя CGI-приложения можно писать практически на любом языке, Perl и CGI-программирование стали синонимами для многих програм­мистов. Как сказал Хасан Шрейдер (Hassan Shroeder), первый web-мастер Sun, «Perl – это артерия Интернета». Perl - самый широко исполь­зуемый язык для CGI-программирования, и для этого есть много веских причин:

      Perl легко выучить: его синтаксис напоминает другие языки (например С), потому что он «многое прощает» – при ошибке выда­ется подробное сообщение, помогающее быстро локализовать про­блему;

      Perl способствует быстрой разработке, так как это интерпретируе­мый язык; исходный код не надо компилировать перед запуском;

      Perl доступен на многих платформах с минимальными измене­ниями;

      Perl содержит очень мощные функции для обработки строк со встро­енной в язык поддержкой поиска и замены по регулярным выраже­ниям;

      Perl обрабатывает двоичные данные так же легко, как и текст;

      Perl не требует четкого разделения на типы: числа, строки и логичес­кие выражения являются обычными скалярами;

      Perl взаимодействует с внешними приложениями очень просто и обеспечивает собственные функции для работы с файловыми систе­мами;

      Для Perl есть много свободно доступных модулей, начиная с модулей для создания динамической графики до интерфейсов с Ин­тернет-серверами и системами управления базами данных.

Perl действительно очень быстрый: считывая исходный файл, он тут же компилирует его в низкоуровневый код, который потом исполняет. Обычно компиляция и исполнение в Perl не воспринимаются как от­дельные шаги, поскольку выполняются вместе: Perl запускается, чита­ет исходный файл, компилирует его, запускает и затем завершает рабо­ту. Этот процесс повторяется каждый раз, когда запускается сценарий Perl, в том числе CGI-сценарии. Поскольку Perl так эффективен, этот процесс происходит достаточно быстро, чтобы обрабатывать все запро­сы на самых загруженных серверах. Однако следует обратить внимание, что в систе­мах Windows этот гораздо менее эффективен из-за необходимости созда­ния новых процессов.

Язык PHP

Изначально аббревиатура РНР означала Preprocessor of Home Pages – препроцессор домашних страниц. Это язык внедряемых в HTML-страницы сценариев, исполняемых на сервере. По большей части его синтаксис заимствован из таких языков, как С, Perl, Java, и при этом добавлена масса возможностей, которых этим языкам недостает. Про­ще говоря, синтаксис РНР – это разумная альтернатива и строго­сти С, и «беспредельности» Perl [1].

РНР наделен практически полным набором функциональности, о ко­торой (до появления РНР) мог только мечтать web-программист. Его цель – позволить максимально быстро создавать динамически гене­рируемые web-страницы.

Основными конкурентами РНР являются технологии JSP (Java Server Pages и Java Scriptlets), MS ASP (Active Server Pages от Microsoft), Perl, SSI (Server Side Includes), Cold Fusion Server Pages.

Рассмотрим основные недостатки, которые присущи указанным технологиям. Java Server Pages – достаточно слож­ный для изучения и использования язык. Active Server Pages, основанный на син­таксисе VBScript (Visual Basic), имеет всего несколько десятков соб­ственных функций и поэтому вынужден использовать его объекты; кроме того, он ориентирован исключительно на работу под Windows. Perl – язык весьма сложный, и его вольности затрудняют его понима­ние. Server Side Includes позволяет всего лишь компоновать HTML-страницу из не­скольких файлов. Cold Fusion Server – коммерческий продукт, и его стоимость является его ос­новным недостатком.

Основные достоинства РНР:

Информация о работе Разработка Интернет-представительства для задач риэлтерской деятельности