Смекни!
smekni.com

Проектирование интернет-магазина для предприятия розничной торговли (стр. 3 из 9)

c) элементы управления ActiveX,

d) апплеты Java;

2) Языки сценариев:

a) JavaScript,

b) VBScript.

Варианты web-программирования на стороне сервера:

1) Сценарии и программы CGI;

2) Программы программного интерфейса приложения (API) сервера:

a) модули Apache,

b) расширения и фильтры ISAPI,

c) сервлеты Java;

3) Сценарии на стороне сервера:

a) Active Server Pages (ASP/ASP.NET),

b) ColdFusion,

c) PHP.

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

В наше время наиболее часто используют программирование на стороне сервера, реализуемое с помощью языка PHP. Для написания программ, работающих на стороне клиента обычно применяют язык JavaScript.

PHP представляет собой язык с открытым исходным кодом для выполнения на сервере сценариев, создающих динамические web-страницы. Помимо независимости от браузеров он предлагает простое и универсальное, независимое от платформы решение для электронной коммерции и сложных web-приложений, в том числе управляемых базами данных. PHP подходит для программирования баз данных. Он поддерживает большинство имеющихся сегодня СУБД, включая MySQL, Oracle, Sybase и DB2.

1.4.4 Базы данных и СУБД для web-приложений

Сегодня наиболее распространенным подходом для организации информационной базы web-приложений являются реляционные базы данных.

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

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

Функционирование БД обеспечивается совокупностью языковых и программных средств, называемых системой управления базами данных (СУБД).

Основная задача СУБД – предоставить пользователю БД возможность работать с ней, не вникая в детали на уровне аппаратного обеспечения. Иными словами, СУБД позволяет конечному пользователю рассматривать БД как объект более высокого уровня по сравнению с аппаратным обеспечением, а также предоставляет в его распоряжение набор операций, выраженный в терминах языка манипулирования данными высокого уровня (например, набор операций, которые можно выполнять с помощью языка SQL).

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

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

СУБД обычно дают следующие преимущества:

· высокая целостность данных (не гарантируемая файлами);

· улучшенная непротиворечивость данных при множественном доступе;

· улучшенная защита;

· стандартная защита;

· различные представления, основанные на одних и тех же структурах;

· независимость от файловых структур;

· устранение избыточности информации;

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

· экономия дискового пространства благодаря объединению таблиц без потерь.

1.4.5 Архитектура баз данных для web-приложений

Рассмотрим внешнее построение системы web-баз данных. Основная операция web-сервера проиллюстрирована на рисунке 1.3. Эта система состоит из двух объектов: web-браузера и web-сервера. Между ними должен существовать канал связи. Web-браузер посылает запрос на сервер, сервер отсылает обратно ответ. Для сервера, отсылающего обычные статические страницы, такая архитектура подходит. Архитектура же сайта, который включает в себя базу данных, несколько сложнее.

1) Web-браузер пользователя отправляет HTTP-запрос определенной web-страницы. Например, поиск статьи на сайте, используя HTML-форму. Допустим, страница с результатами поиска называется results.php.

2) Web-сервер принимает запрос на results.php, получает файл и передает его механизму РНР на обработку.

3) Механизм РНР начинает синтаксический анализ сценария. В сценарии присутствует команда подключения к базе данных и выполнения запроса в ней (поиск статьи). РНР открывает соединение с сервером MySQL и отправляет необходимый запрос.

4) Сервер MySQL принимает запрос в базу данных, обрабатывает его, а затем отправляет результаты — в данном случае, список статей — обратно в механизм РНР.

5) Механизм РНР завершает выполнение сценария, форматируя результаты запроса в виде HTML, после чего отправляет результаты в HTML-формате Web-серверу.

6) Web-сервер пересылает HTML в браузер, с помощью которого пользователь просматривает список необходимых статей.

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

1.4.6 СУБД MySQL

MySQL – очень быстрая, надежная система управления реляционными базами данных (СУРБД). База данных позволяет эффективно хранить, искать, сортировать и получать данные. Сервер MySQL управляет доступом к данным, позволяя работать с ними одновременно нескольким пользователям, обеспечивает быстрый доступ к данным и гарантирует предоставление доступа только имеющим на это право пользователям. Следовательно, MySQL является многопользовательским, многопотоковым сервером. Он применяет SQL, используемый по всему миру стандартный язык запросов для баз данных.

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

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


2 Разработка интернет-магазина для предприятия «Электра»

2.1 Принципы работы интернет магазина

2.1.1 Оформление заказа

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

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