Разработка динамического сайта для предприятия

Автор работы: Пользователь скрыл имя, 16 Апреля 2012 в 20:13, дипломная работа

Описание

В современной экономической обстановке коммерческие организации используют различные виды рекламы для продвижения на рынке товаров и услуг и привлечения новых клиентов. Существует множество всевозможных видов рекламы. С течением времени эффективность рекламы неизбежно снижается, что ведет к поиску новых, более современных видов рекламы. Одним из таких видов является реклама в сети Internet.
Организации в рекламных целях создают различного рода сайты, такие как сайты-визитки, интернет – витрины, интернет – магазины, корпоративные сайты. Дипломная работа связана с разработкой динамического сайта ЗАО «Точка оплаты», необходимого для рекламы деятельности организации в сети Интернет.

Работа состоит из  1 файл

Разработка динамического сайта для предприятия.doc

— 1.61 Мб (Скачать документ)

     К недостаткам динамического сайта  относят:

  • динамический сайт дороже в технической поддержке, чем статический, т.к. требует от компании, которая осуществляет поддержку, более высокой квалификации специалистов;
  • динамический сайт требует большее количество ресурсов сервера, и не все провайдеры могут осуществлять его техническую поддержку.
  1. Флеш (flash) – сайт.

     Флеш-сайт – это по сути хорошо анимированные  картинки и/или интерактивные мультики. На самом деле флеш-сайт также может  быть статическим и динамическим. Но динамические флеш-сайты очень редки и дороги в разработке, поэтому здесь имеется ввиду статический флеш-сайт, конечно с элементами интерактива. В файловой системе сервера лежат статические html-страницы и флеш-ролики. При просмотре такого сайта на компьютер пользователя подгружаются флеш-ролики и, в соответствии с записанной в таком ролике программой, формируют для пользователя на экране картинку. Такая картинка, как правило, содержит интерактивные элементы (ссылки) при щелчке, на которые выводятся другие картинки или текст.

     Основное  достоинство  флеш-сайтов  - профессионально сделанный флеш-сайт выглядит эффектно.

     Недостатки  флеш-сайтов:

  • для просмотра флеш-сайта на компьютере должно быть установлено дополнительное программное обеспечение;
  • часто флеш-ролики имеют большой объем (вес файлов), долго загружаются и создают дополнительный трафик;
  • флеш-ролики по сути - картинки. По этому флеш-сайты практически не находятся поисковыми системами, а сегодня самое эффективное привлечение клиентов происходит именно через поисковые системы (Яндекс объявил, что начал индексировать флеш-сайты, но очевидно, что индексации поддаются только флеш-сайты, в которых текст отображается именно как текст, а не как картинка. С картинки ни один поисковик на сегодняшний день не сможет прочитать текст);
  • при публикации нового материала флеш-сайту присущи все недостатки статического сайта, но только помноженные на значительно большие материальные и трудовые затраты.

     Рассмотрев  особенности типов сайтов, был  сделаны следующие выводы:

    1. Статический сайт дешевле в разработке и технической поддержке, но эти достоинства нивелируются серьезными недостатками в оперативности публикации информации и затратами на содержание специалиста (html-верстальщик).
    2. Динамический сайт требует больших затрат на разработку и техническую поддержку, чем статический, но эти затраты быстрее окупаются за счёт снижения затрат на редактирование контента и развитие информационной системы сайта. Динамический сайт служит дольше и эффективнее статического.
    3. Флеш-сайт будет интересен только тем, кто любит смотреть мультики. Для посетителя, который ищет конкретную информацию, флеш-сайт скорее будет помехой, чем полезным инструментом. Он медленно загружается и зачастую заставляет пользователя смотреть одно и тоже помногу раз.

     Информация  на сайте ЗАО «Точка Оплаты» будет  меняться достаточно часто, а сам  сайт служит для привлечения потенциальных  партнеров и клиентов и должен отражать последние изменения в  экономической политике организации, соответственно наиболее подходящим типом сайта является динамический сайт.

     1.2.1 Анализ языков web-программирования

     Разрабатываемый динамический сайт и его система  управления являются веб-приложением. Веб-приложение - приложение, в котором клиентом выступает браузер, а сервером - веб-сервер. Браузер способен отображать веб-страницы и, как правило, входит в состав операционной системы. Логика приложения сосредотачивается на сервере, а функция браузера заключается в основном в отображении информации, загруженной по сети с сервера, и передаче обратно данных, введенных пользователем. Одним из преимуществ такого подхода является тот факт, что клиентская часть приложения не зависит от конкретной операционной системы пользователя, и веб-приложения, таким образом, являются межплатформенными сервисами.

     Для создания веб-приложений на стороне  сервера используются разнообразные  технологии и языки программирования, такие как PHP, ASP.NET, Java, Python, Ruby и другие. Ряд из них (PHP, Python) имеют открытый код, распространяются свободно и могут использоваться практически на любых веб-серверах, другие (ASP, ASP.NET, Java) - привязаны к конкретным веб-серверам. На стороне клиента используется JavaScript и Flash.

     Рассмотрим  наиболее популярные языки и технологии программирования, такие как ASP, Python, PHP.

     ASP (англ. Active Server Pages - «активные серверные страницы») - технология от Microsoft, позволяющая легко разрабатывать приложения для World Wide Web. ASP работает на платформе операционных систем линии Windows NT и на веб-сервере Microsoft IIS. ASP не является языком программирования - это лишь технология предварительной обработки, позволяющая подключать программные модули во время процесса формирования Web-страницы. Относительная популярность ASP основана на простоте используемых языков сценариев (VBScript или JScript) и возможности использования внешних COM-компонент.

     Технология ASP получила своё развитие в виде ASP.NET - новой технологии создания веб-приложений, основанной на платформе Microsoft .NET.

     ASP.NET внешне во многом сохраняет  схожесть с более старой технологией ASP, что позволяет разработчикам относительно легко перейти на ASP.NET. В то же время внутреннее устройство ASP.NET существенно отличается от ASP, поскольку она основана на платформе .NET и, следовательно, использует все новые возможности, предоставляемые этой платформой.

     Хотя ASP.NET берёт своё название от старой технологии Microsoft ASP, она значительно от нее отличается. Microsoft полностью перестроила ASP.NET, основываясь  на Common Language Runtime (CLR), который является основой всех приложений Microsoft .NET. Разработчики могут писать код для ASP.NET, используя практически любые языки программирования, в том числе, и входящие в комплект .NET Framework(C#, Visual Basic.NET, и JScript .NET). ASP.NET имеет преимущество в скорости по сравнению со скриптовыми технологиями, так как при первом обращении код компилируется и помещается в специальный кеш, и впоследствии только исполняется, не требуя затрат времени на парсинг, оптимизацию.

     Использование в качестве платформ операционных систем линии Windows NT и веб-сервера Microsoft IIS значительно ограничивает область применения ASP.NET, так как подавляющее число хостинг-провайдеров используют на своих серверах Unix-системы, а в качестве веб-сервера - Apache.

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

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

     Python - активно развивающийся язык программирования, новые версии (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют ANSI, ISO или другие официальные стандарты, их роль выполняет CPython.

     К основным недостаткам Python относят:

  1. Низкое быстродействие. Python, как и многие другие интерпретируемые языки, имеют один общий недостаток - сравнительно невысокую скорость выполнения программ. Однако, в случае с Python считается, что этот недостаток с лихвой компенсируется уменьшением времени разработки программы и в сообществе Python -программистов преобладает мнение, что на Python можно решить задачу в среднем в 3-5 раз быстрее чем на Си++ или Java. Множество программ/библиотек для интеграции с другими языками программирования предоставляют возможность использовать другой язык для написания критических участков. В самой популярной реализации языка Python интерпретатор довольно велик и более требователен к ресурсам, чем в аналогичных популярных реализациях, что ограничивает его применение во встроенных системах.
  2. Отсутствие статической типизации. Отсутствие статической типизации является не столько недостатком интерпретатора, сколько выбором дизайнера языка. Дело в том, что в Python принята так называемая «Утиная типизация». В силу этого типы передаваемых значений недоступны на этапе компиляции, и ошибки вроде AttributeError могут возникать во время исполнения. Отсутствие статической типизации также является одной из основных причин низкого быстродействия.
  3. Невозможность модификации встроенных классов. По сравнению с Ruby и некоторыми другими языками в Python отсутствует возможность модифицировать встроенные классы, такие как int, str, float, list и другие, что однако позволяет Python потреблять меньше оперативной памяти и быстрее работать. Еще одной причиной введения такого ограничения является необходимость согласования с модулями расширения. Многие модули (в целях оптимизации быстродействия) преобразуют Python-объекты элементарных типов к соответствующим C типам вместо манипуляций с ними посредством C API.

     Глобальная блокировка интерпретатора (GIL). GIL (Global Interpreter Lock) - проблема, присущая CPython, Stackless и PyPy, но отсутствующая в Jython и IronPython. При своей работе основной интерпретатор Python постоянно использует большое количество потоково-небезопасных данных. В основном это словари, в которых хранятся атрибуты объектов. Для избежания разрушения этих данных при совместной модификации из разных потоков перед началом исполнения нескольких инструкций (по умолчанию 100) поток интерпретатора захватывает GIL, а по окончанию освобождает. Вследствие этой особенности в каждый момент времени может исполнятся только один поток Python кода, даже если в компьютере имеется несколько процессоров или процессорных ядер (GIL также освобождается на время выполнения блокирующих операций, таких как ввод-вывод, изменения/проверка состояния синхронизирующих примитивов и других, таким образом если один поток блокируется, другие могут исполняться). Была предпринята попытка перехода к более гранулярным синхронизациям, однако из-за частых захватов/освобождений блокировок эта реализация оказалась слишком медленной. В ближайшем будущем переход от GIL к другим техникам не предполагается.

     В области программирования для сети Internet PHP - один из популярнейших языков благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. Именно по этим причинам было принято решение создавать динамический сайт на PHP. PHP(англ. PHP: Hypertext Preprocessor - «PHP: препроцессор гипертекста») - скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения (от англ. Common Gateway Interface - «общий интерфейс шлюза»).

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