Выбор программных и аппаратных средств реализации интернет-магазина



 

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

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

· кроссплатформенность, необходимая для интеграции с другими подсистемами;

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

· безопасность;

· язык программирования должен предоставлять широкие возможности по работе с современными СУБД;

· обеспечивать универсальность клиентских приложений;

· открытость исходного кода, которая позволить динамическое совершествования ИС и исправление ошибок.

В настоящее время наиболее распространены следующие скриптовые языки вею-программирования..

Visual Basic Scripting Edition (или просто VBScript) — это язык программирования от компании Microsoft, предназначенный для создания сценариев (скриптов). Он является подмножеством языка Visual Basic и широко используется при создании административных сценариев в системе Windows. VBScript по умолчанию поддерживается в Windows Script Host (WSH), который в свою очередь по умолчанию устанавливается вместе с почти любой версией Windows. Если у вас слишком старая версия Windows, вы можете скачать WSH с сайта Microsoft и самостоятельно установить его.

Синтаксис VBScript является несколько упрощенной версией стандартного синтаксиса Visual Basic. Например, в VBScript не поддерживается типизация: все переменные имеют тип Variant. Сценарии на языке VBScript чаще всего используются в следующих областях:

· Автоматизация администрирования систем Windows.

· Серверный программный код на страницах ASP в Web-приложениях.

· Клиентские сценарии на Web-страницах (в основном только в браузере Internet Explorer).

JScript — это язык программирования от компании Microsoft. Он предназначен для создания сценариев и является реализацией стандарта ECMAScript. Синтаксис JScript во многом аналогичен языку JavaScript от компании Netscape. JScript по умолчанию поддерживается в Windows Script Host (WSH), который в свою очередь по умолчанию устанавливается вместе с почти любой версией Windows. Если у вас слишком старая версия Windows, вы можете скачать WSH с сайта Microsoft и самостоятельно установить его.

Сценарии на языке JScript чаще всего используются в следующих областях:

· Клиентские сценарии на Web-страницах.

· Автоматизация администрирования систем Windows.

· Серверный программный код на страницах ASP в Web-приложениях.

Язык JScript получил дальнейшее развитие в виде языка JScript.NET, который ориентирован на работу в рамках платформы Microsoft ASP.NET.

JavaScript - это язык программирования от компании Netscape, который является реализацией стандарта ECMAScript. Microsoft выпустила похожие версии языка под названием JScript, поэтому под названием "JavaScript" часто понимается любая версия языка, в том числе и Microsoft JScript.

В большинстве случаев при упоминании JavaScript подразумевается так называемый клиентский JavaScript, интерпретатор которого встроен в Web-браузеры. Однако JavaScript изначально был разработан как универсальный язык программирования для встраивания в любое приложение и обеспечения возможности написания в нем сценариев. Например, ActionScript, язык сценариев, доступный в Macromedia Flash 5 и MX, также смоделирован в соответствии со стандартом ECMAScript.

Python (питон) — интерпретируемый, объектно-ориентированный язык программирования высокого уровня. Он поддерживает классы, модули (которые могут быть объединены в пакеты), обработку исключений, а также многонитевую обработку. Python относится к классу языков с динамической типизацией, предоставляет программисту автоматическую «сборку мусора» и удобные высокоуровневые структуры данных, такие как словари, списки, кортежи и др. Питон объединяет поразительную мощь с простым и ясным синтаксисом, продуманной модульностью и масштабируемостью. Одной из интересных синтаксических особенностей языка является выделение блоков программы с помощью отступов (пробелов или табуляций), поэтому в Python отсутствуют операторные скобки ("begin/end", как в языке Паскаль или фигурные скобки, как в Си). Python — oдно из самых простых средств обучению и применению ООП. Часто является как первым (для обучения), так и последним (в череде используемых опытными программистами) языком программирования.

Python портируем и работает почти на всех известных платформах. Существуют порты под Windows, все варианты UNIX (включая Linux), Mac OS и Mac OS X, Palm OS, OS/2 и т.д. При этом, в отличие от многих портируемых систем, на каждой платформе Python поддерживает все характерные для данной платформы технологии (например, Microsoft COM/DCOM). Более того, существует специальная версия Python для виртуальной машины Java — Jython (http://www.jython.org/), что позволяет интерпретатору выполняться на любой системе, поддерживающей Java, при этом классы Java могут непосредственно использоваться из Python и даже быть написанными на Python.

Tcl (Tool Command Language) — интерпретируемый язык программирования высокого уровня. Tcl ориентирован преимущественно на автоматизацию рутинных процессов ОС и крупных программных систем и состоит из мощных команд, ориентированных на работу с абстрактными нетипизированными объектами. Принципиальное отличие Tcl от командных языков ОС состоит в независимости от типа системы (когда не надо утруждать себя изучением нового командного языка) и, самое главное, он позволяет создавать переносимые программы с графическим интерфейсом (GUI).

Ruby — интерпретируемый скриптовый язык высокого уровня для быстрого и удобного объектно-ориентированного программирования. Ruby имеет большое количество средств для обработки текстов, для решения системных задач. Ruby является полностью свободным языком программирования с возможностью копирования, модификации и распространения. Ruby перенесён на множество платформ. Он разрабатывался на Linux, но работает на многих версиях Unix, DOS, Windows 95/98/Me/NT/2000/XP, Mac OS, BeOS, OS/2, и т.д. Целью создания Ruby был настоящий объектно-ориентированный интерпретируемый язык программирования. Название отсылает к языку Perl, наследником которого является Ruby (драгоценные камни: англ. pearl — жемчужина, англ. ruby — рубин).

Ruby имеет простой и понятный синтаксис, позволяет обрабатывать исключения в стиле Java и Python, позволяет легко переопределять операторы, которые на самом деле являются методами. Ruby — полностью объектно-ориентированный язык программирования. Все данные в Ruby являются объектами в понимании SmallTalk. Например, число «1» — это экземпляр класса Fixnum. Также поддерживается добавление методов в класс и даже в конкретный экземпляр во время исполнения программы. Ruby сознательно не поддерживает множественное наследование, вместо которого существует концепция модулей. Ruby содержит автоматический сборщик мусора. Он работает для всех объектов Ruby, так что не надо заботиться о подсчёте ссылок даже во внешних библиотеках. Ruby не требует объявления переменных. Язык использует простые соглашения для обозначения области видимости. Пример: просто 'var' — локальная переменная, '@var' — переменная экземляра (член или поле объекта класса), '$var' — глобальная переменная. Ruby имеет независимую от ОС поддержку многопоточности.

PHP (пи-эйч-пи) — интерпретируемый скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. В области веб-программирования PHP является на сегодняшний день одним из самых распространённых технологий (наряду с Perl, ASP/.NET и Python) благодаря простоте, скорости выполнения и богатой функциональности. PHP распространяется свободно. Синтаксис языка похож на синтаксис С++. PHP поддерживается подавляющим большинством предоставителей сетевого хостинга.

Perl — интерпретируемый скриптовый язык программирования, один из самых распространённых в области веб-программирования. По одной из версий, Perl — аббревиатура, которая расшифровывается как "Practical Extraction and Report Language" (практический язык извлечений и отчётов). Существует также ряд других вариантов. Согласно самому красивому из них, название "perl" произошло от слова "pearl" (жемчужина).

Основной особенностью языка считаются его богатые возможности для работы с текстом, реализованные при помощи регулярных выражений (regular expressions). Перл также знаменит огромной коллекцией дополнительных модулей CPAN, находящейся по адресу http://www.cpan.org/.

PHP обладает множеством преимуществ по сравнению с конкурирующими продуктами, в числе которых:

· Высокая производительность;

· Наличие интерфейсов к различным системам баз данных;

· Встроенные библиотеки для выполнения многих общих задач, связанных с Web;

· Свободное распространение;

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

· Переместимость;

· Доступность исходного кода.

Рассмотрим эти преимущества более подробно:

· Производительность. Используя единственный сервер, можно обслуживать миллионы обращений в день. Результаты тестирования, опубликованные компанией Zend Technologies (http://www.zend.com), подтверждают более высокую производительность РНР по сравнению с конкурирующими продуктами.

· Интеграция с базами данных. РНР обладает встроенной связностью со многими системами баз данных: MySQL, PostgreSQL, mSQL, Oracle, dbm, Hyperware, Informix, InterBase и Sybase. Используя Open Database Connectivity Standard (Стандарт открытого интерфейса связи с базами данных, ODBC), можно подключаться к любой базе данных, для которых существует ODBC-драйвер.

· Встроенные библиотеки. Поскольку РНР был разработан для использования в Web, он имеет множество встроенных функций для выполнения широкого разнообразия полезных, связанных с Web, задач. С его помощью можно генерировать GIF-изображения, подключаться к другим сетевым службам, отправлять сообщения электронной почты, работать с cookie-наборами и генерировать PDF-документы.

· Стоимость. Пакет РНР является бесплатным.

· Изучение РНР. Синтаксис РНР основывается на других языках программирования, в первую очередь на С и Perl.

· Переносимость. Пакет РНР можно использовать под управлением многих различных операционных систем. Код РНР можно создавать в среде таких бесплатных Unix-подобных операционных систем, как Linux и FreeBSD, коммерческих версий Unix типа Solaris и IRIX или различных версий Microsoft Windows. Как правило, программы будут работать без каких-либо изменений в различных средах с установленным РНР.

· Исходный код. Пользователь имеет доступ к исходному коду РНР. В отличие от коммерческих закрытых программных продуктов, если нужно что-либо изменить или добавить в этом языке, то это всегда можно сделать.

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

· Кроссплатформенность СУБД;

· Полная совместимость с выбранной средой разработки (PHP);

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

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

· Надежность, позволяющая обеспечить решение задачи постоянного наполнения и обеспечения сохранность данных.

Проведём анализ рынка СУБД по нескольким характеристикам (таблица 1.5).

Таблица 1.5

Показатели Microsoft SQL Server 2008 MySQL 5.1 PostgreSQL 8.4
Поддерживаемые операционные системы Windows Desktop/Server Windows Desktop/Server , Linux, Unix, Mac Windows1 Desktop/S22erver, Linux, Unix, 2Mac
Условии лицензирования Коммерческий продукт с закрытым исходным кодом. Есть бесплатная версия с ограничением оперативной памяти до 4 Гб. Коммерческая лицензия и GNU GPL. Лицензия BSD Open Source.
Процесс установки и поддержки Довольно длительное время уходит на установку приложения и всех его зависимстей, однако множество визардов помогают в процессе. Платные версии отсылают электронные сообщения, если что-то «не так» в процессе работы. Самый простой процесс установки, так как сущетвует огромное количество готовых пакетов для разных операционных систем, установка из которых сводит трубности и проблемы к нулю Для опероционных систем семейств Linux/Unix установка идентична установке MySQL. Однако во время установки под Windows иногда возникают проблемы с инициализацией базы данных.
Наличие предустановленных драйверов в ОС семейства Windows Да Нет Нет
Наличие драйверов ODBC, JDBC, ADO.NET Да Да Да
Поддержка фунциональных индексов Нет, но можно обойтись Computed Columns Нет Нет
Поддержка частичных индексов Да (называются “фильтрованные индексы”) Нет Да
Поддержка ACID-требований к транзакциям Да Да, при использовании некоторых движков хранения данных Да
Каскадное обновление/удаление внешних ключей Да Да, при использовании некоторых движков хранения данных Да
Поддержка репликации Да, встроенная и разных типов. Но внесение тсруктурных изменений после начала репликаци — очень сложный процесс. Да, включая mater-master репликацию. Да, но с помощью сторонних продуктов с открытым исходным кодом. Репликация всех типов.
Возможность писать хранимые функции на разных языках программирования Да, теоретически на любом языке, поддерживающим CLR, например VisualBasic.NET, C#, IronPython, но сначала надо скомпилировать код в бибилиотеку dll. Нет (кроме C и Pl/SQL) Да, наиболее полная поддержка из всех рассматриваемых.
Возможность создавать пользовательские аггрегированные функции Да — любой .NET язык, кроме TRANSACT SQL. Да, только на С Да — на PL language и встроенных C, SQL, PLPgSQL.
Поддержка триггеров Да Да Да
Партицирование таблиц Да (в Enterprise версии) Да Да
Поддержка создания функций Да Да Да
Поддержка хранимых процедур Да Дa Да (с помощью CREATE FUNCTION)
Наличие встроенного планировщика (не CronTab) Да (SQL Agent не для Express версии) Да (только для SQL-запросов) Да (PgAgent)
Возможность доступа к таблице из другой базы данных, находящейся на том же хосте Да Да Да
Чувствительность к регистру По умолчанию — не чувствительна Нет Да
Поддержка даты и времени Да Да (но без временной зоны) Да
Аутентификация Средставими БД и ActiveDirectory Средствами БД Много разных методов, включающих предыдущие

Учитывая приведенные выше требования и сравнительный обзор в качестве СУБД был выбрана среда MySQL – это многопоточная, многопользовательская СУБД, основными достоинствами которой является быстрота, надежность и простота использования. Несмотря на то что, MySQL не представляет такой широкий набор возможностей как например Oracle, использование MySQL оправдывается из-за значительных меньших требований к мощности оборудования и большей скоростью работы при работе со средним объемом данных БД. Использование связки PHP+MySql позволяет более гибко организовывать принцип мультплатформенности.

 

 


Дата добавления: 2020-01-07; просмотров: 553; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!