Проектирование и разработка Web-сайта

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 21.06.2013
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

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

Мамбот -- это функция, которая выполняет некоторые манипуляции с данными перед отображением их пользователям сайта. В настоящее время в Joomla существуют следующие группы мамботов: content, editors, search.

Мамботы группы content позволяют осуществлять различные манипуляции с текстом статей: выделять слова, вставлять картинки, удалять лишние пробелы и так далее. Группа мамботов editors содержит визуальные редакторы Joomla. Визуальные редакторы значительно облегчают процесс добавления материалов на сайт. Основной задачей мамботов группы search является поиск данных по заданным ключевым словам. В дистрибутиве Joomla уже содержатся поисковые мамботы, позволяющие осуществлять поиск в стандартных компонентах.

Основу системы управления контентом Joomla составляет ядро. Посредством менеджера сайта пользователь системы управляет модулями (новостями, каталогами статей, базой знаний и т.д.)

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

Двусторонняя связь существует между шаблонами и языковыми файлами, КЭШем, менеджером шаблонов и ядром.

Архитектура системы управления контентом Joomla спроектирована так, чтобы на каждом этапе функционирования предоставлять пользователю возможность выполнять все необходимые процедуры с максимальной эффективностью и предельной надежностью. Достигается это за счет встроенного интеллектуального КЭШа и сжатия HTML-страниц, осуществляемого при передаче с сервера на компьютер пользователя.

Все модули системы Joomla строятся на основе базового модуля, их настройка однотипна и предельно проста. Все необходимые изменения с легкостью выполняются пользователем в специальном визуальном редакторе, без необходимости перепрограммирования.

Joomla предоставляет пользователю следующие возможности:

- создание неограниченного количества страниц;

- четкая организация структуры сайта;

- для каждой динамической страницы создание своего описания и ключевых слов в целях повышения рейтинга в поисковых системах;

- задание начала и окончания публикации любых материалов по календарю;

- модуль безопасности для многоуровневой аутентификации пользователей и администраторов (возможность ограничить доступ к определенным разделам сайта только для зарегистрированных пользователей);

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

- закачка изображений при помощи браузера в вашу собственную библиотеку -- для последующего использования в любом месте сайта;

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

- создание нескольких форм обратной связи для каждого контакта;

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

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

- изменение порядка объектов, включая новости, вопросы, статьи и так далее;

- полностью основанный на БД движок с использованием PHP/MySQL и, как следствие, экономное использование места на сервере;

- работа под Linux, FreeBSD, Mac OS X, Solaris, AIX, SCO, Windows NT, Windows 2000.

Системные требования:

- PHP 4.2.x или выше;

- MySQL 3.23.x, 4.0.x, 4.1.x;

- Apache 1.13.19 или выше.

Joomla может использоваться совместно со всеми наиболее известными браузерами, а именно: Internet Explorer (версия 5.5+), Netscape, и Mozilla. Именно с ними секция администрирования наиболее совместима.

CMS "Joomla! 1.0.15 Lavra Edition 2008"

Это очередная локализация оригинальной CMS "Joomla! 1.0.15", которая переработана с учетом специфики работы с кириллицей на разных версиях РНР (вплоть до 5.1) и разных версиях MySQL-серверов (вплоть до 5.1).

Пакет выпущен в виде одной сборки для любой версии MySQL-сервера (вплоть до 5.1) без всяких дополнительных настроек, которые в дистрибутивах ранних версий приходилось вносить перед установкой для подстройки под версию MySQL-сервера.

Дополнительно в состав поставки дистрибутива CMS "Joomla! 1.0.15 Lavra Edition 2008" традиционно входит последняя на данный момент версия компонента файлового менеджера ”joomlaXplorer 1.5.1”.

"Joomla! 1.0.15 Lavra Edition 2008" полностью совместима по формату MySQL-БД с оригинальной версией "Joomla! CMS" и может быть установлена поверх существующей версии "Joomla!" путем простой перезаписи файлов дистрибутива поверх существующей установки "Joomla!" любой из версий в интервале с 1.0.1 по 1.0.15, никаких настроек при этом делать не требуется.[22]

Структура базы данных в CMS Joomla

Для того, чтобы продемонстрировать связи установленные в CMS Joomla, можно выделить следующие основные логические разделы:

- Пользователи и права доступа;

- Содержание;

- Сервисы.

Долгосрочная поддержка подойдет для уже работающих сайтов. Если сайт создается с нуля, то можно обойтись стандартной поддержкой - Рисунок 1:

Рисунок 1 - Цикл релизов Joomla на 2011-2014 годы

Joomla содержит множество языковых пакетов - Рисунок 2:

Рисунок 2 - Языковые пакеты

2.2.4 Вспомогательные компоненты

Denwer (сокращение от "джентльменский набор web-разработчика" - читается как "Денвер".) - набор дистрибутивов и программная оболочка, созданный для отладки сайтов на локальной Windows-машине, без подключения к сети Интернет. Базовый пакет содержит большинство необходимых программ и утилит:

Данный комплекс программ позволяет запустить полноценный web-сервер Apache с поддержкой PHP и сервер MySQL на машине, работающей под управлением MS Windows 95/98/Me/NT/2000/XP. Как правило, при установке не требуется никакой настройки, комплекс может использоваться даже неподготовленными пользователями. Он эффективно может использоваться для отладки интерактивных сайтов, программ, использующих базу данных MySQL, написанных на языке PHP.

Установка denwer

Denwer имеет нечто вроде ядра -- так называемый «базовый пакет», занимающий около 5.5 MB. Все остальное поставляется в виде пакетов расширений.

Форма установки Denwer изображена на Рисунке 3

Рисунок 3 - Установка Denwer

Вас спросят о том, в какой каталог вы хотели бы установить комплекс (по умолчанию используется C:\WebServers, вам нужно лишь нажать Enter, чтобы согласиться с этим выбором). В указанном каталоге будут расположены абсолютно все компоненты системы, и вне его никакие файлы в дальнейшем не создаются (исключая ярлыки на Рабочем столе).

Рекомендуется устанавливать комплекс в каталог первого уровня -- то есть, C:\WebServers, а не, например, C:\My\WebServers. Дело в том, что инсталляторы пакетов расширений ищут базовый комплект именно на первом уровне по всем дискам. И, если не находят, заставляют вас ввести имя директории вручную.

Далее вам предложат ввести имя виртуального диска, который будет связан с только что указанной директорией. Рекомендуем вам согласиться со значением по умолчанию (Z:). Важно, что диска с этим именем еще не должно содержаться в системе.

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

1. Создавать виртуальный диск при загрузке машины (естественно, инсталлятор позаботится, чтобы это происходило автоматически), а при остановке серверов его (диск) не отключать.

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

Запуск Denwer

Установка завершена. Следует нажать по созданному инсталлятором ярлыку Start Denwer на Рабочем столе, а затем, дождавшись, когда все консольные окна исчезнут, открывайте браузер и набрать в нем адрес: http://localhost/denwer/. Выходить из Интернета при этом не обязательно.

Если тестовая страница все же не загрузится, следует проверить:

Отключен ли прокси-сервер в настройках браузера. Запущен ли Денвер. Если да, нет ли ошибок при щелчке на пиктограмме пера. Не запущен ли другой Web-сервер, который мешает Денверу. Например, Microsoft IIS? Если да, его следует отключить.[10]

2.3 Создание Web-страницы с помощью языка HTML

Web-страницы могут существовать в любом формате, но в качестве стандарта принят Hyper Text Markup Language - язык разметки гипертекстов, предназначенный для создания форматированного текста, насыщенного изображениями, звуком, анимацией, видеоклипами и гипертекстовыми ссылками на другие документы, разбросанные как по всему Web-пространству, так и находящиеся на этом же сервере или являющиеся составной частью этого же Веб-проекта.

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

Язык HTML существует в нескольких вариантах и продолжает развиваться, но конструкции HTML, скорее всего, будут использоваться и в дальнейшем. Изучая HTML и познавая его глубже, создавая документ в начале изучения HTML и расширяя его насколько это возможно, мы имеем возможность создавать Web-страницы, которые могут быть, просмотрены многими броузерами Web, как сейчас, так и в будущем. Это не исключает возможности использования других методов, например, метод расширенных возможностей, который предоставляется Netscape Navigator, Internet Explorer или некоторыми другими программами.

Работа по HTML - это способ усвоить особенности создания документов в стандартизированном языке, используя расширения, только если это действительно необходимо.[9]

HTML был ратифицирован World Wide Web Consortium. Он поддерживается несколькими широко распространенными браузерами, и, возможно, станет основанием почти всего программного обеспечения, которое имеет отношение к Web.

2.3.1 Структура HTML документа

Поскольку HTML-документы записываются в ASCII-формате, то для ее создания может быть использован любой текстовый редактор.

Обычно HTML-документ - это файл с расширением .html или .htm, в котором текст размечен HTML-тегами (англ. tag - специальные встроенные указания). Средствами HTML задаются синтаксис и размещение тегов, в соответствии с которыми, браузер отображает содержимое Веб-документа. Текст самих тегов Веб-браузером не отображается.

Все теги начинаются символом '<' и заканчиваются символом '>'. Обычно имеется пара тегов - стартовый (открывающий) и завершающий (закрывающий) тег (похоже на открывающиеся и закрывающиеся скобки в математике), между которыми помещается размечаемая информация:

<p>Информация</p>

Здесь стартовым тегом является тег <p>, а завершающим - </p>. Завершающий тег отличатся от стартового лишь тем, что у него перед текстом в скобках < > ставит символ '/' (слэш).

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

- Объявление HTML;

- Заголовок;

- Тело документа.

Объявление HTML

<html> и </html>. Пара этих тегов сообщает программе просмотра (браузеру) что между ними заключен документ в формате HTML, причем первым тегом в документе должен быть тег <html> (в самом начале документа), а последним - </html> (в самом конце документа).

<html>

-тело-

</html>

Заголовочная часть.

<head> и </head>. Между этими тегами располагается информация о документе (название, ключевые слова для поиска, описание и т.д.). Однако наиболее важным является название документа, которое мы видим в верхней строке окна браузера и в списках "Избранное (BookMark)". Специальные программы-спайдеры поисковых систем используют название документа для построения своих баз данных. Для того чтобы дать название своему HTML-документу текст помещается между тегами <title> и </title>.

<html>

<head>

<title>Название страницы</title>

</head>

</html>

Тело документа.

Третьей главной частью документа является его тело. Оно следует сразу за заголовком и находится между тегами <body> и </body>. Первый из них должен стоять сразу после тега </head>, а второй - перед тегом </html>. Тело HTML-документа - это место, куда автор помещает информацию, отформатированную средствами HTML. [8]

<html>

<head>

<title>Название страницы</title>

</head>

<body>

......................................

</body>

</html>

2.3.2 Форматирование текста

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

Для начала новой строки используется тег <br> (сокр. от англ. break - прервать). Этот тег приводит к отображению браузером дальнейшего текста с начала следующей строки. Закрывающий для него тег не используется. Он удобен, если требуется с какого-то места писать с новой строки без начала нового абзаца, например, в стихотворении. Повторное его использование позволяет вставить одну или несколько пустых строк, отодвинув следующий фрагмент страницы вниз.

Сплошной текст без промежутков читается не очень легко, его неудобно просматривать и находить нужные места. Разбитый на абзацы, текст воспринимается гораздо быстрее. Для начала нового абзаца используется тег <p> (англ. paragraph - абзац). Этот тег, кроме начала новой строки, вставляет одну пустую строку. Но многократное повторение <p>, в отличие от <br>, не приведет к появлению нескольких пустых строк, останется все та же одна пустая строка.

Внутри скобок тега кроме его названия могут размещаться также атрибуты (англ. atributes - атрибуты). Они отделяются от названия и между собой пробелами (одним или несколькими), а пишутся в виде имя_атрибута="значение". Если значение не содержит пробелов, то кавычки могут быть опущены, но так делать не рекомендуется. Тег <p> может содержать атрибут ALIGN, определяющий выравнивание абзаца. По умолчанию абзац выравнен влево ALIGN="left". Возможны также выравнивания вправо ALIGN="right" и по центру ALIGN="center". При использовании атрибутов, после форматируемого текста следует использовать закрывающий тег </p>. Если его нет, то новый тег <p> означает закрытие предыдущего, соответственно вложенные <p> невозможны. Выровнять текст по центру возможно также тегом <CENTER>.

Кроме использования этих тегов, для разрыва строк возможно использование символов конца строк и табуляций в самом HTML-документе. Для этих целей существует тег <pre>. Весь текст, помещенный между тегами <PRE> и </pre>, будет выводиться без изменений, то есть со всеми концами строк и табуляциями.

Например:

<pre>Это текст написан

в две строки.</pre>

В HTML-документе, кроме текста, могут содержаться горизонтальные разделительные линии. Они, как и текст, не требуют никаких внешних файлов. Тег <HR> выведет горизонтальную линию единичной толщины вдоль всей ширины страницы. Горизонтальная разделительная линия всегда приводит к разрыву строки, но пустых строк между линией и текстом не появляется. Тег <hr> может содержать несколько атрибутов. <hr shade> и <hr> дают контурную линию с трехмерным эффектом углубления. <hr noshade> дает сплошную черную линию. Линия может не простираться во всю ширину страницы, а составлять лишь некоторую часть. Атрибут WIDTH задает ширину линии, в процентах от ширины всей страницы или в пикселах. Например, 50% - половина ширины страницы, 400 - ширина в 400 пикселов. Атрибут ALIGN может принимать значения, аналогичные его значениям для тега <p>, но выравнивание по умолчанию - по центру. Атрибут SIZE задает толщину линии в пикселах от 1 до 175; по умолчанию 1, но если <hr shade>, (линия - контурная), то добавляется толщина, необходимая для трехмерного эффекта углубления.

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

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

JavaScript представляет собой язык написания сценариев на клиентской стороне, который вносит на Web-страницы элементы интерактивности и условного поведения. С помощью JavaScript вы можете выводить дополнительную информацию о ссылках, создавать интерактивные эффекты при работе с мышью, изменять при определенных условиях содержимое страниц, случайным образом отображать содержимое страницы, загружать содержимое в новые окна браузер и фреймов и (с некоторой помощью CSS) передвигать элементы по странице. Дополнительные руководства по JavaScript можно найти на страницах webcoder.com.

Сценарии JavaScript обычно помещают непосредственно в документ HTML. Они могут находиться или в заголовке или в теле документа. В один документ можно поместить несколько сценариев. Пример синтаксиса:

<SCRIPT LANGUAGE=”JavaScnpt”>

Сценарий

</SCRIPT>

Элементы, без которых не обходится ни одна web-страница, -- фон, текст и гипертекстовые ссылки -- ставят интересную задачу гармонизации трех (или четырех, если учитывать цвет «посещенных» ссылок) цветов, занимающих в композиции резко различающиеся площади и выполняющих разные функции.

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

Контраст этот должен, прежде всего, выражаться в различной яркости цветов, так как разница только в тоне или насыщенности не позволит сознанию различать текст и фон с достаточным автоматизмом, а для текста с небольшим кеглем его тональная окраска или степень насыщенности вообще с трудом различимы (кроме того, эти параметры цвета теряются на черно-белых устройствах вывода).[19]

Самый оптимальный, и привычный для восприятия считается темный текст на светлом фоне. Поэтому он и был выбран.

2.4 Современные Web - технологии построения приложений серверной стороны

При разработке приложений серверной стороны необходимо выбрать базовую технологию, на которой это приложение будет основано. Рассмотрим наиболее популярные технологии - PHP, JSP, Java Servlets, ASP.NET, приводятся преимущества и недостатки каждой из технологий для разных классов задач и делаются общие выводы о применимости технологий для разработки сложного Web приложения или платформы.

На данный момент существуют и успешно применяются различные виды технологий построения Web приложений серверной стороны. Все такие приложения имеют общую цель - реализацию бизнес - логики на стороне сервера и генерацию кода для клиента. Также у всех этих приложений одинакова архитектура взаимодействия сервера и клиента и общий протокол взаимодействия - HTTP. Общая логика работы приложения серверной стороны представлена на Рисунке 6

Рисунок 4 - Архитектура работы приложений серверной стороны

Как видно из рисунка, работа серверных приложений происходит в три основных этапа:

- Запрос. Клиент, используя web - браузер, инициирует запрос к серверу.

- Обработка запроса, подготовка ответа. После получения запроса web - сервер проводит обработку запрашиваемого ресурса. В случае, если запрашивается статический ресурс, такой как HTML страница, рисунок, документ, эта информация форматируется для протокола HTTP и передается клиенту вкачестве ответа. Если же запрашивается динамический ресурс, запрос передается на обработку соответствующему контейнеру web - приложений, где и происходит дальнейшая работа.

- После формирования, данные передаются клиенту посредством протокола HTTP в качестве ответа. Ответ содержит данные (обычно HTML код, либо двоичные данные), а также дополнительные параметры, передаваемые в заголовках HTTP ответа.

Работа приложений серверной стороны всегда происходит по описанному выше сценарию. Очевидно, что такой подход создает сложности при создании web -приложений, основной из которых является отсутствие состояния у web - приложения (так называемое stateless programming). Это означает, что приложение работает исключительно в режиме запрос-ответ, не имея данных о предыдущих шагах пользователя или какой-либо иной постоянной информации. Для решения этой проблемы применяется понятие пользовательской сессии, которая позволяет хранить данные на сервере в течение сеанса работы пользователя.

Однако наличием сессий сложности при создании web - приложений полностью не устраняются. Чем больше возможностей предоставляет платформа реализации для приложений серверной стороны в преодолении этих сложностей, тем быстрее и эффективнее может вестись разработка. Далее будут рассмотрены различные подходы к созданию приложений серверной стороны, их достоинства и недостатки, а также рассмотрены конкретные платформы.[30]

2.4.1 Требования к приложениям серверной стороны

При рассмотрении платформ для создания приложений серверной стороны необходимо выделить два основных существующих подхода:

- Непосредственная обработка запросов и формирование ответов.

- Встраивание программного кода в шаблоны HTML страниц.

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

Второй подход использует шаблоны страниц пользователя, оформленные особым образом, что позволяет вставлять в них участки программного кода. Этот подход особенно эффективен при создании простых приложений, основная информация в которых статична, а динамическая информация может быть сгенерирована простыми программными конструкциями. При разработке сложных программных систем этот вариант усложняет взаимодействие между компонентами и затрудняет реализацию сложной архитектуры. Также он менее эффективен по производительности и ограничивает возможности по реализации сложных страниц. Примерами этого подхода служат очень популярные на данный момент технологии PHP, ASP, JSP.

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

- Платформенная независимость.

- Язык реализации.

- Производительность, масштабируемость.

- Возможности расширения и интеграции.

- Простота использования, наличие средств разработки.

- Наличие необходимых программных библиотек.

Итак, мы определили ряд требований, необходимых для современной платформы разработки. Ниже рассматриваются наиболее популярные на данный момент платформы, их особенности, а также оценка с точки зрения приведенных критериев.[30]

2.5 Базовые технологии

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

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

2.5.1 Технология Common Gateway Interface

Технология Common Gateway Interface (CGI), отличается от остальных рассматриваемых технологий тем, что является наиболее низкоуровневой и является стандартом интерфейса, который служит для связи внешней программы с web-сервером.

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

Рассмотрим основные достоинства и недостатки технологии CGI по выделенным критериям:

CGI не налагает особых условий на платформу и web - сервер, поэтому работает на всех популярных платформах и web - серверах. Также технология не привязана к конкретному языку программирования и может быть использована на любом языке, работающем со стандартными потоками ввода/вывода.

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

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

- CGI - программа представляет из себя готовый к исполнению файл, что препятствует легкому расширению системы.

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

2.5.2Технология Personal Home Page

Технология Personal Home Page (PHP) получила очень широкое распространение благодаря своей бесплатности и поддержке самых популярных платформ. Она базируется на принципе построения страниц из шаблонов, впервые появившемся в Active Server Pages, но развивает и дополняет его. Страницы РНР имеют вид обычных HTML страниц, в которых могут использоваться специальные тэги вида <?php и ?>. Между тэгами вставляются строки программного кода на специальном языке сценариев РНР.

Принцип шаблонов позволил разработчикам писать программы гораздо быстрее и без ошибок, присущих традиционным CGI - программам, выдающим HTML содержимое в поток вывода. На сегодняшний день диапазон систем, построенных на шаблонах простирается от простых страниц с выборками из базы данных до крупных приложений электронной коммерции, основанных на XML. Шаблонные системы пользуются большой популярностью среди разработчиков, поскольку наиболее подходят для типовых сайтов. Такие решения включают ColdFusion, PHP, JSP и ASP, из которых РНР является наиболее распространенной.

Рассмотрим основные достоинства и недостатки платформы:

- Применяемый в РНР язык прост и удобен, однако не является в полном смысле объектно-ориентированным;

- Для РНР существуют обширные библиотеки, а также масса встроенных функций для решения самых разнообразных задач.

- При использовании РНР с Web сервером Apache есть возможность эффективного исполнения ядра, как расширения сервера. В остальных случаях производительность платформы невысока.

- Собственных средств масштабирования РНР не имеет, все возможности по кластеризации целиком ложатся на Web - сервер и разработчиков.

Возможности интеграция ограничены включением модулей и использованием внешних функций, что не соответствует современным требованиям. Шаблонный подход РНР, при всех больших возможностях, скрывает серьезные недостатки. Из общих недостатков этого подхода, применимых как к РНР, так и ASP, JSP необходимо выделить следующие:

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

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

- Хранение бизнес логики в файлах - страницах в распределенном по управляющим элементам виде приводит к затруднению ее вынесения в объекты второго уровня.

Как общий итог рассмотрения платформы можно заключить, что, благодаря простоте использования, наличию большого числа функций и библиотек, распространенности и поддержке большинства существующих Web - серверов и платформ, РНР является очень удобным средством разработки небольших систем. В то же время ограничения по производительности, масштабируемости, языку программирования и возможностям расширения и интеграции препятствуют использованию платформы при разработке масштабных систем.[30]

2.5.3 Технология Java Servlets

Технология Java Servlets (сервлеты) была разработана компанией Sun Microsystems, чтобы использовать преимущества платформы Java для решения проблем технологии CGI и API расширений сервера. Технология решает проблему производительности, выполняя все запросы как нити в одном процессе. Сервлеты также могут легко разделять ресурсы, и не зависят от платформы, поскольку выполняются внутри Java Virtual Machine (JVM).

Технология обладает широкими функциональными возможностями. Большое количество библиотек предоставляет самые разнообразные средства, необходимые в разработке. Модель безопасности Java делает возможным точное управление уровнем доступа, например позволяя доступ только к определенной части файловой системы. Обработка исключений Java делает сервлеты более надежным средством, чем расширения серверов на C/C++.

Любой сервлет является классом Java, и, поэтому, должен быть выполнен внутри Java VM так называемым сервлет - контейнером (servlet container, servlet engine). Сервлет - контейнер загружает класс сервлета при первом обращении к нему, либо сразу при запуске сервера при специальном указании. Далее сервлет остается загруженным для обработки запросов, пока он не выгружается явным образом, либо до остановки контейнера.

Технология является распространенной, и может быть использована со всеми популярными Web - серверами (Enterprise Server от Netscape, Microsoft Internet Information Server (IIS), Apache, Java Web Server от Sun).

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

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

Итак, сервлеты обеспечивают компонентный, платформе - независимый метод для построения web-приложений без ограничений производительности CGI программ. Они имеют широкий диапазон доступных прикладных API, позволяют использовать все преимущества Java, легко расширяются и масштабируются, поддерживаются всеми популярными Web - серверами. Все это делает их отличным средством разработки крупных Web - систем.[30]

2.5.4 Технология Java Server Pages

Технология Java Server Pages (JSP) от компании Sun Microsystems явилась надстройкой над технологией Java Servlets, обеспечивающей более быструю и простую разработку web - приложений с помощью применения шаблонного подхода.

Для понимания архитектуры и преимуществ JSP необходимо знать технологию Java Servlets, поскольку они тесно связаны. Страницы Java Server Pages представляют из себя шаблоны страниц HTML, схожие с шаблонами РНР и ASP. Основным отличием от других подобных технологий является то, что код, находящийся внутри специальных тэгов не интерпретируется при обращении к странице, а предварительно компилируется в Java Servlet. Статические участки шаблона преобразуются в вызовы к функциям для их помещения в поток вывода. Код компилируется так, как если бы он находился внутри сервлета. Компиляция JSP страниц в сервлеты является трудоемкой, но проводится один раз - либо при первом обращении к странице, либо при запуске сервлет - контейнера.

Технология JSP удачно объединяет шаблонный подход к построению сайтов и все преимущества Java платформы. Благодаря этому технология получила широкое распространение как среди профессиональных коммерческих разработчиков, так и

при создании открытых бесплатных проектов. Важным шагом к расширению шаблонного подхода стали так называемые библиотеки тэгов (tag libraries). Это гибкая возможность интегрировать стандартные, сторонние, или собственные программные компоненты в страницы. Простота создания и использования привели к большой популярности библиотек тэгов.

Благодаря работе на основе Java технология JSP не привязана к конкретной аппаратной или программной платформе. Таким образом JSP являются отличным решением для использования в гетерогенных средах.

Производительность технологии ограничена объективными особенностями архитектуры. Во-первых, страницы должны быть откомпилированы в сервлеты, что занимает значительное время. Во-вторых сервлеты выполняются в среде выполнения Java, т.е. в режиме интерпретации. Однако эти ограничения компенсируются дополнительными возможностями. Современные контейнеры поддерживают кластеризацию серверов, что перекладывает нагрузку на аппаратное обеспечение. Это является экономически оправданным и простым решением. Задача же компиляции в сервлеты является разовой и производится либо при первом обращении, либо при запуске сервлет - контейнера. Таким образом это не сказывается на общей производительности системы при рассмотрении за достаточный период времени.

Основными достоинствами JSP является простота разработки, характерная для шаблонного подхода, наличие большого количества сторонних библиотек, легкость их использования, мощные и разнообразные среды разработки. Благодаря всем этим факторам JSP является наиболее перспективной базовой технологией разработки при создании Web - сайтов. Однако при создании сложных Web - систем ограничения, накладываемые шаблонным подходом становятся серьезным препятствием к развитию.[30]

2.5.5 Технология Microsoft .NET и среда ASP .NET

Технология .NET является новейшей разработкой компании Microsoft и заявлена как новый этап в развитии средств взаимодействия между приложениями. В настоящий момент она доступна в качестве дополнения .NET Framework к семейству операционных систем Microsoft Windows, а также в новом продукте Windows Server 2003. Также ведутся работы по созданию .NET Framework на других операционных системах. Платформа .NET упрощает разработку приложений и повышает надежность кода. В частности, она обеспечивает автоматическое управление временем жизни объектов, нейтральные к языкам библиотеки классов и пересекающие границы языков наследование, обработку исключений и отладку.

Основа .NET - Common Language Runtime (общая среда исполнения языков) опирается на системные службы операционной системы и управляет выполнением кода, написанного на любом современном языке программирования. Набор базовых классов дает доступ к сервисам платформы, которые разработчики могут использовать из любого языка программирования. Common Language Runtime и базовые классы вместе составляют основу .NET платформы. NET предлагает также высокоуровневые сервисы:

- ADO .NET - новое поколение ADO, которое использует XML и SOAP для обмена данными;

- ASP .NET - новая версия ASP, позволяющая использовать любой (.NET совместимый) язык для программирования Web страниц;

- Windows Forms и Web Forms - набор классов для построения пользовательского интерфейса локальных и Web - ориентированных приложений.

Развертывание систем на платформе .NET осуществляется особым образом. Исходные коды компилируются не в команды процессора х86 или другие машинные коды. Вместо этого компилятор создает код на Промежуточном Языке Microsoft (Microsoft intermediate language - MSIL). Файл, содержащий MSIL, может выполняться на платформе любого процессора, если операционная система, предоставляет .NET CLR.

Важной составляющей частью платформы .NET является новая среда ASP.NET (ранее использовалось название ASP+). Возможности ASP.NET настолько велики, что ее сложно назвать следующей версией ASP. В ее основе лежит другая платформа, и основными языками программирования для нее выбраны С# и Visual Basic, вместо бывших скриптинг языков. В то же время, новая технология позволяет писать ASP страницы на любом подходящем языке.

В ASP.NET заложено все, для того, чтобы сделать весь цикл разработки web -приложения более быстрым, а поддержку проще. Ниже приведены основные возможности и принципы работы ASP.NET.

- Компилирование кода при первом обращении.

- Широкий выбор библиотек компонентов, поставляемых с .NET.

- Поддержка мощного средства разработки - Visual Studio. NET.

- Языковая независимость в пределах платформ для которых реализована общая языковая среда исполнения CLR.

- Возможности расширения с помощью мультипроцессорных и кластерных решений.

- Новые возможности по обработке ошибок.

- Объектно-ориентированные языки разработки - язык С#.

- Расширенные возможности повторного использования компонент.

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

Сильно привязана к серверу IIS, и, хотя архитектура .NET позволяет перенести приложения ASP.NET на другую платформу, на данный момент реальная возможность отсутствует. Таким образом важнейшее - многоплатформенность пока еще не может быть удовлетворено платформой .NET, а значит ее использование для такой системы пока не оправдано. Однако необходимо отметить, что такая система должна иметь возможности интеграции с платформой .NET (особенно Web -сервисы), поскольку ее будущее широкое использование не вызывает сомнений.[30]

2.6 Анализ технологий

Итак, в предыдущем материале были рассмотрены наиболее популярные базовые технологии построения приложений серверной стороны. Из рассмотренного можно выделить следующие основные подходы к архитектуре серверных приложений:

- Отдельное выполнение запросов. При каждом запросе динамического содержимого, запускается отдельная программа для обработки запросов. Программа генерирует содержимое, передаваемое клиенту. Этот подход используется в классических CGI-скриптах.

- Накопление исполняемых процессов. Подход аналогичен предыдущему, но при этом если запрос выполняется повторно, нового запуска программы не происходит, а обработка передается существующему процессу. Данный подход применяется в технологиях Java Servlets, Fast CGI.

- Шаблоны страниц. При запросе шаблоны заполняются динамическим содержимым, обычно, но необязательно, создаваемым интерпретируемым языком сценариев. Подход применяется в технологиях ASP, JSP, PHP.

- Расширения Web - сервера. Web - сервер обращается к особым расширениям для обработки динамического содержания. Расширения специфичны для Web - сервера. Этот подход используется в IS API, NSAPI, mod_perl.

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

Рассмотрим платформы по требованиям, определенным ранее. CGI не входит в обзор, поскольку является неудобной в использовании, и имеющей низкую эффективность, а расширения серверов слишком сильно привязаны к конкретным программным продуктам. По схеме обработки запросов платформы распределяются следующим образом:

- РНР - шаблоны. При выполнении на Web - сервере Apache интерпретатор может являться расширением сервера (в экспериментальном режиме IIS).

- Java Servlets - накапливание процессов для каждого сервлета.

- JSP - шаблоны. При обработке выполняется их предкомпиляция в Java Servlets, позволяя использовать схему накапливания процессов.

- ASP.NET - шаблоны. Используется схема предварительной компиляции, а не интерпретации кода. В результате используется расширение Web - сервера IIS. Могут использоваться и низкоуровневые обработчики.

Основные оценочные характеристики платформ сравним в сводной таблице 3, где "-"-полное отсутствие поддержки, "-/+" - недостаточная поддержка, "+/-" - поддержка не в полном объеме, и "+" - полная поддержка. Для сравнительных характеристик, таких как язык реализации или производительность, оценки соответствуют степени превосходства технологии. Рассмотрим Таблицу 3:

Таблица 3 - Основные оценочные характеристики платформ

РНР

Java Servlets

JSP

ASP .NET

Многоплатформенность

+/-

+

+

-/+

Производительность

-/+

+/-

+/-

+

Масштабируемость

-

+

+

+

Язык реализации

+/-

+

+

+

Возможности расширения и интеграции

-

+

+/-

+

Простота использования, наличие средств обработки

+/-

+/-

+

+

Наличие необходимых программных библиотек

+

+

+

+

Разделение дизайна и логики

+/-

-/+

+/-

+

Средства визуальной разработки

-/+

+/-

+

+

Возможность построения компонентной архитектуры

-

+

+/-

+

Из приведенного сравнения можно сделать вывод, что наиболее популярный тип платформ - шаблонные, не подходят для разработки крупных Web - систем, поскольку схема их работы затрудняет построение сложной компонентной архитектуры. При использовании систем не шаблонного типа разработка затрудняется отсутствием возможности быстро и удобно модифицировать дизайн сайта, поскольку он содержится внутри программного кода. Что касается визуализации, то она присутствует только при использовании шаблонных платформ, причем исключительно при разработке системы. Это приводит к тому, что крупная Web -система, требующая частого обновления, не должна строится исключительно на существующих базовых платформах, необходима какая-либо система управления сайтом, объединяющая различные подходы. Для построения такой системы необходима платформа, предоставляющая достаточно высокую производительность, средства расширения, масштабирования, мощный язык программирования, а также поддерживающая различные операционные системы. Такие популярные средства как PHP, ASP не дают достаточной гибкости, необходимой крупным системам. Несмотря на все преимущества платформы разработки ASP .NET, она пока еще привязана к Web - серверу IIS и операционной системе Windows, поэтому ее использование в качестве базовой платформы для построения гетерогенных Web систем невозможно. Из рассмотренных платформ наиболее оптимальной по этим критериям является Java Servlets. Возможности ее использования совместно с JSP дают большую гибкость при проектировании и разработке.

2.7 Информационное обеспечение

2.7.1 Информационная модель и ее описание

Поскольку тематика сайта направлена на охрану труда предприятия ОАО ААК "Прогресс", сайт содержит правовые документы по охране труда и технике безопасности.

На рисунке 5 изображена схема сайта:

Рисунок 5 - Схема сайта

Внешний вид сайта можно увидеть в Приложении 1 и Приложении 2.

3. Расчет экономической эффективности

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

В мировой практике давно известно, что самые большие финансовые расходы предприятие несет из-за несчастных случаев на производстве. В их подсчете есть свои сложности: большинство расходов на первый взгляд не видны, в тоже время существует немало способов классификации финансовых потерь от несчастных случаев. Например в 1920 г. была разработана «Теория айсберга», согласно которой затраты компании разделяются на прямые и косвенные.

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

Прежде всего для снижения затрат предприятие должно проводить мероприятия по улучшению условий труда и недопущению несчастных случаев.

Социальный эффект мероприятий по улучшению охраны труда может быть определен сопоставлением данных производственного травматизма с использованием формул:

Коэффициент частоты травматизма Кч представляет собой количество несчастных случаев, приходящихся на 1000 работающих за определенный период, и равен:

Кч (1)Формула

где

N - количество несчастных случаев, произошедших за рассматриваемый период;

Р - среднесписочный состав работников за рассматриваемый период.

Возьмем количество несчастных случаев за год = 12.

Число работников 4230 человек.

Кч = 2,836

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

КT; (2)

где

- суммарное количество дней нетрудоспособности по травматизму за рассматриваемый период.

Коэффициент частоты несчастных случаев со смертельным исходом представляет собой количество несчастных случаев со смертельным исходом, приходящихся на 1000 работающих, и принимается равным:

NCM

KCM = ____ * 1000 (3)

P

где

Nсм - количество несчастных случаев со смертельным исходом за рассматриваемый период.

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

Kобоб = КЧ КТ КСМ 6000 (4)

где

Kобоб - коэффициент условных трудовых потерь,

6000 - условная тяжесть последствий несчастного

случая с летальным исходом, человеко-дней.

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

? Kобоб =? Kобоб I - ? Kобоб (i+1) (5)

Где

? Kобоб - показатель экономии трудовых потерь

? Kобоб I - условные трудовые потери до внедрениямероприятий и после их внедрения.

Определение экономического эффекта от мероприятий по улучшению охраны труда осуществляется сопоставлением затрат на мероприятия по улучшению охраны труда S и материальных последствий от производственного травматизма Z.

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

Для этого можно использовать формулу:

S = S1 + S2 + S3 (6)

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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.