Содержание к диссертации
ВВЕДЕНИЕ 9
ГЛАВА 1. АНАЛИЗ СРЕДСТВ ПОДДЕРЖКИ ПОСТРОЕНИЯ АРХИТЕКТУРЫ ПРОГРАММНО-АППАРАТНОГО ОБЕСПЕЧЕНИЯ РАСПРЕДЕЛЕННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ ПРЕДПРИЯТИЯ (РИСП) И ПОСТАНОВКА ЗАДАЧИ ИССЛЕДОВАНИЯ
1.1. Место РИСП в структуре деятельности промышленного предприятия 15
Типы производств и стандарты современных АСУП 16
Производственная и коммерческая необходимость единого информационного пространства корпорации 18
Особенности построения глобальных РИСП в России 20
1.2. Использование промежуточного программного обеспечения и серверов
приложений для построения РИСП 21
Принципы построения глобальной интегрированной РИСП на базе Интернет серверов приложений 21
Задача интеграции разрозненных корпоративных информационных систем ..23
Обоснование использования промежуточного программного обеспечения для интеграции корпоративных информационных систем 25
1.3. Анализ недостатков современных средств информационной поддержки
построения и эксплуатации программно-аппаратного обеспечения глобальной
РИСП 27
1.3.1. Программотехнические комплексы (платформы) поддержки переносимых
корпоративных приложений, многоязыкового программирования и их
приспособляемость к учету гетерогенной вычислительной среды промышленного
предприятия ...27
Стандарт переносимых корпоративных приложений J2EE 27
Стандарт многоязыкового программирования .NET 28
J2EE и .NET в контексте гетерогенной вычислительной среды предприятия 29
1.3.2. Основные недостатки поддержки построения архитектуры программно-
аппаратного обеспечения компонентно-ориентированной РИСП в среде Unified
Process и подхода прямого использования шаблонов проектирования Core J2EE
Patterns 31
1.4. Перспективные подходы поддержки построения компонентно-
ориентированных РИСП и постановка задачи исследования 36
Подход Model Driven Architecture 36
Системы критикующей поддержки разработки программного обеспечения...38
Постановка задачи исследования 42
1.5. Выводы по главе 1 44
ГЛАВА 2. МОДЕЛИ АБСТРАКТНОЙ КОМПОНЕНТНОЙ АРХИТЕКТУРЫ И КРИТИКУЮЩЕЙ ПОДДЕРЖКИ ПОСТРОЕНИЯ АРХИТЕКТУРЫ ПАО РИСП
2.1. Модель Абстрактной Компонентной Архитектуры (АКА) программно-
аппаратного обеспечения РИСП (ПАО РИСП) 47
Определения 47
Пример модели АКА ПАО РИСП: обобщенная система Интернет-торговли (ОСИТ) 48
Свойства модели АКА ПАО РИСП 49
2.2. Модели критикующей поддержки построения архитектуры ПАО РИСП .51
Статическая формальная модель критика 51
Автоматная формальная модель критика 52
Модели уровня реализации критикующей системы 54
Пример: критик выбора Java сервера приложений в терминах статической модели , , , 55
Пример: критик выбора Java сервера приложений в терминах алгебры процессов , 57
2.3. Выводы по главе 2 59
ГЛАВА 3. МЕТОД ПОСТРОЕНИЯ АРХИТЕКТУРЫ ПАО РИСП НА ОСНОВЕ ПЛАТФОРМЫ J2EE (МЕТОД АКА)
3.1. Построение Абстрактной Компонентной Архитектуры ПАО РИСП 60
3.1.1. Логические Компоненты , 60
Выявление абстрактных бизнес компонентов-функций (АБКФ) 60
Выявление абстрактных бизнес компонентов-сущностей (АБКС) и соответствующих
связей 61
Выявление абстрактных компонентов внешнего взаимодействия (АКВВ) 62
Выявление абстрактных презентационных компонентов (АПК) ,62
ЛЕЕТипы Клиентских Приложений 63
Серверные Контейнеры 63
Нужен ли Web контейнер для проектируемой РИСП? , 63
Нужен ли EJB контейнер для проектируемой РИСП? 64
ЗЛ.4. Серверные Операционные Системы 65
3.1.5. Серверные Аппаратные Средства 65
3.2. Конкретизация Абстрактной Компонентной Архитектуры ПАО РИСП 65
3.2.1. Логические Компоненты 65
Конкретизация абстрактных презентационных компонентов (АПК) 66
Конкретизация абстрактных бизнес компонентов-функций (АБКФ) 66
Конкретизация оперативных абстр. бизнес компонентов-сущностей (АБКСО) 67
Конкретизация перманентных абстр. бизнес компонентов-сущностей (АБКСП) 67
Конкретизация абстрактных компонентов внешнего взаимодействия (АКВВ) 68
3.2.2. Серверные Контейнеры 72
Выбор категории Серверного Контейнера 72
Выбор конкретной реализации Серверного Контейнера по осн. характеристикам 73
3.2.3. Серверные Операционные Системы , 76
Краткая классификация ряда современных ОС 77
Системы критикующей поддержки и формализация ОС 80
3.2.4. Серверные Аппаратные Средства , 81
Краткая классификация ряда современных АС 81
Системы критикующей поддержки и формализация АС 82
Сравнение метода АКА и подхода прямого использования Core J2EE Patterns 83
Интеграция метода АКА в Unified Process 84
Интеграции метода АКА в критикующую подсистему среды проектирования 84
Выводы по главе 3 85
ГЛАВА 4. ПРАКТИЧЕСКОЕ ИСПОЛЬЗОВАНИЕ МЕТОДА АКА
4.1. Поддержка метода АКА в адаптированной среде проектирования ArgoUML ..87
4.1.1. Архитектура среды проектирования ArgoUML 88
Графический интерфейс ArgoUML 88
Модель (Model) 90
Критикующая подсистема (Critics) 90
4.1.2. Расширения поддержки метода АКА в ArgoUML 91
Стереотипы поддержки метода АКА в среде языка UML 91
Репозиторий конкретных ОС и АС 93
Расширения Критикующей Подсистемы , 96
4.2. Обобщенная система Интернет-торговли (ОСИТ) , 99
4.2.1. Требования к ОСИТ 101
Подготовка Заказа 101
Изменение Заказа , 102
Оценка Заказа 103
Оплата Заказа 104
4.2.2. Построение архитектуры ОСИТ с использованием метода АКА 105
Выявление абстрактных бизнес компонентов-функций (АБКФ) 105
Выявление абстрактных бизнес компонентов-сущностей (АБКС) и соответствующих
связей 105
Выявление абстрактных компонентов внешнего взаимодействия (АКВВ) 108
Выявление абстрактных презентационных компонентов (АПК) 109
Выявление J2EE Типов Клиентских Приложений 110
Выявление абстрактных Серверных Контейнеров , ПО
Выявление абстрактных Серверных Операционных Систем 111
Выявление абстрактных Аппаратных Средств 111
Конкретизация абстрактных презентационных компонентов (АПК) 111
Конкретизация абстрактных бизнес компонентов-функций (АБКФ) 112
Конкретизация оперативных абстр. бизнес компонентов-сущностей (АБКСО) 113
Конкретизация перманентных абстр. бизнес компонентов-сущностей (АБКСП) 113
Конкретизация абстрактных компонентов внешнего взаимодействия (АКВВ) 113
Конкретизация абстрактных Серверных Контейнеров 114
Конкретизация абстрактных Серверных Операционных Систем 115
Конкретизация абстрактных Аппаратных Средств 115
4.3. Пример использования метода АКА для построения компонентной
архитектуры программного обеспечения интегрирующей подсистемы на
промышленном предприятии,„ 116
4.3.1. Требования на взаимодействие 116
4.3.2, Построение архитектуры ПАО РИСП с использованием метода АКА 117
Выявление абстрактных компонентов внешнего взаимодействия (АКВВ) 117
Выявление абстрактных Серверных Контейнеров 118
Конкретизация абстрактных компонентов внешнего взаимодействия (АКВВ) 119
Конкретизация абстрактных Серверных Контейнеров 119
4.4. Выводы по главе 4 ,...,.„.„„.120
ЗАКЛЮЧЕНИЕ 122
СПИСОК ЛИТЕРАТУРЫ 124
ПРИЛОЖЕНИЕ 1. XML ОПИСАНИЕ РЯДА СОВРЕМЕННЫХ ОС 132
ПРИЛОЖЕНИЕ 2. XML ОПИСАНИЕ РЯДА СОВРЕМЕННЫХ АС 155
ПРИЛОЖЕНИЕ 3. ПОЛНОЕ ОПИСАНИЕ ШАБЛОНА ПРОЕКТИРОВАНИЯ
BUSINESS DELEGATE 171
Ситуация 171
Задача 171
Требования , , 171
Решение 172
Структура 174
Участники и обязательства 174
Стратегии 177
Результаты 178
Пример кода 180
Родственные шаблоны проектирования 185
ПРИЛОЖЕНИЕ 4. ОПИСАНИЯ РЕШЕНИЙ БАЗОВЫХ ШАБЛОНОВ
ПРОЕКТИРОВАНИЯ J2EE 187
Business Delegate 187
Composite Entity 187
Composite View , 187
Data Access Object 187
Dispatcher View 187
Front Controller 188
Intercepting Filter 188
Service Activator 188
Service Locator 188
Service to Worker 189
Session Fa?ade 189
Transfer Object 189
Transfer Object Assembler 189
Value List Handler 189
View Helper 190
ОСНОВНЫЕ СОКРАЩЕНИЯ
J2EE ПСП Java ПСП
Метод АКА
АСУП
осит
ПАО ПАО РИСП
Промежуточное
ПО
Java(tm) 2 Platform, Enterprise Edition
программный сервер приложений
в этой работе, ПСП частично или полностью поддерживающий спецификацию J2EE версии 1.3 и выше.
-Java runtime environment. Среда выполнения стандартных Java приложений.
Model Driven Architecture
абстрактная компонентная архитектура
метод построения и конкретизации АКА
аппаратные средства(во); аппаратный сервер
автоматизированная система управления предприятием -графический интерфейс пользователя
информационная система
операционная система
обобщенная система Интернет-торговли
программно-аппаратное обеспечение
-ПАО распределенной информационной системы предприятия. Под таким обеспечением будем понимать набор технически связанных программных приложений и аппаратных средств, которые обеспечивают обработку информации в масштабах предприятия.
- программное обеспечение
-связующее ПО, обеспечивающее взаимную работу приложений в распределенной неоднородной сетевой среде
Введение к работе
Актуальность темы. В настоящее время, в связи с глобализацией бизнеса предприятий, необходимостью интеграции территориально распределенных производств, задача интеграции корпоративных информационных систем (КИС) становиться все более актуальной. При этом один из наиболее зарекомендовавших себя подходов состоит в установлении централизованного управления над элементами информационной инфраструктуры предприятия. Стандартом де-факто для решения этой задачи во многих областях применения является использование специализированного промежуточного программного обеспечения (middleware), особенно разработанных третьими фирмами компонентно-ориентированных программных серверов приложений.
Распределенные гетерогенные вычислительные среды предприятий часто
характеризуются наличием аппаратных средств различной процессорной архитектуры
и разнотипных операционных систем. Несмотря на это, существующие среды
поддержки построения информационных систем имеют ограниченную поддержку
архитектурного проектирования программно-аппаратного обеспечения
распределенной информационной системы предприятия (ПАО РИСП), например процесса выбора и компоновки целевых аппаратных средств, операционных систем и серверов приложений. В то же время, разработка архитектуры ПАО РИСП является одним из ключевых этапов построения последних. Допущенные в выборе архитектуры системы ошибки трудноисправимы и сопряжены со следующими наиболее значимыми негативными последствиями: (1) низкие надежность и удобство сопровождения системы; (2) поддержка РИСП в режиме эксплуатации требует значительных дополнительных финансовых вложений.
Поэтому актуальным является разработка и внедрение моделей, методов и программных средств, которые упрощают и формализуют переход от требований к РИСП к спецификациям архитектур их ПАО, а также автоматизируют выбор технологий реализации таких спецификаций.
Возникает проблема: как на основе неформализованных требований для РИСП, описанных на некотором вербальном языке, учитывая разрозненные данные о множестве возможных разнотипных технологиях реализации ее ПАО, эффективно
синтезировать корректную спецификацию последнего. При этом предлагаемый способ поддержки построения такой спецификации должен опираться на существующие стандарты и интегрироваться с существующими средствами поддержки проектирования ПАО РИСП.
К сожалению, на сегодняшний день такой способ отсутствует.
Таким образом, существует противоречие между необходимостью поддержки процесса принятия решений по созданию архитектуры (в частности - возможности эффективного выбора технологий реализации) компонентно-ориентированного ПАО РИСП и отсутствием моделей, методов и программных средств поддержки, позволяющих обеспечить решение этой задачи с учетом нужд и возможностей проектировщика. Наличие этого противоречия определяет существование актуальной научно-технической задачи - необходимости разработки моделей, методов и программных средств, реализующих автоматизированную поддержку построения архитектуры ПАО РИСП.
Цель и задачи исследования. Целью работы является разработка моделей, метода и прототипов программных средств, которые будут использоваться на этапе архитектурного проектирования, обеспечивая автоматизированное построение корректных формальных UML спецификаций архитектуры программно-аппаратного обеспечения распределенной информационной системы предприятия (ПАО РИСП).
В соответствии с поставленной целью, в работе формулируются и решаются следующие основные задачи:
Анализ известных методов автоматизированного проектирования ПАО РИСП.
Построение модели абстрактной компонентной архитектуры ПАО РИСП.
Построение математических моделей подсистемы критикующей поддержки процесса проектирования ПАО РИСП.
Разработка метода построения и конкретизации абстрактной компонентной архитектуры ПАО РИСП, который повышает эффективность перехода от требований к спецификациям ПАО РИСП (метод АКА).
Прототипирование метода АКА.
Предмет и методы исследования. Предметом исследования являются модели и методы архитектурного проектирования ПАО РИСП. При решении поставленных задач использовались подходы и методы теории множеств, теории автоматов,
лингвистического анализа, алгебры процессов, математической логики, структур данных и системного программирования.
Научная новизна работы заключается в следующем:
Построена формальная модель абстрактной компонентной архитектуры ПАО РИСП, которая отличается минимально-полным составом набора элементов ее ПАО, реализуемого средствами J2EE, что позволяет проектировать РИСП без привязки к конкретным программно-аппаратным средствам реализации.
Разработаны математические модели критикующей поддержки построения архитектуры информационных систем, отличающиеся учетом особенностей функционирования РИСП на основе J2EE, что позволяет сформировать множество вариантов улучшений архитектуры проектируемой РИСП.
Разработан метод построения архитектуры ПАО РИСП на основе J2EE (метод АКА), отличающийся применением модели АКА для связи требований к РИСП с вариантом ее программно-аппаратной реализации, что позволяет сократить время проектирования архитектуры РИСП.
Предложены стереотипы языка UML, которые отличаются использованием понятия модели АКА, что позволяет применять оригинальные модели и метод в стандартных средах проектирования РИСП.
Практическая значимость работы заключается в разработке моделей, метода и прототипов программных средств, применение которых, на этапе архитектурного проектирования ПАО РИСП, приводит к повышению эффективности синтеза его спецификаций, соответствующих требованиям к работе РИСП.
Разработанные модели подсистемы критикующей поддержки процесса проектирования ПАО РИСП и их прототипная реализация могут быть использованы для повышения эффективности при проектировании ПАО РИСП как в формальных средах, например с использованием автоматных моделей, так и в прикладных средствах поддержки, например в программном продукте со свободно-распространяемым исходным кодом ArgoUML.
Предложенные XML схемы формального описания серверных операционных систем и аппаратных средств, а также широкий набор примеров формального описания таких элементов могут быть использованы и в других программных системах, например при обмене информацией по схеме «предприятие-предприятие»
между производителями аппаратных средств и операционных систем, при создании торговых площадок соответствующей направленности в сети Интернет, а также в области системной интеграции и в целях стандартизации описаний конфигураций для соответствующих бенчмарков.
Достоверность результатов исследования обеспечена корректным комплексированием известных подходов к построению архитектурных решений информационных систем, использованием апробированных математических аппаратов, а также подтверждается достаточной апробацией и публикацией полученных результатов и положительным внедрением результатов работы.
Внедрение результатов работы заключается в использовании разработанных метода построения и конкретизации абстрактных компонентных архитектур (метода АКА), а также модели репозитория конкретных операционных систем и аппаратных средств и критикующей подсистемы проектирования при адаптации свободно-распространяемой среды проектирования ArgoUML для обеспечения поддержки построения архитектур ПАО компонентно-ориентированных РИСП.
Материалы диссертации использовались в ходе разработки корпоративного Интернет-сайта АОЗТ «ОТИДО», а также используются в Центре Высоких Технологий Sun Microsystems (ООО «Сан Майкросистемс СПБ») при создании программных средств поддержки проектирования ПАО РИСП, что подтверждено соответствующими актами о внедрении.
Научные положения, выносимые на защиту:
Формальная модель абстрактной компонентной архитектуры программно-аппаратного обеспечения распределенной информационной системы предприятия (ПАО РИСП).
Математические модели критикующей поддержки построения архитектуры ПАО РИСП.
Метод построения архитектуры ПАО РИСП на основе J2EE (метод АКА).
Стереотипы поддержки метода АКА в среде языка UML.
Апробация результатов исследования. Основные положения и результаты работы докладывались и обсуждались на I Международной Научно-технической Конференции ИЛИ (CALS)-2003 «Информационные технологии в управлении жизненным циклом изделий» (Санкт-Петербург, ноябрь 2003), очередном семинаре
на базе государственного научного центра России ЦНИИ робототехники и технической кибернетики посвященном вопросам интеграции информационных систем (Санкт-Петербург, декабрь 2004), очередной конференции «Java Days в Санкт-Петербурге» проведенной совместно Санкт-Петербургском Государственным Университетом и Центром Высоких Технологий Sun Microsystems (ООО «Сан Майкросистемс СПБ») (Санкт-Петербург, ноябрь 2005). Доклад по теме «Automated Development of Distributed IT Systems Architectures» принят на X Международный Симпозиум IEEE «International Symposium on Consumer Electronics» (Санкт-Петербург, 2006).
Публикации. По теме диссертации опубликованы 3 научные статьи.
Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы, включающего ИЗ наименований, и 4-х приложений. Основная часть работы изложена на 92 страницах машинописного текста. Работа содержит 28 рисунков и 6 таблиц.
В первой главе на основании отечественных и зарубежных литературных материалов проводится анализ контекста применения и принципов построения распределенной информационной системы предприятия (РИСП), а также раскрываются особенности основных стандартов в области разработки программно-аппаратного обеспечения РИСП (ПАО РИСП), а именно J2EE [1], .NET [2], UML [3], RUP [4] и MDA [5]. Выполняется краткий анализ известных механизмов поддержки проектирования ПАО РИСП. Отмечаются недостатки, снижающие эффективность проектирования.
Во второй главе рассматриваются разработанные автором модель абстрактной компонентной архитектуры ПАО РИСП на базе платформы J2EE, а также статическая, автоматная и процессная модели критикующей поддержки процесса проектирования. Выполняется анализ свойств указанных моделей. Приводится сравнение модели абстрактной компонентной архитектуры с известными разработками в области абстрактного проектирования.
В третьей главе рассматривается разработанный автором метод построения и конкретизации абстрактных архитектур ПАО РИСП (метод АКА), основанный на использовании оригинальных моделей описанных во второй главе. Формулируются условия необходимые для повышения эффективности проектирования при переходе к
использованию разработанных автором моделям и методу. Приводятся примеры формализованных описаний программных и аппаратных средств, обеспечивающих совместимость последних с методом АКА. Приводится сравнение известных и оригинальных способов построения компонентных архитектур ПАО РИСП на базе платформы J2EE. Иллюстрируется интеграция оригинального метода в некоторые известные подходы построения информационных систем. Приводятся выявленные недостатки оригинальных разработок.
Четвертая глава посвящена рассмотрению примеров практического использования предлагаемых в диссертационной работе решений. В качестве примера использования предлагаемого метода приводятся: прототипная адаптация свободно-распространяемой среды проектирования общего назначения ArgoUML поддерживающая предлагаемые модели и метод; описание основанного на оригинальном методе процесса построения архитектуры обобщенной системы Интернет-торговли (ОСИТ); описание примера использования метода АКА для построения компонентной архитектуры программного обеспечения интегрирующей подсистемы на промышленном предприятии.
В заключении делаются краткие выводы, в которых суммируются основные результаты диссертационной работы.