« Предыдущая Следующая »

1.4 Обоснование проектных решений

1.4.1 Обоснование проектных решений по техническому обеспечению

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

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

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

Хостинг для размещения интернет-магазина должен:

  • быть исключительно надежным;
  • иметь круглосуточную  техническую поддержку – по телефону или электронной почте;
  • обеспечивать безопасное проведение платежей;
  • обеспечивать высокую скорость загрузки страниц;
  • обеспечивать значительное дисковое пространство;
  • иметь неограниченный трафик;
  • иметь надежную систему безопасности.

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

Прежде всего подразумеваются технические характеристики самих серверов, которые включают в себя:

  • требования к быстродействию процессоров, которые можно сфорулировать коротко: тем быстрее, тем лучше, чем больше внутренний кеш CPU - тем лучше, и наконец  чем больше процессоров - тем лучше.
  • Оперативная память, которой никогда не бывает много. Нижний предел для объема оперативной памяти на серьезном сервере не должен быть меньше 2048 МБ.
  • Сетевые интерфейсы  - здесь все рассчитывается в зависимости от предполагаемого трафика.
  • Дисковый объем – определяется исходя из предполагаемого объема данных.

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

Обязательными компонентами хостинговой площадки должны стать:

- система безопасности;

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

  1. Система обнаружения атак;
  2. Сканер уязвимостей системы;
  3. Сканер уязвимостей веб-приложений.

Для достижения приемлемого уровня безопасности система обнаружения атак должна решать задачи:

  • Выявление аномального поведения объектов сети на основание их поведения;
  • Выявление попыток атак на основе заранее подготовленных шаблонов;
  • Иметь гибкую систему средств реагирования на обнаруженные атаки;
  • Производить реакцию на атаки в масштабах времени близких к реальному.

- система хранения данных, которая должна обеспечивать надежность хранения данных и постоянный  доступ к информации. В настоящее время можно выделить три технологии организации хранения данных: Direct Attached Storage (DAS), Network Attach Storage (NAS) и Storage Area Network (SAN).

В качестве устройств хранения данных, в частности в SAN сетях, могут использоваться как жесткие диски, так и ленточные накопители. Если говорить о возможных конфигурациях применения жестких дисков в качестве устройств хранения данных, то это могут быть как массивы JBOD, так и RAID массивы дисков.

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

Система резервного копирования имеет многоуровневую архитектуру, которая включает:

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

Схема хостинговой площадки приведена на рис. 1.4.1.

Схема хостиноговой площадки

Рис. 1.4.1 Схема хостиноговой площадки

Таким образом, в состав хостинговой площадки должны входить: сервер базы данных, сервер приложений, сервер хранения данных (он же резервного копирования), веб-сервер, сервер безопасности.

1.4.2 Обоснование проектных решений по информационному обеспечению

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

Информационное обеспечение (ИО) — совокупность единой системы классификации и кодирования информации, унифицированных систем документации и информационных массивов.

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

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

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

По сфере действия выделяют следующие виды классификаторов: международные, общегосударственные (общесистемные), отраслевые и локальные классификаторы.

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

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

Существующие системы документации, характерные для неавтоматизированных ЭИС, отличаются большим количеством разных типов форм документов; большим объемом потоков документов и их запутанностью; дублированием информации в документах и работ по их обработке и, как следствие, низкой достоверностью получаемых результатов. Обработка документов в таких системах занимает почти половину времени работников. При необходимости упростить систему документации, используют следующие подходы:

  • проведение унификации и стандартизации документов;
  • введение безбумажной технологии, основанной на использовании электронных документов и новых информационных технологий их обработки.

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

К внутримашинному информационному обеспечению относится описание экранных форм.

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

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

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

Основной частью внутримашинного информационного обеспечения является информационная база.

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

Существуют следующие способы организации информационной базы:

  • совокупность локальных файлов — поддерживается функциональными пакетами прикладных программ;
  • интегрированная база данных — основывается на использовании универсальных программных средств загрузки, хранения, поиска и ведения данных, т.е. СУБД.

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

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

  • совместимость данных; соответствие данных реальному состоянию объекта;
  • удобство и увеличение скорости совместной обработки данных;
  • поддержка целостности данных.

База данных (БД) — поименованная совокупность данных, отражающая совокупность объектов и их отношений в рассматриваемой предметной области.

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

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

  • иерархическую;
  • сетевую;
  • реляционную модель.

Основными компонентами любой из этих моделей являются файлы (или таблицы).

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

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

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

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

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

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

Информационным обеспечением задачи служат справочники и документы.

  • Товары и услуги;
  • Контрагенты;
  • Склады компании;
  • Расчетные счета;
  • список стандартов;
  • техника безопасности

Вся информация берется из базы данных, которая расположена на сервере.

Файлы с результатной информацией так же сохраняются на сервере и записываются в Базу Данных.

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

1.4.3 Обоснование проектных решений по программному обеспечению

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

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

Обобщенная структура программного обеспечения информационной системы представлена на рис. 1.4.2.

Структура программного обеспечения

Рис. 1.4.2 Структура программного обеспечения

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

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

  • операционные системы семейства Windows от фирмы Microsoft (Windows 95/98/Me, Windows NT4.0/2000/XP),
  • операционные системы Linux/BSD семейства (UNIX подобные) от различных фирм – разработчиков (Red Hat, Debian, Novel, Mandrake soft, Gentoo, Slackware, IBM, Oracle, NetBSD, OpenBSD, FreeBSD) [13].

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

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

В качестве операционной среды для разработки и применения программы была выбрана операционная система семейства Windows, в частности операционная система Windows ХР Professional. Этот выбор обусловлен тем, что Windows ХР наиболее распространенная операционная система на сегодняшний день. Операционная система Windows XP обеспечивает стабильность, предоставляя пользователям возможность сосредоточиться на выполняемой работе.

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

Выбор СУБД производился по следующим критериям:

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

На рынке серверных СУБД существует несколько решений, ориентированные на работу веб-приложений. К ним в первую очередь относятся PostgreSQL, Microsoft SQL Server, Oracle. Однако, учитывая высокую стоимость решений от Oracle и Microsoft, их высокие требования к аппаратному обеспечению и потребность в окружении специфическим программным обеспечением, в качестве реальной альтернативы MySQL можно рассматривать только PostgreSQL. Сравнительная характеристика MySQL и PostgreSQL представлена в таблице 1.4.1.

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

Таблица 1.4.1

Сравнение возможностей СУБД PostgreSQL и MySQL

Особенности PostgreSQL MySQL
ANSI SQL совместимость Близка к стандарту ANSI SQL Следует некоторым стандартам ANSI SQL
Скорость работы Медленнее Быстрее
Вложенные SELECT Да Да
Транзакции Да Да, однако, должен использоваться тип таблицы InnoDB
Внешние ключи Да Да, однако, должен использоваться тип таблицы InnoDB
Представления Да Нет
Триггеры Да Нет
Поддержка Windows Да Да
ODBC Да Да
JDBC Да Да
Различные типы таблиц Нет Да

Как видно из таблицы 1.4.1, PostgreSQL обладает некоторыми преимуществами перед MySQL. Так, в частности, PostgreSQL поддерживает представления и триггеры. Эта СУБД иногда показывает лучшие результаты производительности при пиковых нагрузках.

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

СУБД MySQL в полной мере отвечает поставленным критериям:

  • Распространённость и популярность продукта. Не вызывает никаких сомнений – одна из самых известных и используемых платформ в мире. Большая часть мелких и средних проектов, связанных с базами данных, выполняется с применением MySQL.
  • Простота использования, администрирования. В MySQL активно используется развитый графический интерфейс пользователя. Сервер способен функционировать долгое время в полностью автономном режие.
  • Надёжность и устойчивость сервера. MySQL характеризуется большой скоростью, устойчивостью и легкостью в использовании, является идеальным решением для малых и средних приложений. В малых и средних проектах показатель надёжности приближается к показателю большинства известных серверов. Многопоточность. Поддержка нескольких одновременных запросов.
  • Надёжность данных при их хранении и обработке. Всё резервирование данных осуществляется в автоматическом или полуавтоматическом режиме как в любом современном развитом сервере БД. Все поля имеют значение по умолчанию.
  • Совместимость с выбранной программной платформой. Совместимость MySQL с Windows XP/2003 Server. Совместимость с распространёнными серверами приложений. Практически все популярные сервера приложений имеют в своём составе поддержку MySQL. Интерфейс с языками C# и Delphi.
  • Гибкость настроек баз данных. Большое число поддерживаемых типов данных (поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени) Все данные хранятся в формате ISO Встроенная Утилита проверки и ремонта таблицы (isamchk). Легкость управления таблицей, включая добавление и удаление ключей и полей. Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках. Гибкая система привилегий и паролей. До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.

Программное обеспечение (ПО) MySQL - это ПО с открытым кодом. ПО с открытым кодом означает, что применять и модифицировать его может любой желающий. Такое ПО можно получать по Internet и использовать бесплатно. При этом каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями. Использование программного обеспечения MySQL регламентируется лицензией GPL (GNU General Public License) [9], в которой указано, что можно и чего нельзя делать с этим программным обеспечением в различных ситуациях, также есть возможность приобрести коммерческую версию данной СУБД.

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

Многие задачи могут быть эффективно решены с помощью любого современного популярного языка программирования (рис. 1.4.3.). Часто, выбор языка и фреймворка определяется тем, какими знаниями обладают программисты, готовые реализовать данный проект.

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

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

Другие популярные клиентские языки, а точнее фреймворки - это Adobe Flash (язык ActionScript) и SilverLight (любые .NET языки). Adobe Flash применяется веб-мастерами очень давно. Основное применение этой технологии - интерактивные сайты и сервисы, онлайновые игры, мультимедийный контент и реклама. SilverLight - это новая технология, разработанная компанией Microsoft и позиционируемая как замена Adobe Flash.  программировать на нем относится к базовым знаниям веб-разработчика.

Языки веб-программирования

Рис. 1.4.3 Языки веб-программирования

Если говорить про ОС Windows, то тут безраздельно властвует технология ASP.NET, разработанная компанией Microsoft. С помощью ASP.NET можно создавать сайты любого уровня сложности - от самых простых, состоящих их нескольких страниц, до очень сложных, обрабатывающих миллионы запросов в день (сайты Microsoft, написанные на ASP.NET, являются одними из самых посещаемых в Интернет). Технология ASP.NET привлекательна для тех, кто неплохо разбирается в ОС Windows, но незнаком с Unix-подобными системами. Основной недостаток - меньшее, по сравнению с *nix, количество дешевых хостингов или необходимость покупки серверной лицензии, в случае с выделенным хостингом.

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

Другой популярный язык веб-программирования на платформе Unix - язык Perl. Он имеет сложный запутанный синтаксис и никогда не предназначался для веб-программирования.

Поэтому в качестве языка разработки клиента подключения к базе данных был выбран язык PHP.

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

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

  • В модулях PHP все запускается в области памяти, выделенной программе операционной системой. ASP загружает для различных действий соответствующие СОМ-модули, чем сильно загружает оперативную память и процессор
  • Интеграция PHP с выбранной СУБД MySQL значительно более полная, чем у ASP. Существует множество утилит на PHP для работы с базами данных MySQL, где реализуется набор свойств наиболее полный в сравнении с другими базами данных. Есть очень полезные встроенные функции, недоступные для других баз данных. Одним из значительных преимуществ PHP является поддержка широкого круга баз данных: Oracle, Microsoft SQL server, MySQL и другие.
  • Несомненное достоинство PHP - это отсутствие временных проблем с исправлением внутренних ошибок, что позволяет оперативно реагировать и исправлять недоработки.
  • Межплатформенная миграция.

PHP поддерживает ODBC (Open Database Connection standard), поэтому можно  работать с любой базой данных, поддерживающей этот всемирно признанный стандарт.

« Предыдущая Следующая »
Похожие публикации
Разработка методики реинжиниринга архитектурных и промышленных комплексов с целью создания информационных моделей для систем управления данными объектами
Диплом «Разработка методики создания информационных моделей для систем управления гражданскими и промышленными строительными объектами» содержит 125 страниц, 30 рисунков, 22 таблицы.
Развитие модели "Умный дом"
Диплом "Развитие модели "Умный дом"" состоит из 114 страниц. Содержит 6 приложений, изображения, таблицы и диаграммы.
Вопросы духовно-нравственного воспитания младшего школьника
Диплом "Вопросы духовно-нравственного воспитания младшего школьника" состоит из 80 страниц. Содержит таблицы, задания, игры, упражнения.
Целостное развитие творческого воображения в дидактической игре «необитаемый остров»
Дипломная работа "Целостное развитие творческого воображения в дидактической игре «необитаемый остров»" по специальности «Педагогическая психология».
Проектная деятельность как эффективная форма экологического воспитания младших школьников
Дипломная работа по теме "Проектная деятельность как эффективная форма экологического воспитания младших школьников" состоит из 62 страниц.