Файл: Критерии выбора средств разработки WEB-приложений.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.04.2023

Просмотров: 159

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Создание или приобретение компонентов

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

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

1.2 Современные средства разработки интернет сайтов и веб приложений

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

создание HTML документа, т.е. с помощью редактора «Блокнот» набрать код на языке HTML в ручном режиме и реализовать его с помощью браузера на клиентском рабочем месте, а впоследствии опубликовать у провайдера, воспользовавшись его услугами хостинга;

создание того же HTML документа, с помощью редактора Adobe Dreamweaver, пользуясь большим набором функций и удобств;

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

В отличии от разработки простых и не интерактивных сайтов, для разработки Web-приложений, которые запускаются и выполняют обработку данных на сервере, необходимы методы и средства дополняющие указанные в предыдущем абзаце. Разработка Web-приложений связана кроме создания HTML-кода с программированием на специальном языке. Для разработки Web-приложений используется язык программирования PHP, а также не обойтись без, например, локального сервера Apache и баз данных MySQL.[1]

Рассмотрим еще средства программирования Web-приложений:

язык программирования JavaScript используется для создания интерактивных HTML документов;

VBScript используется для написания сценариев клиента, а также для написания сценариев на сервере;


Perl используется для разработки инструментов системного администрирования, а также в разработке CGI-сценариев, систем автоматической обработки электронной почты и поддержки узлов Web.

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

Denwer (от сокр. ДНВР — джентльменский набор Web-разработчика) — набор дистрибутивов и программная оболочка, которые предназначены для создания и отладки Web-приложений и другого динамического содержимого Web-страниц на ПК под управлением ОС.

В состав набора Denwer входят:

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

система программирования PHP – Cи-подобный  язык для разработки программных кодов встраиваемых в HTML-код сайта и исполняемых на сервере, с целью обработки данных, поступающих от пользователей того или иного сайта. PHP (Hypertext Preprocessor – «Препроцессор гипертекста», первоначально Personal Home Page Tools – «Инструменты для создания персональных веб-страниц») – скриптовый язык общего назначения, применяемый для разработки Web-приложений,  был создан Расмусом Лердорфом в 1994 году;

MySQL – свободно распространяемое программное обеспечение для обработки баз данных, в том числе используется при работе с данными поступающих с клиентских браузеров. MySQL (Structured Query Language – «Структурированный язык запросов») был создан Майклом Видениусом из шведской компании TcX в 1995 году.

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

1.3 Выбор платформы для разработки веб-сайта

Разработку «с нуля» стоит сразу отбросить, так как этот подход может быть правильным только в том случае, если создание проекта это основная задача компании, а ресурсов под эту задачу выделено очень много. Хорошие проекты «с нуля» пишутся очень долго, хотя этот подход позволяет создавать очень серьёзные решения. Поэтому рассмотрим только создание сайта на базе платформ.


От выбора платформы зависит как сама по себе реализуемость необходимого функционала, так и возможности дальнейшего развития web-проекта. Для создания сайта, как правило, выбирается одна из платформ: CMS, фреймворк или SaaS-решение. Следовательно, ставится проблема выбора платформы, из представленных на рынке информационных технологий, которая является наилучшим решением для реализации web-сайта.

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

Коробочные CMS-системы написаны на PHP и использует СУБД MySQL, что делает данные коробочные решения легко модернизируемыми путем изменения кода при необходимости разработчиком.

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

Данный коробочный функционал с одной стороны упрощает разработку и сопровождение системы, с другой стороны является ее значительным недостатком, так как реализация нестандартного функционала или настройка под свой бизнес-процесс, затруднена или вовсе нереализуема. Причиной являются заложенные в систему бизнес-процессы, которые тесно связаны между собой, что модификация одного приводит к необходимости модифицировать и зависимые от него бизнес-процессы. Таким образом, «подгон» функционала сайта под конкретную организацию приводит к значительным трудозатратам и увеличению сроков разработки.[9]

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


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

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

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

SaaS-платформы (software as a service ПО как услуга) это способ распространения программного обеспечения на арендной основе. Иными словами, не надо покупать CMS или заказывать разработку, достаточно только сконфигурировать выданный поставщиком сайт под свои задачи и ежемесячно вносить абонентскую плату.[12]

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

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

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


Таблица 1. Описание и сравнение платформ для создания сайтов

Признак

CMS

Фреймворк

SaaS

Функционал

Избыточный

Набор стандартных

Г отовый,

стандартный

модулей, на основе

стандартный

функционал;

которых можно

функционал, не

невозможность

выстраивать

возможность выхода

доработки

необходимый

за рамки

нестандартными

функциями

функционал

предоставленного

функционала

Реализация бизнес-процессов

Заложены основные бизнес-процессы

Реализация любых бизнес-процессов

Сопровождение

Удобное

Простое

Занимается

поставщик

Масштабируемость

Простое, но в рамках

заложенного

функционала

Легко масштабируемы

Нет

Модульность

Да

Наличие базовых программных модулей

Нет

Быстрота и удобство разработки

Да

Легкая, быстрая за счет подключения вспомогательных программ, библиотек, сценариев

Быстрая и простая разработка

Возможность доработки кода

Есть

Есть

Нет

Производительность

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

Высокая

Низкая

Следовательно, анализируя таблицу 1, можно сделать вывод, что разработка webприложения на CMS-системе наиболее оптимальный вариант для достаточно типового проекта, так как в CMS уже есть все нужные для этого заложенные модули и бизнес-процессы, что будет полностью соответствовать требованиям заказчика. Но если разрабатываемый проект выходит за рамки стандартных функций, то следует отдать предпочтение фреймворку. SaaS платформу стоит использовать только тогда, когда необходимо разработать сайт без требовательного дизайна и который не потребует в дальнейшем доработок программной логики.

Кроме того, выбор платформы стоит делать на основе экономической составляющей разрабатываемого web-приложения. Таким образом, необходимо выделить критерии, которым необходимо отдать предпочтение при выборе платформы: