Добавлен: 11.01.2024
Просмотров: 135
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Такая архитектура разбивает процесс обработки данных между клиентом, сервером приложений и хранилищем данных. В отличие от традиционной двухзвенной архитектуры здесь присутствует сервер приложений, как промежуточное звено между клиентом и хранилищем данных.
В системе присутствует два хранилища. В первом (обычно реляционная база данных) хранятся все данные, которые публикуются на сайте. Во втором (обычно файловая система) хранятся элементы представления – шаблоны, графические изображения и т.д.
Получая запрос, сервер приложений обрабатывает его, связываясь с хранилищем данных, в каком бы месте необходимые данные не находились.
Клиент лишь получает результат в виде HTML-файла. Таким образом, сервер приложений является стандартизованной платформой для динамической доставки контента и построения основных приложений.
Серверов приложений может быть много, а связь с ними происходит через Web-сервер.
В таблице 2.1 приведены результаты сравнительного анализа архитектур Web-представительства.
По результатам анализа при реализации Web-представительства выбрана трехзвенная архитектура «клиент-сервер».
2.4. Выбор средств реализации Web-представительства 2.4.1 Выбор системы управления базами данных
При выборе СУБД учитывалось требование заказчика обеспечить низкую стоимость владения Web-представительства.
Рассмотрим бесплатно распространяемые СУБД MySQL, FireBird, Oracle Database XE и произведем их сравнительный анализ.
MySQL – это реляционная СУБД. MySQL характеризуется большой скоростью, устойчивостью и легкостью в использовании, является решением для малых и средних приложений. Это одна из самых быстрых современных СУБД [20].
Firebird (FirebirdSQL) – компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах.
В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно, потому что читающие пользователи не
блокируют пишущих), компактность (дистрибутив 5Mb), высокую
эффективность и мощную языковую поддержку для хранимых процедур и триггеров.
Oracle Database 10g Express Edition (Oracle Database XE) – бесплатная версия СУБД для разработчиков.
Oracle Database XE предоставляет те же интерфейсы SQL и PL/SQL, что и во всех остальных версиях Oracle Database 10g, а также широкий спектр программных интерфейсов. Предоставляется полная поддержка разработки и развертывания приложений для разработчиков, работающих на платформах Java, .NET, PHP и Windows.
Максимальный размер БД – 5 Гб.
Сравним эти СУБД по основным критериям оценки серверов баз данных, результаты сравнения представлены в таблице 2.2.
Таблица 2.2 - Сравнительный анализ СУБД
Из сравнительной таблицы можно сделать вывод, что СУБД MySQL, обеспечивает лучшие характеристики, поэтому выбрана именно она в качестве сервера баз данных Web-представительства.
Самой популярной версией данной СУБД в настоящее время является MySQL 5.х.
34
2.2.2 Физическая модель данных Web-представительства
Физическая модель данных – логическая модель данных, выраженная в терминах языка описания данных конкретной СУБД.
Физическая модель данных содержит все детали, необходимые конкретной СУБД для создания базы: наименования таблиц и столбцов, типы данных, определения первичных и внешних ключей и т.п.
Физическая модель данных строится на основе логической модели данных с учетом ограничений, накладываемых особенностями архитектуры и типизации данных СУБД MySQL.
На рисунке 3.1 представлена физическая модель данных Web-представительства, построенная на основе вышеперечисленных рекомендаций в методологии IDEF1X.
Рисунок 2.5 – Физическая модель данных Web-сайта
В базе данных, реализованной на основе представленной модели, используется нормальная форма Бойса-Кодда.
2.2.3 Выбор языка программирования Web-приложения
В настоящее время для разработки динамических сайтов широко применяются такие технологии Web-программирования, как ASP.NET, Perl и PHP [19].
ASP.NET – технология создания веб-приложений и веб-сервисов от компании Майкрософт. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP. ASP.NET опирается на многоязыковые возможности .NET, что позволяет писать код страниц на VB.NET, Delphi.NET, Visual C#, J# и т. д.
Perl – высокоуровневый интерпретируемый динамический язык программирования общего назначения. Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе, работа с регулярными выражениями, встроенная в синтаксис. Perl унаследовал много свойств от языков Си, AWK, скриптовых языков командных оболочек UNIX.
PHP – свободно распространяемый язык Web-программирования. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических Web-сайтов [15].
Результаты сравнительного анализа языков Web-программирования сведены в таблице 2.3.
Таблица 2.3 -Сравнительный анализ языков Web- программирования
По результатам анализа выбрана технология ASP.NET.
ASP.NET является объектно-ориентированной моделью разработки Web-приложений. Сами ASP.NET-страницы являются объектами классов. Можно создавать программный код с возможностью его повторного использования классами. Эти классы можно использовать для создания экземпляров объектов.
Объектная модель — это иерархия объектов, предоставляющих разработчикам определенные возможности. В ASP.NET используется новая структура Web-страниц, которая отличается от структуры ASP-страниц и обеспечивает поддержку объектной модели для сохранения содержимого ASP.NET-страницы. Добавлен новый класс элементов управления — серверные элементы управления. Можно добавлять собственные комментарии и связывать эти данные с серверными элементами управления. Для оформления Web-страниц имеются наборы директив, которые предназначены для установки параметров. Например, параметры TraceContext и isEnabled позволяют, соответственно, включить и отключить механизм отслеживания Web-запросов.
ASP.NET определяет шесть внутренних объектов структуры страниц:
-
application; -
ObjectContext; -
response; -
request; -
server; -
session.
Эти объекты встроены в модель ASP.NET-страниц и готовы к использованию.
В объекте application хранятся данные, которые будут доступны всем пользователям, одновременно работающим с Web-приложением.
Данные о сеансе работы каждого отдельного пользователя сохраняет объект session. Объект application используется для хранения глобальных переменных, которые содержат информацию, общедоступную для всех пользователей Web-приложения, например, приветственное сообщение или индекс посещения Web-страницы. Этот объект представляет собой коллекцию разнородных элементов. Пользователи совместно используют объекты Web-приложения, поэтому требуется гарантировать, что несколько пользователей не смогут одновременно изменять переменные, хранимые в объекте application. Для блокирования содержимого коллекции объектов от изменения применяется метод Lock, для разблокирования — метод Unlock. Так же существуют методы Contents.Remove и Contents.RemoveAll, которые удаляют один элемент из семейства Contents или все сразу соответственно.
С помощью объекта ObjectContext выполняется фиксация или откат транзакций, управляемых MTS. Транзакции могут быть инициированы со страницы ASP.NET. Методы SetComplete и SetAbort объекта ObjectContext используются, соответственно, для фиксации и отката транзакций.
Объект response можно использовать для передачи выходной информации клиенту. Методы объекта respons:
-
AddHeader – устанавливает заголовок HTML имя равным значению. -
AppendToLog – добавляет строку в конец записи журнала веб-сервера, относящейся к этому запросу. -
BinaryWrite – записывает предоставленную информацию в текущий вывод HTTP без преобразования наборов символов. -
Clear – стирает любой буферизованный вывод HTTP. -
End – останавливает обработку файла .asp и возвращает текущий результат. -
Flush – немедленно передает буферизованный вывод. -
Redirect – отправляет обозревателю сообщение о перенаправлении, вызывая попытку обозревателя подключиться к другому URL. -
Write – записывает переменную в виде строки в текущий вывод HTTP.
В объекте request сохраняется информация, отправляемая браузером клиента на сервер в HTTP-запросе. После обработки запроса с помощью объекта request пользователю отправляется ответная информация. С помощью метода BinaryRead объект request извлекает данные, передаваемые клиентом серверу, как часть запроса POST.
Объект server позволяет получить доступ к свойствам и методам Web-сервера. С помощью метода СreateObject можно создать экземпляр объекта server, Execute – выполняет файл .asp. Так же существует возможность сопоставляения указанного виртуального пути с физческим путем – это делает метод MapPath. А Transfer передает всю информацию о текущем состоянии другому файлу .asp для обработки.
Объект session используется для хранения информации о пользовательских сеансах. Значения переменных объекта session сохраняются, даже когда пользователь переходит на другую страницу Web-приложения. Этот объект создается при организации пользователем сеанса и уничтожается при его завершении. Например, в нём можно сохранять регистрационную информацию каждого пользователя, посещающего сайт виртуального магазина. Эта информация остаётся доступной для всего Web-приложения даже при переходе пользователя на другие Web-страницы сайта. Объект session использует три метода: Abandon для уничтожения объект session и освобождения его ресурсов, а Contents.Remove и Contents.RemoveAll для удаления одного элемента или всех элементов из семейства Contents соответственно.
Каждый из внутренних объектов ASP.NET обладает набором методов и коллекций для управления функциональными возможностями этого объекта. Назначение и возможности внутренних объектов технологий ASP и ASP.NET практически идентичны.
2.5 Описание программных модулей
Web-приложение состоит из следующих программных модулей: модуль управления заказами клиентов;
модуль администрирования Web-представительства. Ниже представлен PHP-класс формы вывода заказов
$db = mysql_connect ("localhost","root",""); mysql_select_db ("mcd",$db);
$result = mysql_query ("SELECT id, fio, phone, mail, adress, tovar, sum from zakaz",$db);
$myrow = mysql_fetch_array ($result); do {
printf ("", $myrow["id"],$myrow["fio"],$myrow["phone"],$myrow["mail"],$myrow["adress"], $myrow["sum"],$myrow["tovar"]);
}
while ($myrow = mysql_fetch_array ($result)); ?>
2.6 Обоснование экономической эффективности разработки Web-представительства ООО «Честер»
Для обоснования экономической эффективности разрабатываемого ИТ-решения предлагается методика сравнения себестоимости приобретенного программного продукта (ПП) (базовый вариант) и разработанного ПП (проектный вариант) программистом по договору (ИТ-аутсорсинг).
ИТ-аутсорсинг – предполагает делегирование внешней специализированной компании решение вопросов связанных с разработкой, внедрением и сопровождением информационных систем как целиком на уровне инфраструктуры предприятия (сопровождение оборудования или ПО), так и объемов работ, связанных с развитием и/или поддержкой функционирования
отдельных участков системы (программирование, хостинг, тестирование и т.
д.).
Проектируемый продукт представляет собой Web-сайт ООО «Честер» . Пользователями данной системы являются клиенты ресторана.
Стоимость приобретенного ПП (базовый вариант, Сба) составила 25070 руб.
В процессе проектирования будут задействованы: менеджер, программист и администратор сайта.
В калькуляцию себестоимости разработки ПП включаются следующие статьи затрат:
основная зарплата;
дополнительная зарплата;
социальные страховые взносы; прочие прямые расходы;