Грамотное распределение приоритетов между разделами и страницами сайта, сделает их основными точками входа на сайт, что позволит потенциальному потребителю быстро найти необходимую ему информацию об искомых товарах/услугах и повысит успешность бизнеса в интернете.
2.1.1 Разработка архитектуры интернет-магазина
Архитектура интернет – магазина должна быть проста и интуитивно удобна. И состоит из Клиентской части, Программной части и Администрирования как показано на рисунке 2.1.
Рисунок 2.1 – Архитектура интернет – магазина
Программная часть архитектуры интернет – магазина рассматривается как взаимосвязь операционной и серверной части.
В операционной части рассматривается среда разработки интернет магазина.
Серверная часть содержит в себе размещение интернет магазина на сайте провайдера, поддерживающие технологии, используемые при создании интернет – магазина.
Разработка операционной части.
Предположительно интернет магазин разрабатывается в среде php. Для ответа обоснования выбора было произведено сравнение РНР с другими языками программирования Web-приложений. Это его основные конкуренты — Perl, ASP.NET, ColdFusion и Java.
1. РНР и Perl
Язык Perl был создан программистом Ларри Уоллом (Larry Wall) и расшифровывается как Practical Extraction and Report Language. Перевести это можно как "язык для практического извлечения данных и составления отчетов". Perl является интерпретатором и появился намного раньше, чем Web. С появлением интернета язык Perl оказался удобным инструментом для создания динамических Web-страниц. Большое распространение Perl получил потому, что был доступен на каждом Web-сервере, поскольку практически все они работали под управлением UNIX, и альтернативой ему являлся лишь более сложный язык С.
Perl проигрывает РНР в изяществе, притом, что РНР предлагает функциональность, аналогичную Perl при значительно меньшей избыточности и сравнительной простоте синтаксиса. Избыточность языка Perl связана с тем, что он разрабатывался для самых разнообразных приложений, что не могло не сказаться на его синтаксисе, в то время как РНР изначально разрабатывался для Интернета. По мнению очень многих пользователей, не знавших изначально ни РНР, ни Perl, выучить РНР намного проще.
2. РНР и Java
Вообще говоря, различают язык Java и технологию Java. Язык Java представляет собой С-подобный язык, который разрабатывался как "улучшенный C++". Технология Java включает в себя клиентскую и серверную часть, а также доступ к базам данных, поэтому наиболее корректно проводить сравнение технологии Java со связкой Apache/PHP/MySQL. Технология Java разрабатывалась как межплатформенная технология, позволяющая создавать Web-приложения корпоративного масштаба. Основными достоинствами этой технологии являются межплатформенная переносимость и объектно-ориентированный язык, что позволяет создавать сложные и объемные приложения. К числу недостатков можно отнести медленное выполнение, потребление большого количества памяти (плата за межплатформенную переносимость) и сложность разработки Web-приложений по сравнению с РНР. Между тем РНР почти не уступает Java в гибкости и масштабируемости созданных приложений. Кроме того, использование Java для разработки достаточно простых приложений вряд ли оправдано, а при работе над серьезными задачами Java обходится дороже.
3. РНР и ASP.NET
ASP (Active Server Pages) — язык сценариев от Microsoft. Если язык ASP значительно уступал РНР по многим параметрам, в первую очередь, по времени выполнения сценариев, то с появлением технологии ASP.NET ситуация изменилась.
Основное достоинство ASP.NET заключается в возможности применения всей мощи интерфейса Windows для разработки Web-приложений. Это позволяет разрабатывать страницы со сложным интерфейсом, не заботясь о сохранении, шифровании и передаче переменных, используемых на динамических страницах.
ASP.NET тесно интегрирован в новую технологию NET компании Microsoft. Главной особенностью разработки Web-приложений при помощи ASP.NET является возможность использовать любой язык программирования среды исполнения NET. Это может быть как модифицированный вариант Visual Basic — Visual Basic.NET, так и новый язык С# или клон Java — J#. Более того, в рамках одного Web-приложения могут быть использованы несколько языков программирования. Все это позволяет объединять в рамках одного проекта программистов, владеющих разными языками программирования. Код Web-приложения на ASP.NET компилируется в промежуточный язык MSIL (Microsoft Intermediate Language), иногда просто называемый IL. Аппаратно-независимый код на языке IL помещается в кэш Web-сервера для повышения производительности, по аналоги с байт-кодом Java. Но в отличие от технологии Java, обеспечивающей платформенную независимость, NET обеспечивает независимость от языка разработки. Выполнение Web-приложений ASP.NET на серверах, работающих не под Windows, практически невозможно. Более того, если Web-приложение интенсивно использует компоненты NET, просмотр динамической страницы будет возможен только под Windows и только с помощью браузера Internet Explorer. Поэтому в смысле переносимости РНР, безусловно, отличается от ASP.NET в лучшую сторону. Другой крайне немаловажный довод в пользу РНР заключается в быстром исправлении обнаруженных ошибок. Теоретически исправить их можно самостоятельно, если обладаете достаточной квалификацией. Также можно написать письмо разработчикам, и с большой долей вероятности, в следующей версии ошибка будет исправлена. А версии РНР выходят очень часто. С другой стороны, попробуйте написать об ошибке в Microsoft и попросить ее исправить. Если вы не глава Пентагона, вам это вряд ли удастся. Еще одним плюсом РНР, особенно важным для начинающих, является то, что его легче использовать для построения Web-приложений.
Таким образом, при выборе между ASP.NET и РНР следует исходить из стоящей задачи. Если в сети Интранет крупной корпорации большинство серверов и клиентских машин работают под управлением Windows, применение ASP.NET более чем оправдано. В то же время для разработки Web-сайта, размещаемого в Интернете, целесообразнее использовать РНР.
4. РНР и ColdFusion
Пакет ColdFusion разработан фирмой Allaire и предназначен для быстрой разработки как интерактивных, так и динамических Web-документов путем обработки информации, полученной из базы данных. Минусом ColdFusion является достаточно низкая переносимость. РНР работает практически на всех платформах, a ColdFusion — только на четырех: Win32, Solaris, HP/UX и Linux. Кроме того, ColdFusion, так же как и ASP, является коммерческой разработкой. ColdFusion достаточно мало распространен. По сравнению с РНР он более требователен к ресурсам. Плюсом ColdFusion является хорошая интегрированная среда разработки и, как следствие, более простые, чем в РНР языковые конструкции и более быстрое написание кода. Правда, из-за такой высокоуровневости языка некоторые задачи на нем решаются сложнее.
5. Для создания интернет магазина была использована платформа PHP 4.0, а в дальнейшем планируется перейти на PHP 5.0, так как основные отличия заключаются в реализации объектно-ориентированной модели. РНР 4.0 работал на движке Zend Engine 1.0. К выходу РНР 5.0 фирма Zend полностью переписала движок и выпустила в свет Zend Engine 2.0, который, по словам создателей, реализует "новую объектную модель". По сравнению с РНР 4.0, в пятой версии языка появились следующие особенности:
1. Введены закрытые (private) и открытые (protected) члены и методы класса, а также абстрактные классы и методы.
2. Введены интерфейсы, при этом класс может реализовывать произвольный список интерфейсов.
3. В РНР 5 также присутствуют расширенные возможности для клонирования объектов. Предназначенный для этого конструктор копирования позволяет не просто идентично клонировать объекты, а изменять при этом некоторые их свойства.
4. Введены постоянные члены и методы класса.
5. Одним из важнейших нововведений является наличие деструкторов.
6. Хорошей новостью является введение в РНР 5.0 статических членов класса. В РНР 4.0, если возникала необходимость в использовании статических членов, приходилось пользоваться искусственным приемом, заключающемся в комбинации глобальных переменных со статическими методами. При этом получались члены, которые действовали так же, как статические. Прием этот, мягко говоря, не очень хороший, поскольку привносил с собой все проблемы, связанные с использованием глобальных переменных. Теперь в РНР 5.0 статические методы можно объявлять явно при помощи ключевого слова static.
7. В РНР 5.0 введен механизм обработки исключений, отсутствующий в РНР 4.0.
Таким образом, в результате подобных нововведений в объектную модель РНР 5.0 стал полностью профессиональным языком программирования, что позволяет использовать его для решения задач любой степени сложности.
Разработка серверной части.
В серверной части архитектуры рассматривается работа интернет – магазина в сети Интернет, взаимодействие программного обеспечения магазина и сервисов, предоставляемых собственниками серверов, провайдеров. Так как после изготовления интернет-магазина необходимо будет его разместить в сети интернет и придется столкнуться с выбором мест размещения, иначе говоря выбрать хостинг.
Слово "хостинг" произошло от англ. "hosting". (host - главная машина, хозяин)
Сервисы, предлагающие свои услуги хостинга, дают возможность размещать информацию, интернет сайт на своём сервере. Таким образом, не нужно устанавливать свой собственный сервер в Интернет, что позволяет существенно сэкономить деньги. В зависимости от тарифного плана, предлагается определённый объём места на жёстких дисках сервера, e-mail, возможность работы с CGI, MSQ, и т.д.
Любой человек может без особых затруднений использовать как платные, так и бесплатные услуги. Как известно, бесплатный сыр бывает только мышеловке и в любом случае придётся платить. В первом (платном) варианте нужно расплачиваться деньгами, а во втором - качеством связи, ограничениями на размер файлов и рекламой, которая будет вывешена в магазине.