На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

Сравнительный анализ инструментов разработки web-приложений

Статья опубликована в выпуске журнала № 2 за 2002 год.
Аннотация:
Abstract:
Авторы: Масюков В.А. () - , Ивашкин Д.И. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 19708
Версия для печати
Выпуск в формате PDF (1.13Мб)

Размер шрифта:       Шрифт:

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

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

Первые средства разработки динамических сайтов, такие как Microsoft Active Server Pages (ASP), PHP (Perl Hypertext Preprocessor, первоначально именовавшийся Personal Home Pages) и Perl, удовлетворяли всем необходимым по тем временам требованиям. Но со временем разработчики web-приложений стали обнаруживать, что многие элементы их web-проекта невозможно реализовать существующими средствами без расширения их функциональных возможностей другими языками программирования путем подключения пользовательских библиотек на C++, VisualBasic и т.д. В результате этого разработчику приходится изучать как минимум два-три языка программирования для реализаций своих идей. Чтобы этого избежать, многие разработчики создают собственные средства разработки web-приложений, специализированные для конкретного web-проекта. В результате этого появились средства разработки web-приложений нового поколения, такие как Cold Fusion фирмы Allaire Corporation, Jagg фирмы BulletProof, LiveWire фирмы Netscape и прочие. Они являются более гибкими и обладают широкими возможностями в построении web-сайтов. Большинство из этих средств работают согласно схеме “маленькая CGI-программа, большой процесс-партнер”[1]. Такой механизм уменьшает накладные расходы, связанные с загрузкой CGI-программы, и позволяет обеспечить высокий уровень переносимости между различными web-серверами. Результаты качественного сравнения наиболее популярных средств разработки web-приложений нового поколения (Cold Fusion, dbWeb, LiveWire, DataRamp) позволили сделать ряд выводов.

·     Каждое средство разработки обладает собственным языком программирования (часто ориентированным только для web), например: в Cold Fusion язык разметки CFML, а iBasic в dbWeb. Это требует от пользователя дополнительных усилий на изучение нового языка.

·     Как правило, используемые языки программирования обладают низкими функциональными возможностями и требуют длительного программирования для достижения требуемого результата. Более того, в качестве языка часто используются средства первого поколения ASP (в Dreamweaver UltraDev), PHP либо скриптовые языки JavaScript (в LiveWire), VBScript.

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

·     Благодаря совместимости с различными версиями драйверов ODBC, средства обладают возможностью взаимодействовать с различными базами данных (БД).

·     В отличие от dbWeb и LiveWire, средство Cold Fusion совместимо с любым web-сервером, отвечающим стандарту CGI.

·     Для корректной работы с web-сайтом клиенту нередко требуется устанавливать на своей машине специальное дополнительное программное обеспечение, например, если web-сайт был разработан при помощи средства DataRamp.

·     Большинством средств безопасность разрабатываемых web-приложений обеспечивается путем ограничения доступа к БД. Кроме этого, Cold Fusion позволяет ограничить доступ к определенным html\dbml-шаблонам.

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

Проведем оценку по следующим характеристикам: операционная система; совместимость с web-серверами; обучение; программируемость; эффективность; поддержка динамического интерфейса (дизайна) разрабатываемых приложений; безопасность; обработка ошибок; средства отладки; сookies; профиль пользователя; возможность работать с ранее созданными локальными приложениями в Интернете; стандартные сервисы; поддержка управления транзакциями.

Для оценки были выбраны наиболее популярные средства разработки web-приложений: Cold Fusion [1,2], dbWeb, LiveWire [1] и авторская разработка Д.И. Ивашкина с базовым названием FUAD.

FUAD – это средство, созданное по технологии разработки унифицированных приложений TUAD (Technology for unified applications development). FUAD предоставляет следующие возможности.

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

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

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

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

Þ      Технология TUAD позволяет создавать средства разработки web-приложений на различных, удобных для пользователя языках (например, FUAD создано при помощи Delphi). Таким образом, разработанное средство будет использовать для создания web-приложений язык программирования, на котором оно само было создано. Это позволяет создавать web-приложения в таких мощных средах, как Visual C++, Delphi, JBuilder и пользоваться их средствами отладки, что значительно повышает скорость разработки web-приложений.

Þ      Раннее разработанным локальным приложениям предоставляется возможность функционировать в Интернете, учитывая соглашение, связанное с правилом обмена параметрами.

Подпись: Таблица 2 
Функциональная характеристика	 
 

		Cold Fusion	dbWeb	LiveWire	FUAD
Безопасность	2	3 балла.	1 балл.	1 балл.	5 баллов.
Профиль пользо-вателя	2	0 баллов.	0 баллов.	0 баллов.	5 баллов.
Динамичность интерфейса	2	2 балла.	2 балла.	2 балла.	5 баллов.
Эффективность	2	3 балла.	3 балла.	3 балла.	5 баллов.
Стандартные сервисы	1	0 баллов.	0 баллов.	0 баллов.	5 баллов.
Cookies	2	2 балла	0 баллов	4 балла	5 баллов
Совместимость с web-серверами	1	5 баллов.	4 балла.	3 балла.	5 баллов.

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

Для оценки эффективности средства разработки web-приложений используется следующая целевая функция:

, при j = 1 .. N (1)

где k – задача; j – оцениваемое средство; i – индекс функциональной характеристики оценки; M – количество функциональных характеристик для оценки; N – количество оцениваемых средств;  – весовой коэффициент важности i-й функциональной характеристики для k-й задачи; wij – оценка полезности j-го средства относительно i-й функциональной характеристики;  – общая эффективность j-го средства для k-й задачи с функциональными характеристиками i = 1..M.

Расстановка весовых коэффициентов, характеризующих оценку полезности j-го средства относительно i-й функциональной характеристики ()

Подпись: Таблица 3 
Функциональная характеристика	 
 

		Cold Fusion	DbWeb	LiveWire	FUAD
Безопасность	2	3 балла	1 балл	1 балл	5 баллов
Профиль пользо-вателя	2	0 баллов	0 баллов	0 баллов	5 баллов
Динамичность ин-терфейса	1	2 балла	2 балла	2 балла	5 баллов
Эффективность	2	3 балла	3 балла	3 балла	5 баллов
Стандартные сер-висы	1	0 баллов	0 баллов	0 баллов	5 баллов
Поддержка управ-ления транзакция-ми	2	5 баллов	0 баллов	4 балла	3 балла
Обеспечение ло-кальных приложе-ний возможно-стью функциони-ровать в Интер-нете	2	0 баллов	0 баллов	0 баллов	5 баллов
Поддержка опера-ционных систем	2	4 балла	3 балла	4 балла	3 балла
Cookies	2	2 балла	0 баллов	4 балла	5 баллов
Совместимость с web-серверами	1	5 баллов	4 балла	3 балла	5 баллов

В качестве весовых коэффициентов возьмем пятибалльную систему оценки полезности данного средства относительно указанной характеристики, где: 0 – неприемлемо, то есть средство не располагает такой характеристикой; 1 – плохо; 2 – приемлемо; 3 – хорошо; 4 – очень хорошо; 5 – отлично.

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

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

В качестве весовых коэффициентов будем использовать двухбалльную систему оценки значимости i-й характеристики для k-й задачи, где: 0 – необязательная функциональная характеристика; 1 – желательно, чтобы присутствовала; 2 – важная функциональная характеристика.

Формулировка задач и расстановка весовых коэффициентов важности i-й функциональной характеристики для k-й задачи ()

Сегодня наиболее популярной задачей web–программирования является задача создания центра электронной коммерции. Как правило, при решении этой задачи большое внимание уделяют безопасности web-приложения (чтобы клиент не пострадал материально), скорости обработки запросов (так как приходится работать с большими наборами данных) и динамически меняющемуся контенту (содержимое html-страницы) пользователя. В таблице 2 перечислены функциональные характеристики с весовыми коэффициентами для текущей задачи и соответствующие оценки полезности относительно этих характеристик рассматриваемых средств из таблицы 1.

Работа с ранее созданными локальным приложениями в сетях Интранет и Интернет. Так как Интернет имеет клиент/серверную архитектуру, он очень удобен для публикации БД. А благодаря тому что клиентская сторона представляет собой броузер, который прост в использовании и независимо от операционной системы (ОС) обладает одинаковым для всех своих версий интерфейсом, он фактически является универсальным клиентом для клиент/серверных приложений. И поэтому организации очень часто внедряют у себя сети Интранет (локальная сеть, использующая протоколы TCP/IP и предоставляющая те же услуги, что и Интернет). Но существующие у них программные продукты, которые они используют для ведения своих дел (например, бухгалтерские приложения), как правило, не обладают возможностью функционировать в Интернете. Поэтому их требуется либо переписывать заново, используя необходимое средство разработки web-приложений, либо прибегать к каким-нибудь другим хитростям. Надо отметить, что при решении такого рода задач требуется учитывать вопросы безопасности, так как приходится работать с конфиденциальной информацией (бухгалтерия и т.д.), рассмотреть вопросы управления транзакциями, контроль ввода и прочие. В таблице 3 перечислены функциональные характеристики с весовыми коэффициентами для текущей задачи и со- ответствующие оценки полезности относительно этих характеристик рассматриваемых средств из таблицы 1.

Подпись: Таблица 4 
Функциональная ха-рактеристика	 
 

		Cold Fusion	DbWeb	LiveWire	FUAD
Обучение	2	3 балла	4 балла	3 балла	4 балла
Программируемость	1	2 балла	4 балла	3 балла	5 бал-лов
Обработка ошибок	1	5 баллов	3 балла	0 баллов	5 бал-лов
Средства отладки	2	0 баллов	0 баллов	2 балла	5 бал-лов
Динамичность ин-терфейса	2	2 балла	2 балла	2 балла	5 балла

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

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

Весовые коэффициенты () и оценка полезности инструментов web (wij) для текущей задачи представлены в таблице 4.

Анализ результатов

Применительно к оценке эффективности четырех типов инструментов web мы рассмотрели три задачи, для каждой из которых существует свой набор функциональных характеристик с соответствующими весовыми коэффициентами из таблиц 2-4. Результаты оценки эффективности этих средств по формуле (1) представлены в таблице 5.

Подпись: Таблица 5 
Оценка эффективности средств разработки web-приложений
Задача	Cold Fusion	DbWeb	LiveWire	FUAD
2.1	 
 
 
 

2.2	 
 
 
 

2.3	 
 
 
 


Из таблицы 5 следует, что наиболее эффективными являются средства разработки web-приложений FUAD и Cold Fusion. Из этих средств наиболее предпочтительное – FUAD.

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

Список литературы

1.   Курт Ланг, Джефф Чоу. Публикация баз данных в Интернете. - СПб.: “Символ”, 1998.

2.   Ричард В. Дрейган, Тимоти Дик, Ларри Дж. Зельцер. Инструменты разработки Web: подняться на отметку выше // PC Magazine/RE.- № 6. - 2001.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=701&lang=
Версия для печати
Выпуск в формате PDF (1.13Мб)
Статья опубликована в выпуске журнала № 2 за 2002 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: