Содержание к диссертации
Введение
1. Анализ инструментальных средств разработки веб-приложений 19
1.1. Постановка задачи создания инструментальных средств для разработки бизнес-приложений на базе интранет-технологий 19
1.2. Анализ существующих инструментальных средств разработки веб-приложений 23
1.3. Анализ концепций программирования в основе современных средств разработки веб-приложений 28
1.3.1. Структурное программирование 28
1.3.2. Объектно-ориентированное программирование 28
1.3.3. Компонентное программирование 29
1.3.4. Аспектно-ориентированное программирование 30
1.4. Выводы 33
2. Модель системы интранет-приложений 34
2.1 Разработка модели системы интранет-приложений 34
2.2 Минимизация трудоемкости разработки интранет-приложений системы 40
2.3 Принципы декомпозиции интранет-приложений 44
2.4 Взаимодействие системы с базами данных 50
2.5 Процесс работы интранет-приложения 52
2.6 Взаимодействие интранет-приложений в системе 57
2.7 Метод снижения объема потребляемых ресурсов 58
2.8 Адаптация модели к различным системам интранет-приложений 60
2.9 Выводы 61
3. Создание инструментальных средств разработки бизнес-приложений на базе интранет-технологий 62
3.1 Процесс разработки интранет-приложения с помощью инструментальных средств 62
3.2 Разработка архитектуры инструментальных средств. Четыре уровня автоматизации 64
3.3 Описание основных возможностей инструментальных средств 70
3.4 Разработка средств автоматизации высокого уровня 72
3.5 Реализация и методика использования инструментальных средств... 74
3.6 Выводы 77
4. Исследование эффективности применения предложенных моделей 78
4.1 Разработка систем интранет-приложений для научно-исследовательских организаций 78
4.2 Реализация системы интранет-приложений «NGT Портал» с помощью предложенных подходов и инструментальных средств 81
4.3 Исследование трудоемкости разработки на примере системы «NGT Портал» 87
4.4 Исследование быстродействия системы «NGT Портал» 94
4.5 Перспективы применения предложенных подходов и инструментальных средств для разработки научно-исследовательского портала (на примере задач раскроя и упаковки) 96
4.5.1 Особенности процессов в научной школе раскроя и упаковки 96
4.5.2 Предлагаемая структура интранет-портала CUTCAD 97
4.5.3 Оценка эффективности алгоритмов на базе интранет-портала 99
4.6 Выводы 100
Заключение 101
Список литературы 103
Приложение
- Анализ существующих инструментальных средств разработки веб-приложений
- Минимизация трудоемкости разработки интранет-приложений системы
- Разработка архитектуры инструментальных средств. Четыре уровня автоматизации
- Реализация системы интранет-приложений «NGT Портал» с помощью предложенных подходов и инструментальных средств
Введение к работе
Актуальность проблемы. До конца 90-х годов веб-технологии применялись, главным образом, для создания представительств в сети Интернет. В последние годы веб-технологии широко используются для создания интранет-приложений, направленных на автоматизацию внутренних бизнес-процессов предприятия.
Бизнес - процесс (организации) - это совокупность взаимосвязанных процессов и видов деятельности в организации в управляемых условиях и посредством определённых ресурсов преобразующая внешние информацию, сырьё (материалы и комплектующие) в продукцию, предназначенную для потребителя [40].
В современных условиях, когда информация становится важным производственным фактором, влияющим на успех предприятия в целом, автоматизация внутренних процессов приобретает особенное значение.
В частности, большую роль играет управление качеством. Внедрение системы менеджмента качеством [41] (СМК) и сертификация по международным стандартам качества ISO-9000 [51] позволяет предприятиям выйти на новый уровень развития: оптимизировать производственные процессы, более гибко реагировать на внешние изменения, выявить и ликвидировать ошибки управления, и, наконец, повысить свою конкурентоспособность. Стандарты качества требуют выделения и описания всех бизнес-процессов предприятия, важную роль играет их автоматизация.
Бизнес-процессы организации согласно принятой методологии [24] делятся на три категории (см. рис. 1):
1) бизнес-процессы ведения основной деятельности;
2) вспомогательные бизнес-процессы;
3) бизнес-процессы развития и совершенствования. автоматизации всего комплекса бизнес-процессов предприятия являются системы ERP-класса. Разработкой ERP-систем занимается ряд таких крупных фирм как SAP, Baan, Oracle, IBM, и др.
Бизнес-процессы ведения основной деятельности обладают узкой спецификой для предприятий различных отраслей. Автоматизация этих процессов требует глубокого изучения особенностей того или иного вида производства. Поэтому остановимся на вспомогательных процессах и процессах развития, достаточно типичных для любой организации.
На рис.2 приведены группы вспомогательных бизнес-процессов и популярные программные продукты для их автоматизации. На схеме в круге
(1) представлены вспомогательные бизнес-процессы предприятия. В круге
(2) представлены примеры наиболее часто используемых для автоматизации этих процессов программных продуктов. В круге (3) рис. 2 представлены примеры комплексных решений, автоматизирующих всю совокупность представленных бизнес-процессов.
Рис. 2. Вспомогательные бизнес-процессы предприятия Для автоматизации ряда направлений существует достаточно развитый рынок программных продуктов с четко выраженным лидером. Например, лидер среди программ бухгалтерского учета - «1С:Предприятие», а среди средств управления проектами - Microsoft Project. Для некоторой части процессов на рынке программного обеспечения нет четко выраженного лидера. Для других - единые программные продукты практически отсутствуют. Например, функции информационно-методического обеспечения, как правило, выполняет несколько программных продуктов. Как правило, это специализированные базы данных: правовые («Гарант»), нормативные («Стройконсультант») и др.
Проблема в том, что различные виды бизнес-процессов зачастую автоматизированы с помощью разных программных продуктов. Информация зачастую дублируется, порой оказывается противоречивой. Между тем, вспомогательные бизнес-процессы определяются как процессы, поддерживающие основную деятельность предприятия и направленные на интеграцию предприятия.
Комплексная автоматизация вспомогательных бизнес-процессов может быть проведена на базе корпоративных информационных систем (КИС) или в рамках ERP-систем [79]. Внедрение на предприятиях КИС и ERP-систем -процесс, требующий больших затрат - как финансовых, так и организационных. Между тем, внедрение КИС не всегда приводит к повышению эффективности производства [38]. Причины этого кроются в следующем:
1) компания не сделала стратегического выбора, необходимого, чтобы конфигурировать системы и процессы;
2) процесс внедрения естественным образом сходит с рельс управления предприятием.
Иными словами, в условиях, когда отсутствует организационная интеграция, не формализованы достаточно четко бизнес-процессы и не определены функции подразделений, внедрение комплексных информационных систем оказывается неэффективным, не имея под собой твердого фундамента. Особенно остро проблема организационной интеграции стоит в России. Озабоченные проблемой выживания в текущий момент, предприятия не проводят серьезной работы по формированию стратегической политики и выбору долгосрочных целей. Кроме того, быстро меняющаяся экономическая ситуация приводит к тому, что приходится пересматривать не только тактические, но и стратегические цели предприятия.
Более эффективный и дешевый путь автоматизации предприятия в меняющихся условиях - интеграция существующего программного обеспечения и разработка дополнительных модулей с поэтапным внедрением. При этом важно сочетать перспективное планирование с постоянной адаптацией к текущим задачам. Более того, такой путь автоматизации позволит подготовить предприятия для эффективного внедрения в будущем ERP-систем, упорядочивая процессы и документооборот.
Таким образом, возникает необходимость создания единого информационного центра предприятия, который предоставлял бы доступ каждому сотруднику предприятия ко всем необходимым данным, документам и приложениям. Кроме того, такой центр повышает прозрачность, и, следовательно, контролируемость бизнес-процессов на предприятии.
Рассмотрим процесс интеграции предприятия на базе единого информационного центра. предприятия на базе единого информационного центра На рис. 3 представлена IDEF-диаграмма процесса интеграции предприятия и автоматизации бизнес-процессов. На входе в систему имеется набор информации из различных источников, чаще всего, слабо систематизированной. Формируют информационный центр разработчики программного продукта, внедрение его осуществляется приказами руководства, а вклад в информационное наполнение вносят сотрудники предприятия. Механизм создания информационного центра - инструментальные средства разработки интранет-приложений, автоматизирующих бизнес-процессы. Управляющее воздействие оказывают руководящие документы (законы и нормативы), внутренние требования организации, и требования системы менеджмента качества (в случае, если планируется ее внедрение). В итоге мы получаем систематизированную информацию, как для сотрудников, так и для руководства, причем обеспечен централизованный доступ к информации с единой «точки входа».
Информационный центр предприятия, связанный с внутренними бизнес-процессами, эффективно может быть реализован на базе интранет-технологий в силу следующих причин:
- на современном этапе развития на предприятиях в высокой степени развиты локальные вычислительные сети, большинство сотрудников имеют компьютеризированные рабочие места;
- веб-браузер удобно использовать в качестве клиента - обновление приложения не требует установки и обновления программного обеспечения на каждом рабочем месте, что значительно сокращает затраты на поддержку системы;
- веб-браузер не требователен к аппаратным ресурсам и может быть установлен практически на любом компьютере пользователя, в том числе и на машинах с различными операционными системами;
- как следствие, интранет-системы легко адаптируются под конкретное предприятие или ситуацию: достаточно обновить серверный код, и пользователи уже видят все изменения;
- предоставлена возможность совместной работы территориально распределенных офисов;
- предоставлена возможность удаленной работы командированных или работающих на дому сотрудников.
Поясним, что интранет-технологии представляют собой применение традиционных средств глобальной сети Интернет - статических и динамических веб-страниц, веб-серверов, веб-сервисов в рамках строго определенной области, например, локальной сети предприятия, или объединенных каким-либо способом локальных вычислительных сетей нескольких предприятий или филиалов.
Информационный центр предприятия на базе интранет-технологии должен выполнять три типа функций:
1) являться «точкой входа» для других, традиционно используемых приложений;
2) реализовывать отдельные функции приложений (или отдельные подпроцессы бизнес-процессов), предоставляя доступ к ним большому числу сотрудников;
3) на базе центра могут быть разработаны специальные интранет-приложения, полностью автоматизирующие те или иные бизнес-процессы.
Пример функции первого типа - организация доступа к информации по управлению проектами и календарным планам. В частности, возможно использование веб-интерфейсов, например, MS Project для получения сотрудниками заданий и размещения отчетов о их выполнении.
Пример функций второго типа - автоматизированные системы заполнения табелей или коэффициентов трудового участия (начальниками отделов), подача заявок на оформление командировочных документов и др. Лицензии на рабочие места таких приложений, как 1С предприятие, стоят достаточно дорого, а в некоторых случаях требуется предоставить доступ большому количеству сотрудников, однако, к достаточно ограниченному количеству функций. К примеру, есть необходимость заполнения табелей рабочего времени в каждом отделе. При этом табельщикам не нужен доступ ко всему арсеналу функций системы 1С. Таких примеров можно привести множество. Именно такие функции более выгодно реализовывать на базе интранет-технологий.
Наконец, ряд бизнес-процессов, даже если существуют готовые программные решения, представляется более эффективным реализовать в рамках единого информационного центра на базе интранет-приложений. Главным образом, это системы, затрагивающие каждого сотрудника. В частности, это системы документооборота, базы данных справочно-информационного фонда (каталог библиотеки, БД «ГОСТы и стандарты»), поддержка инженерно-технического обслуживания (например, система заявок и предложений сервисным службам).
Информационный центр предприятия на базе интранет-технологий служит хорошей основой для последующего внедрения ERP-систем: происходит упорядочивание бизнес-процессов предприятия, повышается их прозрачность и формируется новая корпоративная культура.
Информационные центры на базе интранет-технологий принято называть интранет-системами или внутренними порталами. В данной работе мы уделим основное внимание организации интранет-систем, а также разработке новых интранет-приложений в рамках информационных центров или порталов. Проблемы интеграции интранет-систем с другими приложениями заслуживают отдельного внимания и в рамках данной работы не рассматриваются.
В связи с высокой эффективностью применения интранет-технологий для автоматизации внутренних процессов предприятия, представляет интерес создание специализированных инструментальных средств разработки интранет-систем.
В настоящее время инструментальные средства разработки веб-приложений ориентированы на широкий круг предметных областей. Большинство из них своим предназначением имеют разработку представительств в глобальной сети Интернет. Поэтому для создания типовых интернет-проектов, таких, как, интернет-магазины, биллинговые системы, интернет-сервисы и др. предусмотрены широкие возможности автоматизации. Специфика же интранет-систем и бизнес-приложений на базе интранет-технологии зачастую не учитывается, не предоставлены и средства автоматизации типовых задач.
На рынке программного обеспечения средства разработки бизнес- приложений на базе интранет-технологии занимают достаточно небольшой сегмент и ориентированы либо на высококвалифицированных специалистов (IBM WebSphere, Oracle9i Application Server Portal Developer Kit), либо на пользователей среднего уровня (MS SharePoint Portal, Saitistika). В первом случае затруднена быстрая адаптация приложений к изменяющимся бизнес- процессам без привлечения разработчиков, во втором, как правило, заранее определен узкий круг функциональных возможностей и снижены возможности адаптации. Подробный анализ существующих инструментальных средств приведен в главе 1 данной работы.
Проблемами разработки веб-приложений занимается ряд научных коллективов: Вендров A.M. [5], [6], Холчева А.В., Воронцов А.А. [7] и др. Исследования посвящены различным применениям веб-приложений: построению масштабных интернет-сайтов, развитию поисковых систем и др. Вопросами проектирования интранет-систем, в частности, корпоративных порталов, активно занимается СВ. Зыков (Московский инженерно-физический институт). В своих работах СВ. Зыков [17],[97] отмечает важную роль портала как связующего звена разнородных корпоративных систем и предлагает концептуальную модель для формализации процесса проектирования порталов, однако вопросу создания инструментальных средств разработки внимания не уделяет. Его работы посвящены, главным образом, интеграции различных гетерогенных систем и баз данных на базе интранет-портала, но не разработке приложений.
В Уфимском государственном авиационном техническом университете проблемам веб-приложений посвящена диссертация А.Н. Баликова [4] под руководством проф., д.т.н. Юсуповой Н.И. Работа посвящена моделям и методам разработки крупномасштабных интернет-приложений. В работе А.Н. Баликова следует отметить перспективные подходы к разработке веб-приложений, в частности, использование компонентной модели и аспектно-ориентированного программирования.
Исходя из вышеизложенного представляет интерес создание инструментальных средств для разработки бизнес-приложений на базе интранет-технологий. Необходимо предоставить квалифицированным специалистам быстрые средства работы с рутинными операциями, а пользователям с небольшим уровнем квалификации - новые возможности по управлению приложениями. С научной точки зрения представляет интерес разработка модели системы интранет-приложений как основы для инструментальных средств.
Целью работы является создание эффективных программно-инструментальных средств разработки и адаптации бизнес-приложений на базе интранет-технологий, направленных на снижение трудоемкости разработки.
Для ее достижения поставлены следующие задачи:
1. Анализ существующих инструментальных средств разработки интранет-приложений.
2. Разработка модели системы интранет-приложений - основы инструментальных средств, декомпозиция интранет-приложений в соответствии с моделью интранет-системы.
3. Разработка архитектуры, принципов построения и реализация инструментальных средств разработки бизнес-приложений на базе интранет-технологий.
4. Анализ эффективности разработки интранет-приложений с помощью предложенной модели интранет-системы и разработанных инструментальных средств.
На защиту выносятся:
- псевдокомпонентная модель системы интранет-приложений с использованием элементов аспектно-ориентированного подхода, принципы декомпозиции интранет-приложений в соответствии с моделью;
- архитектура инструментальных средств, предоставляющая четыре уровня автоматизации разработки бизнес-приложений на базе интранет-технологий;
- метод снижения объема потребляемых аппаратных ресурсов;
- базовый комплекс программных модулей как реализация предложенной модели системы интранет-приложений и основа инструментальных средств;
- программно-инструментальные средства разработки бизнес-приложений на базе интранет-технологий;
- результаты практического применения разработанного программного комплекса и инструментальных средств.
Научная новизна работы.
1. Псевдокомпонентная модель системы интранет-приложений с использованием элементов аспектно-ориентированного подхода. Модель использует ряд принципов компонентной объектной модели и аспектно-ориентированного подхода. Особенности области применения модели позволяют снять такие ограничения компонентной модели, как хранение каждого компонента в отдельном классе, и реализовать компоненты в виде методов единого класса, что дает возможность определить точки вставки аспектов в наследниках такого класса. Модель позволяет снизить трудоемкость разработки приложений и избежать дублирования кода.
2. Способ определения точек вставки аспектов. Условия вставки аспектов описаны в методах - наследниках компонентов. Это новый способ вставки аспектов, который позволяет обойти ограничения языков программирования в области аспектного подхода и использовать преимущества этого подхода для снижения трудоемкости реализации.
3. Предложены принципы декомпозиции интранет-приложений.
Предложенные принципы декомпозиции составляющих приложения согласно разработанной модели позволяют минимизировать трудоемкость разработки интранет-приложений.
4. Предложен метод снижения потребления аппаратных ресурсов интранет-приложениями. Применение предложенной модели функционирования системы интранет-приложений, где большая часть кода всех приложений находится в общем, совместно используемом, системном модуле, является новым методом снижения потребления аппаратных ресурсов.
5. Предложена архитектура инструментальных средств разработки интранет-приложений. Инструментальные средства предлагают автоматизацию разработки интранет-приложений на четырех уровнях в зависимости от уровня квалификации пользователя. При составлении приложения используется принцип автоматической сборки взаимосвязанных компонентов. На всех четырех уровнях инструментальные средства позволяют снизить трудоемкость разработки приложений, что доказывается проведенными исследованиями эффективности ее применения.
Практическая значимость и внедрение результатов работы. Разработанная на базе предлагаемых моделей система интранет-приложений показала значительные преимущества перед традиционными способами организации таких систем. Трудоемкость разработки приложений существенно снизилась-, увеличилось быстродействие системы при относительно низком потреблении ресурсов.
На основе рассматриваемого комплекса программных модулей разработана система бизнес-приложений «NGT Портал», в течение почти двух лет функционирующая в ЗАО «УфаНИПИнефть». Система включает более полутора десятков модулей различной направленности, обеспечивает работу нескольких отделов, и является основой автоматизации ряда бизнес процессов предприятия. С февраля 2004 г. система внедрена в Уфимском филиале ООО «ЦИР ЮКОС».
Успешное практическое применение рассматриваемых моделей и программных средств, а также проведенные на реальной системе сайтов «NGT Портал» исследования показывают эффективность предложенных решений.
Программа поддержки внутреннего сайта организации (IBBIS), созданная на основе предложенной модели системы интранет-приложений и внедренная в Уфимском филиале ООО «ЮганскНИПИнефть», зарегистрирована в РОСПАТЕНТ, свидетельство №2002611485. Система интранет-приложений «NGT Портал», созданная на базе предложенных подходов, зарегистрирована в РОСПАТЕНТ свидетельство № 2004610817.
Инструментальные средства могут быть с высокой степенью эффективности применены для создания научно-исследовательских или бизнес-порталов как в глобальной сети Интернет, так и в ЛВС научных учреждений.
Апробация работы. Положения работы докладывались на международных научных конференциях:
- 5th International Workshop on Computer Science and Information Technologies (CSIT) - 2003, Уфа;
- Первая Всероссийская конференция «Интернет и Нефтегаз. 2003», Трехгорный;
- Вторая Всероссийская конференция «Интернет и Нефтегаз. 2004», Трехгорный.
За лучшую научную студенческую работу автор награжден медалью Министерства Образования РФ. На Первой Всероссийской конференции «Интернет и Нефтегаз. 2003» доклад об интранет-системе «NGT Портал» занял первое место.
Публикации
По теме диссертации опубликовано 15 работ, из них 8 материалов конференций, 4 статьи.
Содержание диссертации
Во введении к диссертации обоснована актуальность решаемой проблемы; сформулирована цель и задачи исследования; приведены результаты, выносимые на защиту; отмечена их научная новизна и практическая значимость. Приведены сведения об апробации работы и публикациях.
В первой главе проведен обзор инструментальных средств разработки веб-приложений. Рассмотрены современные концепции программирования. Четко определена постановка задачи.
Вторая глава посвящена разработке модели системы интранет-приложений как основы инструментальных средств. Решена задачи функциональной декомпозиции для системы интранет-приложений. Описан метод повышения быстродействия системы.
В третье главе рассказано о подходах к реализации, структуре и базовых возможностях инструментальных средств. Приведена методика их использования.
Четвертая глава посвящена исследованиям эффективности предложенных моделей, методов и подходов.
Анализ существующих инструментальных средств разработки веб-приложений
Задача создания эффективных инструментальных средств разработки веб-приложений привлекает как научных исследователей, так и фирм-разработчиков программного обеспечения с начала эпохи бурного развития всемирной компьютерной сети Интернет.
На начальном этапе развития сети инструментальные средства сводились, главным образом, к редакторам HTML-кода (Microsoft FrontPage, Allaire Homesite и др.). Затем, когда стремительно меняющаяся информация потребовала создания масштабных динамических сайтов, появились средства разработки веб-приложений. Исторически можно выделить три направления развития инструментальных средств: 1. Системы управления контентом 2. Инструментальные средства на базе HTML-редакторов. 3. Инструментальные средства в рамках визуальных IDE для различных языков программирования.
Классификация современных инструментальных средств разработки веб-приложений и наиболее известные средства представлены на рис. 1.3. Для составления таблицы были использованы источники [57], [58], [60], [62], [64], [86], [43], [61], [90] и материалы семинара «Интернет-порталы: содержание и технологии» [18].
Широкое распространение получили системы управления контентом (Content Management System, CMS). Эти системы позволяют простым пользователям редактировать текстовую и графическую информацию на вебсайте, а также определять некоторые настройки сайта. Как правило, CMS представляют возможности для работы со строго определенным набором разделов веб-сайта (например, страница новостей, прайс-лист, гостевая книга). При этом функциональность каждого раздела также строго определена. Дополнить веб-сайт дополнительными функциями или изменить функциональность существующих разделах без участия программиста CMS позволяет в ограниченной мере, как правило, в заранее определенных разработчиками рамках.
CMS-системы получили свое развитие в области разработки интранет-приложений в виде пакетов программных средств, рассчитанных на пользователей среднего уровня квалификации. Как правило, такие программные комплексы, например, позволяют создавать некоторый набор разделов с заранее определенным набором функций и настраивать их в тех или иных рамках. Недостаток таких средств - ограниченные функциональные возможности и ограниченные возможности адаптации под специфику предприятия. Разработчики, как правило, представляют собой небольшие компании. Спецификации программного обеспечения, которые позволили бы самостоятельно развивать инструментальные средства, не представлены, либо представлены слабо. Таким образом, подобные комплексы наиболее эффективны для небольших предприятиях или для предприятий определенных областей деятельности с заранее определенной типовой конфигурацией.
Инструментальные средства на базе современных HTML-редакторов, помимо верстки статических страниц или HTML-шаблонов, обычно предоставляют возможности для программирования на тех или иных скриптовых языках. Однако за рамки обычных редакторов кода со встроенным интерпретатором и отладчиком такие средства редко выходят.
Инструментальные средства в рамках IDE для различных языков программирования, напротив, предоставляют множество средств реализации веб-приложений. Например, IDE для Java помогают создавать сервлеты или jsp-страницы. Microsoft .NET предоставляет средства разработки asp-страниц. Такие инструментальные средства зачастую перенасыщены функциональностью и предоставляют гораздо более широкий набор возможностей, чем обычно необходимо для реализации интранет-приложений. Такие средства сложны в освоении, дорогостоящи, и не представляют упрощенных возможностей для пользователей с небольшой квалификацией.
Наибольший интерес представляют специализированные средства разработки интранет-систем или порталов, не так давно начавшие появляться на рынке программного обеспечения. Например, Oracle9i Application Server Portal Developer Kit предоставляет возможности быстрой адаптации различных приложений для интранет-среды. Такие средства в большей степени удовлетворяют требованиям, предъявляемым к инструментальным средствам разработки интранет-приложений, однако также обладают рядом недостатков: представленные на рынке средства (см. рис. 1.3) используют язык программирования Java, включают в себя Application Server (сервер приложений) и, следовательно, предъявляют высокие требования к аппаратным ресурсам; средства предоставляют возможности только для высококвалифицированных специалистов, затрудняя быструю адаптацию приложений к бизнес-процессам; средства включают большой объем спецификации, сложной для изучения; средства не используют особенности интранет-приложений, позволяющие снизить трудоемкость разработки; в частности, не используются подходы минимизации трудоемкости реализации сквозной функциональности; - средства не ставят своей задачей минимизацию количества кода и сокращение дублирующегося кода, что могло бы позволить снизить как трудоемкость разработки, так и требования к аппаратным ресурсам.
Минимизация трудоемкости разработки интранет-приложений системы
Предложенная модель направлена, прежде всего, на снижение трудоемкости, а именно - на повторное использование максимально большого количества кода и сокращение дублирующегося кода, т.е. на минимизацию количества кода. Рассмотрим, каким образом происходит снижение трудоемкости разработки. Пусть нам необходимо разработать некоторое интранет-приложение. Пусть оно состоит из набора псевдокомпонентов. Рассмотрим два варианта разработки: 1) создание приложения и псевдокомпонентов «с нуля»; 2) создание приложения с использованием рабочего класса и готовых псевдокомпонентов; Рассмотрим задачу максимального снижения трудоемкости согласно предложенной модели интранет-системы. Введем обозначения: Ті - трудоемкость первого варианта разработки; Тг - трудоемкость второго варианта разработки; Pi - трудоемкость разработки уникальных компонентов данного приложения; Sj - трудоемкость разработки компонентов приложения, которые могут быть заменены системными псевдокомпонентами (выполняют идентичные функции); v, - трудоемкость вызова системного псевдокомпонента; п - количество системных псевдокомпонентов, используемых приложением; m - количество уникальных псевдокомпонентов приложения.
Таким образом, трудоемкость реализации двух вариантов будет выглядеть следующим образом: Трудоемкость реализации второго варианта (т.е. при разработке с использованием элементов компонентой модели) должна быть меньше, чем первого. Снижение трудоемкости, таким образом, будет равно: Очевидно, что для максимального снижения трудоемкости согласно предложенной псевдокомпонентной модели необходимы условия: Т.е. нужно выделить в качестве системных максимальное количество псевдокомпонентов при условий, что трудоемкость их вызова не будет превышать трудоемкости их реализации в качестве псевдокомпонентов уровня приложения. Теперь рассмотрим возможности дополнительного снижения трудоемкости за счет выделения аспектов. Рассмотрим, аналогично, два варианта реализации приложения: 1) без выделения аспектов (сквозные функции реализованы внутри других методов); 2) с выделением аспектов в отдельные методы и определением точек вставки аспектов. Пусть некоторое а, - трудоемкость реализации некоторой сквозной функции (аспекта) / ; ct - трудоемкость определения точки вставки аспекта і. Пусть функцию і необходимо выполнить при вызове kt методов. При этом кі принадлежит множеству целых чисел Z. Тогда Условие снижения трудоемкости будет выглядеть следующим образом: Т.е. если трудоемкость определения точки вставки аспекта меньше трудоемкости реализации самого аспекта, до для снижения трудоемкости достаточно, чтобы аспект встречался при вызове более, чем одного метода, что соответствует определению аспекта, т.е. сквозной функции. Рассмотрим, каким должно быть к,-, если трудоемкость определения точки вставки аспекта больше трудоемкости реализации аспекта:
Разработка архитектуры инструментальных средств. Четыре уровня автоматизации
В основе архитектуры инструментальных средств лежит предложенная модель системы интранет-приложений. Рабочий класс модели, содержащий основные необходимые псевдокомпоненты, будет иметь небольшие отличия от системы к системе, поскольку эти псевдокомпоненты связаны, главным образом, со стандартными возможностями веб-страниц. Поэтому разработку и адаптацию рабочего класса предполагается возложить на высококвалифицированного специалиста или поставщика интранет-системы. Обозначим работу с рабочим классом как нулевой уровень автоматизации. Инструментальные средства предоставляют визуальный интерфейс для работы с аспектным модулем АррWorker {первый уровень) и модулем «сборки» компонентов Pages {второй уровень). Кроме того, предусмотрены средства автоматизации высокого уровня {третий уровень).
Таким образом, инструментальные средства предоставляют четыре уровня автоматизации (см. таблицу 1).
Работа с аспектным модулем ориентирована на достаточно квалифицированного пользователя. Инструментальные средства предоставляют возможности написания исходного кода псевдокомпонентов уровня приложения, аспектной функциональности, а также переопределения системных методов - описания точек вставки аспектов. Инструментальные средства подсказывают пользователю, какие глобальные атрибуты можно использовать, какие уже имеются аспектные методы. Также возможно автоматическое формирование шаблона переопределенного системного метода.
Для пользователя с относительно низкой квалификацией предназначены средства «сборки» страниц из готовых псевдокомпонентов как системного уровня, так и уровня приложения (формирования модуля Pages), а также средства автоматизации более высокого уровня. Согласно таблице 1, единственное обязательное требование к такому пользователю -понимание структуры базы данных.
Процесс разработки разделов интранет-приложения согласно уровням автоматизации и предложенной модели системы интранет-приложений будет выглядеть, как показано на рис. 3.3.
В том случае, когда у нас имеется необходимый и достаточный набор ранее реализованных функциональных возможностей, функции (1) и (2), т.е. разработку псевдокомпонентов, можно исключить из процесса создания приложения. Тогда, как видно из схемы на рис. 3.3, создание приложений возможно с использованием только высших уровней автоматизации: второго и третьего. В этом случае создавать приложения может пользователь относительно невысокого уровня квалификации, без непосредственной работы с исходным кодом.
Архитектура инструментальных средств Действия на первых двух уровнях автоматизации осуществляются квалифицированными специалистами с помощью специализированных средств для этих уровней. Далее специалисты могут передать работы по созданию приложений опытным пользователям. Для этого используются средства второго и третьего уровней автоматизации. Кроме того, если приложение состоит только из системных псевдокомпонентов, и готовый их набор достаточен для его создания, пользователи могут разработать его самостоятельно.
Таким образом, специалистам предоставлены средства автоматизации для создания типовых страниц и псевдокомпонентов, пользователям предоставлена возможность самостоятельно создавать и модифицировать приложения без непосредственной работы с исходным кодом.
Обратим также внимание на процесс сборки раздела из псевдокомпонентов (согласно рис. 3.3).
В модели системы интранет-приложений за ту или иную функциональную возможность или элемент отвечает отдельный метод-псевдкомпонент. Так как некоторые из таких функций и элементов тесно связаны между собой, эффективно было бы предоставить возможность автоматической работы с несколькими логически связанными методами одновременно. В частности, между собой связаны предпроцессинг страницы методы, которые необходимо вызвать для формирования той или иной страницы, и постпроцессинг. Построцессинг возникает в тех случаях, когда веб-страница включает в себя форму, предназначенную для ввода данных пользователем. В этом случае требуется обработка введенных данных.
Кроме того, при создании веб-приложений важно решить проблему работу с HTML-шаблонами и их отдельными элементами. Дополнив набор методов необходимыми для их работы шаблонами, мы обеспечим полностью автоматическое создание кода для реализации той или иной функциональной возможности. В рассматриваемых инструментальных средствах за реализацию функциональных возможностей отвечает подфункция (6) модели на рис. 3.3. - сборка разделов приложения из псевдокомпонентов.
Реализация системы интранет-приложений «NGT Портал» с помощью предложенных подходов и инструментальных средств
NGT Портал основывается на предложенной модели системы интранет-приложений. Ряд разделов разработан с помощью рассматриваемых инструментальных средств. NGT Портал включает средства автоматизации как основных, так и вспомогательных бизнес-процессов. Выделим специфику производственных бизнес-процессов, представленных на рис. 4.1. для ЗАО «УфаНИПИнефть». Для NGT Портала главное значение приобрел процесс управления готовыми проектами, в связи с большим объемом готовой документации, особенно по обустройству и проектированию месторождений.
Помимо всего прочего, по требованиям Заказчика часто приходится извлекать из архива готовые работы и вносить изменения, которые также необходимо регистрировать. Кроме того, в силу того, что разработкой одного проекта может заниматься большое количество человек (до 100) одновременно, большое значение имеют средства совместной работы с документацией. Информационно-методическое обеспечение также потребовало автоматизации. Что касается исходных баз данных, то для них достаточно было обеспечить единую «точку входа», поскольку базы исходных данных были разработаны ранее, в том и числе и на базе веб-интерфейса. На рис. 4.2 во внешнем круге (3) представлены средства, которые были разработаны в рамках NGT Портала для автоматизации вспомогательных бизнес-процессов. Список бизнес-процессов в круге (1) соответствует выделенному нами во введении к данной работе. Некоторые средства представляют собой самостоятельные решения, другие - расширяют функциональноость других систем института (круг (2)), для некоторых приложений Портал обеспечивает точку входа.
Портал включает следующие основные интранет-приложения: - лента новостей на рабочем столе каждого сотрудника; - справочник информации о сотрудниках; - система навигации по зданию; - система заявок сервисным службам предприятия; - система анонимных опросов; - электронный каталог справочно-информационного фонда; - информационно-методические ресурсы; - база данных по регламентам, ГОСТам и стандартам; - электронный архив проектной документации; - система «Совместные работы» - совместная работа пользователей с проектной документацией [53]. Центром Портала является лента новостей и объявлений, которая также содержит ссылки на все остальные приложения. Дополнительно предоставляется информация о доступе к приложениям. Для администраторов разработан центр управления Порталом. Схема структуры NGT Портала представлена на рис. 4.3. Наиболее масштабной является система «Совместные работы», реализующая большое число различных функций. Система позволяет задать жесткую структуру проекта согласно принятым для проектной документации ГОСТам и стандартам, а также обеспечивает автоматическую передачу проектов в электронный архив. Разработка интранет-приложений системы велась поэтапно. Рабочий модуль и аспектные модули системы также поэтапно адаптировались в ходе разработки новых приложений.