Веб-сайт для компаний

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 11.10.2009
Размер файла 696,3 K

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

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

Введение

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

Каждый из нас уже сейчас может сделать свой вклад в развитие Internet. Для этого достаточно создать свой веб-сайт и разместить его в Сети. Но как это сделать? Ответ на данный вопрос мы попробуем дать в этой работе.

Для этого необходимо решить следующие частные задачи:

- ознакомиться с современными Интернет-технологиями и, по возможности, использовать их в своей разработке;

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

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

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

- определиться со структурой Web-страниц;

- выбрать стратегию разработки и создания Web-сайта.

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

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

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

Важно не только создать свой сайт, поддерживать, развивать его, но и оценить эффективность этого проекта для компании.

1. Аналитическая часть

1.1 Значение Web-сайта для компаний и область применения

Исторически компании обратили внимание на Интернет, как на средство предоставления информации для широких масс. Представительства в Интернет были на первом этапе только рекламными -- шел однонаправленный поток информации. Затем возможности Интернет стали использоваться шире -- поток стал двусторонним. Сайт в сети стал рассматриваться как инструмент -- вначале только для общения с клиентами, а затем и для организации бизнеса в целом. Теоретически сейчас общаются между собой не только "живые" представители заказчика и исполнителя, а также их корпоративные системы. Хотя в реальности, особенно в России, все обстоит не так гладко, и зачастую затраты на освоение новых инструментов бизнеса превышают выгоду от их использования.

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

ѕ Донесение информации до потребителя;

ѕ Продвижение продукции и услуг компании;

ѕ Взаимодействие с внешним миром.

1.2 Функции корпоративного сайта

Имидж фирмы

Развитие Интернет-представительств Российского бизнеса, прежде всего, имело ярко выраженное назначение поднятия имиджа фирм. Действительно, лет 10 назад наличие адреса сайта и адреса электронной почты на визитной карточке сотрудника говорило о фирме многое. В наше время наличие подобной информации на визитных карточках, рекламных материалах является само собой разумеющимся, а отсутствие вызывает порой недоумение и соответствующие мысли о "несерьезности" организации. Таким образом, даже само наличие сайта поднимает имидж фирмы.

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

Реклама

Неотъемлемой частью любого бизнеса является реклама. Не стоит приводить полностью фразу о "двигателе..". Рекламная составляющая Вашего корпоративного сайта может и должна быть реализована!

Любая организация имеет рекламные материалы, даже, если она... не ведет коммерческой деятельности (например, некоммерческие организации с целью привлечения инвестиций часто рекламируют свою деятельность в Интернет). В любой организации существует лицо (группа лиц, соответствующий отдел), прямо или косвенно "отвечающее" за ведение рекламной деятельности.

Современные средства WEB-дизайна, возможности HTML, графики, flash, Java и т. д. являются практически неограниченными для создания любых рекламных материалов, которые могут быть представлены на Вашем корпоративном сайте. Не стоит отстаивать точку зрения о "легкости и ненавязчивости" рекламы, приводить некие личные наблюдения и выдержки из пособий. Возможно Вы считаете целесообразным другой стиль, совершенно противоположный, поскольку именно он приемлем в Вашем бизнесе и приносит прибыль.

Какая реклама возможна? Во-первых, любые рекламные материалы, создаваемые на страницах сайта, содержащие графику, тексты, анимации, video, flash, java -- апплеты, доступные посетителю в режиме On-line. Во-вторых, любые материалы, которые могут храниться на сервере в файлах любых удобных для потенциальной ниши Ваших клиентов форматах. Такие материалы могут копироваться на удаленные компьютеры посетителей Вашего сайта и просматриваться в режиме Off-line. В -- третьих, кроме предоставления посетителю информации рекламных материалов, возможно проведение целых рекламных акций: бесплатного распространения некоторых версий программного обеспечения, производимого фирмой, вступления в баннерные сети (информация о Вашей организации на определенных условиях может быть размещена на часто посещаемых сайтах) и т. д. Как рекламу можно рассматривать и объявления о всех мероприятиях, проводимых "вне Интернет". Ваша реклама в Глобальной Сети не является чем-то обособленным, она может и должна быть включена в план мероприятий, составляемый соответствующим отделом!

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

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

Возможность добровольной регистрации клиентом своего адреса электронной почты в списке рассылки;

Возможность добровольного отказа от рассылки.

Чего следует ожидать от рекламной составляющей корпоративного сайта? Того же, что ожидается и от "обычной" рекламы, проводимой "вне Интернет", -- прежде всего, повышения числа обращений клиентов, ведущего к увеличению прибылей. Изучение и анализ "источника" обращений (секретарь, менеджер или продавец выяснил откуда клиент узнал о фирме, а ответственное лицо или круг лиц провело анализ), позволяет делать выводы об эффективности рекламы, в том числе и в Интернет.

Реклама на сайте и рекламные акции в Интернет являются лишь неотъемлемой частью плана рекламных мероприятий!

Маркетинг

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

Существуют и различные способы сбора информации о посетителях Вашего Интернет -- представительства, её систематизации. В зависимости от Ваших реальных решений, ожидаемых прибылей, оценки рисков вложений стоимость реализации тех или иных маркетинговых механизмов Вашего Интернет-представительства, степень автоматизации может быть различной. При необходимости, например, можно использовать CGI -- приложения, возможности СУБД по записи вносимой клиентом информации и возможности "вышестоящих" над СУБД приложений, имеющих необходимую логику не только запросов, но и статистических расчетов, анализа и многое другое.

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

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

1.3 Концепция баз данных в разработке веб-сайта

1.3.1 Общие понятия баз данных

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

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

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

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

1.3.2 Необходимые функции базы данных

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

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

ввод информации об одном объекте разными способами или в разных местах;

ввод одной и той же информации в нескольких местах;

ввод информации разрозненно, без поддержания общей структуры объекта.

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

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

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

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

Хорошая информационная система должна легко расширяться при необходимости добавления в нее новых возможностей. Расширяемость подразумевает элементы объектной ориентированности, встроенные в базу данных. Настраивая эти объекты, возможно вносить незначительные изменения в структуру базы данных, что продляет срок морального устаревания всей информационной системы. Одним из факторов расширяемости является возможность сочленять разнородные базы данных в единый комплекс. Такая возможность сейчас реализуется через дополнительные модули, которые по своей сути являются серверами приложений, или правильное построение базы данных по классическим реляционным законам. Последний случай затрудняется тем, что некоторые серверы базы данных не могут выполнить один SQL запрос к разным базам данных, тем более находящимся в географической удаленности друг от друга.

Еще одна удобная функция в базе данных - это сквозное прохождение по документам.

Описанные выше функции в разных реализациях информационных систем имеют специфические черты, ориентированные на конкретное прикладное применения.

1.3.3 Технологии, обеспечивающие сетевой доступ к базам данных

Всемирная Паутина недаром так быстро завоевала широкую популярность среди пользователей Internet, в мире бизнеса, науки, политики и т. д. Основные достижения Web - это простота опубликования информации в сети, удобство и сравнительная унифицированность доступа к документам, наличие на сегодняшний день достаточно развитых средств поиска. Однако в целом способы представления, хранения и поиска информации в WWW относятся к категории информационно-поисковых систем (ИПС). Хотя хранилища данных в узлах Web иногда называют базами данных, этот термин в данном случае можно использовать только в самом широком смысле. Исторически ИПС применялись для хранения слабоструктурированной и редко изменяемой информации. Базы данных в узком смысле - это хранилища структурированной, изменяемой информации, причем информация в базе данных должна всегда находиться в согласованном состоянии.

С равным успехом можно хвалить и ругать Web. Можно хвалить Всемирную Паутину за то, что, не выходя из дома, вы можете побывать в любой точке земного шара и посмотреть, что же там происходит. Можно ругать Web за то, что трудно найти действительно актуальную информацию (обычно она устаревшая), за то, что хранилища информации содержат очень много «мусора», опубликованного непонятно из каких соображений. Но в любом случае интерфейс действительно удобен.

Ситуация с базами данных кардинально отличается. Именно базы данных содержат основные знания человечества. В конце двадцатого века с появлением технологии баз данных мы накопили больше информации, чем за всю предыдущую историю. Вся беда в том, что доступ к базам данных (даже к тем, которые содержат полностью открытую информацию) ограничен. Чтобы получить интересующую его информацию, пользователь должен иметь физический доступ к соответствующей СУБД, быть в курсе модели данных, знать схему базы данных и, наконец, уметь пользоваться соответствующим языком запросов. Что касается языка запросов, то проблему частично решает протокол ODBC, позволяющий направлять ограниченный набор операторов SQL (с промежуточной обработкой соответствующим драйвером ODBC) к произвольному серверу баз данных. Но это только частичное решение, поскольку оно никак не помогает пользователю понять схему базы данных (даже в терминах SQL) и, конечно, не способствует созданию унифицированного интерфейса конечного пользователя (нельзя же заставить всех работать в строчном режиме на языке SQL).

Итак, мы имеем удобные средства разработки распределенных в Internet гипермедийных документов, простые, удобные, развитые и унифицированные интерфейсы для доступа к информации WWW. Кроме того, мы имеем большое количество ценных баз данных, управляемых разнородными СУБД, а также желание сделать эти базы доступными всем людям (в случае публичных баз данных) или членам территориально-распределенной корпорации (в случае корпоративных баз данных). Возникает естественное желание скрестить эти две технологии и обеспечить доступ к базам данных в интерфейсе Web. Еще два года назад существовали только идеи такого скрещивания и не очень тщательно разработанные подходы к реализации. На сегодняшний день такие механизмы уже существуют и используются.

1.4 Принцип работы web-сервера

1.4.1 Web-сервер. Понятие, функции, характеристики

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

В настоящее время в мире разработано и широко применяется несколько десятков программ, реализующих эти функции. Практически для каждой операционной системы существует целый ряд таких программ. Некоторые из них являются независимыми от операционной системы и могут использоваться одновременно в разных ОС. Но в подавляющем большинстве Web-серверы ориентированы на применение только в одной операционной системе. Среди них есть как коммерческие программы, так и распространяемые бесплатно. Иногда функции Web-сервера являются только частью функций, заложенных разработчиками в программу. Кроме минимального набора выполняемых задач, определяющих основные функции Web-сервера, большинство программ содержит в себе много дополнительных возможностей. К ним относятся ограничение прав доступа к отдельным документам, возможность криптографической защиты передаваемых и принимаемых данных, создания на одном компьютере нескольких Web-серверов с разными доменными именами, использования нестандартных портов входа для сервера. Кроме этого от Web-серверов часто требуется поддержка работы с системами управления базами данных и языками Perl и Java. Кроме набора функций, существенное влияние на выбор Web-сервера оказывают простота настройки и удобство в администрировании. Немаловажное значение для высоко посещаемых серверов имеет также быстрота ответа программы на запрос клиента. На сегодняшний день (по данным обзора Netcraft Web Server Survey) бесспорным лидером среди Web-серверов является бесплатно распространяемый сервер Apache. В пятерку лидеров входят также серверы Microsoft Internet Information Server, Netscape, NCSA и WebSite.

1.4.2 Трехзвенная архитектура клиент-сервер

Обыкновенно для небольших организаций разработчики применяют двухзвенную архитектуру клиент-сервер, когда с рабочих станций осуществляется удаленный доступ к базе данных, и не более того. В самых простых, примитивных системах даже не используются возможности, предоставляемые пользователям РСУБД (Распределения Управления Базами данных), какие, как триггеры и сохраненные процедуры; и хотя разработчики именуют подобные системы клиент-серверами, они имеют весьма мало общего с истинными распределенными приложениями. Более того, идеология «толстого клиента» принуждает к установке на рабочих местах весьма дорогостоящих Wintel-компьютеров, способных произвести все основные вычисления обмен данными с удаленным сервером. Операция производится сквозь толстый многоуровневые слой провайдеров, которые должны быть установлены на персональной рабочей станции и лицензированы их разработчиками для каждого рабочего места. Иногда получается совершенно нелепая вещь: если пропускная способность сети не достаточно велика или или недостаточно эффективно организован поток прохождения транзакций, то быстродействующие процессоры клиентских машин совершенно бездействуют; в противном же случае, наоборот, сервер базы данных «задыхается» и не успевает ответить каждому из многочисленных и буквально долбящих его, как дятлы, клиентов. При числе одновременно работающих клиентов более 30 необходимо переходит на трехзвенную архитектуру. В трехзвенной архитектуре всю логику работы с сервером можно возложить на специальный сервер приложения, а разделенные на отдельные фрагменты приложения уменьшают нагрузку на и на машину-клиента, и на сервер, перенося соответствующие операции на специальный сервер. Серверная часть приложения лучше защищена, а сами приложения могут либо непосредственно адресоваться к другим серверным приложениям, либо маршрутизировать запросы к ним (рис. 2.8).

1.4.3 Архитектура Internet/Intranet

Достоинства этой архитектуры (рис 2.9) сводятся к достоинствам соответствующей части системы клиент-сервер.

Рисунок 2.4.3.1 Трехзвенная схема работы клиент-сервер.

Клиентская часть

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

Серверная часть

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

Рисунок 2.4.3.2 Универсальная схема клиент-сервер для сетей Internet/Intranet.

1.5 Выбор программного обеспечения и средств разработки сайта

После проведения анализа целесообразности разработки сайта для предприятия появилась необходимость решить какое программное обеспечение нам понадобится.

Создание любого сайта начинается с разработки дизайна, который должен быть уникальным и соответствовать выбранной тематике. Для выполнения этой части задачи не каждое графическое средство подойдет. Как показывает опыт web-дизайнеров, одним из самых современных и наиболее подходящих графических программ является Adobe Photoshop. Я буду использовать версию CS2, которая обладает всеми необходимыми инструментами для разработки дизайна сайта и подготовки его к дальнейшей обработке.

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

Поскольку предполагается использование на сайте базы данных MySQL и системы администрирования, написанной на языке PHP, встал вопрос о выборе локального веб-сервера для тестирования и отладки скриптов и модулей сайта. Наиболее простым и удобным способом решения этой части работы стал программный пакет Denwer 3. Он содержит в себе необходимые инструменты и утилиты для запуска сайта на локальной машине, такие как:

- Сервер Apache

- PHP 5

- Сервер MySQL

- PHPMyAdmin (утилита для работы с базами данных MySQL)

И естественно, для тестирования готовых страниц понадобятся популярные браузеры, такие как Internet Explorer 8 и ниже и Mozilla Firefox.

1.6 Обоснование выбора средств реализации сайта

1.6.1 СУБД MySQL

На сегодняшний день СУБД MySQL является одной из самых известных, надежных и быстрых из всего семейства существующих СУБД. Почему именно она? Одной из причин являются правила ее распространения -- за нее не надо платить деньги и распространяется она вместе со своими исходными текстами, другая причина - это то, что MySQL относительно быстрая СУБД. PostgreSql, например, также распространяется под лицензией *GNU GPL, но она не получила столь широкого распространения. Одна из причин -- это заметная медлительность. Итак, две главные причины популярности MySQL: цена и производительность.

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

MySQL был разработан компанией TcX для быстрой обработки очень больших баз данных. Компания утверждает, что использует MySQL с 1996 года на сервере с более чем 40 БД, которые содержат 10.000 таблиц, из которых около 500 имеют более 7 миллионов строк (24.01.2004).

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

На текущий момент MySQL все еще в стадии разработки, хотя версии 3.22 и более поздние полностью работоспособны.

MySQL поддерживает язык запросов SQL в стандарте ANSI 92, и кроме этого имеет множество расширений к этому стандарту, которых нет ни в одной другой СУБД.

Краткий перечень возможностей MySQL:

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

- Количество строк в таблицах может достигать 50 млн.

- Быстрое выполнение команд. Возможно MySQL самый быстрый сервер из существующих серверов.

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

- MySQL действительно очень быстрый сервер, но для достижения этого разработчикам пришлось пожертвовать некоторыми требованиями к реляционным СУБД. В MySQL отсутствуют:

- Поддержка вложенных запросов, типа SELECT * FROM table1 WHERE id IN (SELECT id FROM table2).

- Не реализована поддержка транзакций. Взамен предлагается использовать LOCK/UNLOCK TABLE.

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

Принцип работы СУБД MySQL аналогичен принципу работы любой СУБД, использующей SQL (Structured Query Language, язык структурированных запросов) в качестве командного языка для создания/удаления баз данных, таблиц, для пополнения таблиц данными, для осуществления выборки данных.

MySQL, как и любая другая СУБД представляет собой программу-сервер, которая находится в памяти компьютера и обслуживает TCP порт. В случае с MySQL, номером порта будет являться число 3306. А клиентская программа, будь то CGI-приложение на Perl либо программа на PHP, соединяется с СУБД по этому порту и посылает ему строчки на SQL. Тот в свою очередь их интерпретирует, выполняя необходимые действия, и отсылает результаты запроса обратно клиенту. Таким способом происходит общение сервера баз данных с клиентскими программами.

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

Сценарий PHP ->DBI ->DBD::MySQL->Cервер MySQL.

DBI обеспечивает единый интерфейс взаимодействия с различными системами управления базами данных. А DBD связывает этот интерфейс непосредственно с конкретной СУБД. В нашем случае это mysql. Для того, чтобы программа на PHP могла общаться и работать с базой данных, необходимо подключить модуль DBI и драйвер DBD.

Таким образом основными критериями выбора данной СУБД были:

· Многопоточность. Поддержка нескольких одновременных запросов.

· Оптимизация связей с присоединением многих данных за один проход.

· Записи фиксированной и переменной длины.

· Гибкая система привилегий и паролей.

· До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.

· Поддержка ключевых полей и специальных полей в операторе CREATE.

· Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени.

· Интерфейс с языками PHP и perl.

· Основанная на потоках, быстрая система памяти.

· Утилита проверки и ремонта таблицы (isamchk).

· Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках.

· Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице.

· Все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей.

· Легкость управления таблицей, включая добавление и удаление ключей и полей.

Итак, популярность MySQL сервера определяется не только тем, что пакет распространяется бесплатно и имеет высокую производительность, но ещё и тем, что имеет множество вышеперечисленных достоинств, многих из которых нет у других СУБД.

Разрабатываемый сайт нуждается в возможности обрабатывать и хранить большие объемы информации. MySQL предоставляет всем эту возможность совершенно бесплатно. Это действительно одна из самых мощных, быстрых и надежных СУБД.

Принципы работы MySQL-сервера

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

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

На рисунке изображена схема работы MySQL. Согласно этой схеме, в вычислительной системе имеется база данных, в которой хранится важная информация. Если БД относится к сфере бизнеса, то в ней может храниться информация о материальных ценностях, выпускаемой продукции, объемах продаж и зарплате. В базе данных на персональном компьютере может храниться информация о выписанных чеках, телефонах и адресах или информация, извлеченная из более крупной вычислительной системы. Компьютерная программа, которая управляет базой данных, называется системой управления базой данных, или СУБД.

Если пользователю необходимо прочитать данные из базы данных, он запрашивает их у MySQL с помощью СУБД. SQL обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных: отсюда и название -- структурированный язык запросов.

1.6.2 Интерпритатор PHP

PHP - это скрипт-язык (scripting language), встраиваемый в HTML - код, который интерпретируется и выполняется на web - сервере. Отличие PHP от JavaScript, состоит в том, что PHP-скрипт выполняется на сервере, а клиенту передается результат работы, тогда как в JavaScript-код полностью передается на клиентскую машину и выполняется только там.

Любители Internet Information Server найдут, что PHP очень похож на Active Server Pages (ASP), а энтузиасты Java скажут, что PHP похож на Java Server Pages (JSP). Все три языка позволяют размещать код, выполняемый на Web-сервере, внутри HTML страниц.

На PHP можно делать все, что можно делать с помощью CGI-программ: обрабатывать данные из форм, генерировать динамические страницы, получать и посылать куки (cookies). Кроме этого в PHP включена поддержка многих баз данных (databases), что делает написание web-приложений с использованием БД до невозможности простым.

Вот неполный перечень поддерживаемых БД:

Adabas D

InterBase

Solid

dBase

mSQL

Sybase

Empress

MySQL

Velocis

FilePro

Oracle

Unix dbm

Informix

PostgreSQL

 

Вдобавок ко всему PHP понимает протоколы IMAP, SNMP, NNTP, POP3 и даже HTTP, а также имеет возможность работать с сокетами (sockets) и общаться по другим протоколам.

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

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

PHP предлагает другой вариант - он работает как часть web-сервера, и этим самым похож на ASP от Microsoft.

Синтаксис PHP очень похож на синтаксис C или Perl. Люди, знакомые с программированием, очень быстро начинают писать программы на PHP. В этом языке нет строгой типизации данных и нет необходимости в действиях по выделению/освобождению памяти.

Программы, написанные на PHP, легко читаемы. PHP - код легко зрительно прочитать и понять, в отличие от Perl-программ.

1.6.3 Web-сервер Apache

Этот Web-сервер является самым распространенным в мире среди серверов для операционной системы Unix. Причин такой популярности много. Прежде всего, это возможность свободно получить его как с основного сервера проекта Apache, так и с «зеркал», расположенных во многих странах мира, в том числе и России. Имеется подробная документация по настройке и администрированию, включая FAQ. В рамках данного проекта ведется подробный учет и исправление найденных ошибок, чему посвящено несколько страниц сервера. Многие разработчики модифицируют код Apache, внося дополнительные функции, и предлагают для свободного распространения свои разработки. В частности, имеются версии Apache, в которые добавлены функции по работе с русскоязычными документами с учетом различных кодировок кириллицы.

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

1.6.4 Система управления сайтом Drupal 6

Drupal (друпал) -- система управления сайтом (CMS), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL, PostgreSQL и другие). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира.

Технические особенности

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

Наиболее важные функции, предоставляемые модулями, входящими в поставку Drupal:

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

- широкий набор свойств при построении рубрикаторов: плоские списки, иерархии, иерархии с общими предками, синонимы, родственные категории

- вложенность категорий любой глубины

- поиск по содержимому сайта, в том числе поиск по таксономии и пользователям

- разграничение доступа пользователей к документам (ролевая модель)

- динамическое построение меню

- поддержка XML-форматов:

- вывод документов в RDF/RSS

- агрегация материалов с других сайтов

- BlogAPI для публикации материалов с помощью внешних приложений

- авторизация через OpenID

- короткие URL (иначе «человеко-понятные» -- ЧПУ)

- переводы интерфейса сайта на разные языки, а также поддержка ведения разноязычного контента

- возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками)

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

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

- уведомления о выходящих обновлениях модулей

Методы структуризации содержимого.

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

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

Drupal в первую очередь ориентирован на платформу LAMP, но возможны варианты использования другого системного ПО.

Операционная система: семейство Unix (в том числе FreeBSD, Mac OS X), Windows (любые ОС, на которых может работать интерпретатор PHP)

Веб-сервер: Apache, Lighttpd (теоретически любой веб-сервер, допускающий исполнение PHP-кода)

СУБД: MySQL, PostgreSQL (в принципе несложна адаптация к другим реляционным СУБД, например IBM DB2 [7])

PHP версии 4.3.3 и выше.

2. Проектирование

2.1 Схема доступа к данным

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

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

Выделенного информационного сервера - WWW-сервера, обеспечивающего предоставление гипертекстовых документов через IP - сеть в ответ на запросы WWW - клиентов.

Рисунок 2.1.1

Передаваемые гипертекстовые документы оформляются в стандарте HTML - языке описания гипертекстовых документов. Эти документы могут либо храниться в статическом виде (совокупность файлов на диске), либо динамически компоноваться в зависимости от параметров запроса специальным программным обеспечением. Для динамической компоновки HTML-документов, WWW-сервер использует специальным образом оформленные программы- CGI-программы (Common Gate Interface)

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

Динамическое создание гипертекстовых документов на основе содержимого БД

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

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

К недостаткам этого метода можно отнести большое время обработки запросов, необходимость постоянного доступа к основной базе данных, дополнительную загрузку средств поддержки БД, связанную с обработкой запросов от WWW - сервера.

2.2 Структура сайта на Drupal

Узлы

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

- Страницы (Pages). Простые узлы для отображения содержимого (используя PHP, содержимое можно обновлять динамически; любая часть содержимого может быть динамической при использовании PHP).

- Запись в блоге (Blog entry). Узел для обслуживания Web-журнала.

- Форумы (Forums). Набор узлов и их комментариев (эти узлы группируются путем назначения элемента таксономии).

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

- Комментарий (Comment). Специальный тип содержимого, который позволяет пользователям делать комментарии к содержимому, определяемому другими узлами (комментарии не являются типом узла и хранятся в отдельной таблице базы данных).

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

Блоки

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

Рисунок 2.2.1 Указание различных блоков для Web-сайта

Модули

Модули являются основным механизмом расширения Drupal. Они реализуют четко определенный интерфейс, позволяющий новым модулям взаимодействовать с системой и системе взаимодействовать с модулем. Drupal вызывает функции в этих интерфейсных ловушках. Ловушки Drupal сгруппированы в три категории; они используются в модулях, которые:

- Аутентификация. Обеспечивают дополнительные механизмы аутентификации пользователя

- Ядро. Должны реагировать и взаимодействовать с кодом ядра Drupal

- Узел. Обеспечивают новый тип узла в системе

После создания модуля вы должны разрешить этот модуль и назначить полномочия различным ролям, которые определены.

Файлы шаблонов

PHPTemplate позволяет отображать специальные файлы, называемые файлами шаблонов, на специальные функции и модули в Drupal. Файл шаблона, имя которого заканчивается на .tpl.php, использует массив данных, передаваемый ему назначенной для него функцией или модулем. Используя PHP и xHTML, этими данными можно управлять, для того чтобы представить их на Web-странице. Существуют стандартные шаблоны для имеющихся типов узлов, предоставляемые Drupal для настройки вашей темы. Файлы page.tpl.php, node.tpl.php и comment.tpl.php являются примерами стандартных шаблонов. Они расположены в каталоге theme. Страница, определенная шаблоном page, используется для отображения на ней любого узла, определенного шаблоном node.

page.tpl.php

Это, вероятно, то место, откуда вы начали бы настройку вашей собственной темы. Это шаблон, который определяет структуру всех страниц содержимого, отображаемого системой Drupal. Здесь вы можете определить ваши глобальные структурные элементы xHTML, такие как элементы head и body, включаемые файлы для стилевых таблиц, скелетные DIV-элементы, устанавливающие семантику схемы вашего содержимого, и т.д.

node.tpl.php

Этот шаблон используется для манипулирования тем, как отображаются данные узла. Если вы хотите оформить тему для узла определенного типа, нужно скопировать файл node.tpl.php и изменить иго имя на node-<type>.tpl.php, где <type> - это название типа узла. По данной методике мы изменили схему по умолчанию для содержимого форума, используя шаблон под названием node-forum.tpl.php в разделе discussions Web-сайта IBC. comment.tpl.php

Этот файл шаблона управляет схемой одиночного комментария. Комментарии могут быть добавлены на страницы при помощи модуля Drupal Comment.

Последовательность построения узла

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

На рисунке показана блок-схема последовательности построения узла.

Рис. 2.2.2 Блок-схема последовательности построения узла

Путь в URL-запросе структурирован так, что за /node/, или типом узла, следует id узла, а затем операция узла. Если путь равен /node/15/edit, это указывает Drupal, что должна быть отображена форма редактирования для узла 15. Единственным исключением в этой структуре является случай, когда URL-путь равен /node/add или /node/add/<node_type>, а Drupal знает, что надо применить операцию Add.

Существуют четыре основные операции:


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

  • Хозяйственные отношения по поставкам товаров. Технологии, обеспечивающие сетевой доступ к базам данных. Проектирования Web-сайта предприятия. Разработка навигации по сайту. Принципы работы MySQL-сервера. Расчет показателей экономической эффективности.

    дипломная работа [190,5 K], добавлен 14.05.2013

  • Обработка распределенных данных и запросов. Многопотоковые и многосерверные архитектуры. Основные типы параллелелизма при обработке запросов. Структура компонентов поддержки удаленного доступа. Доступ к базам данных в двухзвенных моделях клиент-сервер.

    презентация [123,1 K], добавлен 19.08.2013

  • Актуальность создания фирменного web-сайта. Разработка, внедрение web-сайта под названием "Удачная постройка". Анализ существующих программных решений, выбор инструментальных средств разработки. Архитектура сайта, структура данных. Тестирование и отладка.

    дипломная работа [4,7 M], добавлен 19.01.2017

  • Разработка и программная реализация сайта и базы данных, наполнение базы данных тестовой информацией о товарах. Инструментальные средства создания сайта. Организация тестирования сайта, модуль визуализации интерфейса. Создание запросов в базе данных SQL.

    курсовая работа [1,4 M], добавлен 24.12.2012

  • Рассмотрение средств создания web-страниц: HTML, CSS и РНР. Разработка приложения в PhpMyAdmin, работающего с базой данных "Спортивные организации города". Соединение с сервером и базой данных. Создание сайта "Институт" в Macromedia Dreamweaver 8.

    курсовая работа [461,8 K], добавлен 10.07.2015

  • Проектирование web-сайта. Пользовательские персонажи, детальная концепция сайта. Разработка скелетной схемы страниц, информационной архитектуры. Создание прототипа web-сайта. Выбор среды разработки. CMS системы и их анализ. Стадии проектирования сайта.

    курсовая работа [346,7 K], добавлен 18.09.2016

  • Формулировка требований к разработке и оформлению информационного сайта предприятия. Описание архитектуры сайта, меню навигации и алгоритма работы, листинг программного кода. Выбор серверной части и процесс отладки. Методы продвижения сайта в Интернете.

    курсовая работа [4,6 M], добавлен 18.01.2014

  • Анализ сетевых технологий в гостиничном деле. Официальные сайты компаний. Технологии при создании и поддержке сайтов. Разработка модели web-ресурса, шаблона, тестового примера. Основные этапы создания веб-сайта и презентации. Цены на разработку сайта.

    курсовая работа [3,6 M], добавлен 30.03.2014

  • Разработка сайта в приложении FrontPage. Программные средства и технологии, используемые при разработке сайта. Основная структура сайта и размещение исходных файлов. Создание графических страниц, элементов и рисунков. Размещение сайта в сети Internet.

    курсовая работа [1,6 M], добавлен 13.06.2013

  • Язык разработки PHP: применение, синтаксис, типы данных, суперглобальные массивы, особенности интерпретатора. Apache-HTTP сервер: архитектура, механизм виртуальных хостов, функциональные возможности. Разработка сайта системы диагностики. Бюджет проекта.

    дипломная работа [1,4 M], добавлен 25.11.2012

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