Диссертация (1145120), страница 11
Текст из файла (страница 11)
Обе эти библиотеки часто используются совместно, как например, в GMF.БиблиотекаEMF(EclipseModelingFramework)[87]являетсяинструментом для разработки метамоделей и автоматической генерации пометамодели репозитория, а также простейших пользовательских средствработы с ним. Метамодели в EMF задаются с помощью языка Ecore. EMFпозволяет задавать Ecore-метамодель множеством различных способов,включая XMI-описание, XML-схему, аннотированный Java-код, схему базыданных, UML-модели и т. д. Ключевой компонентой библиотеки EMFявляется EMF Core, состоящая из проектов EMF, EMF.Edit и EMF.Codegen.Проект EMF содержит описание Ecore-метамодели, среду для работы ссозданной метамоделью, включая поддержку уведомлений об измененияхметамодели, а также программный интерфейс для работы с сущностями,56описанными в метамодели.
Проект EMF.Edit предоставляет набор базовыхклассов для реализации возможностей редакторов метамоделей. Кроме того,он обеспечивает автоматическую поддержку команд Undo/Redo. ПроектEMF.Codegenпредоставляетфункционал(включаяпользовательскийинтерфейс) для генерации кода по Ecore-метамодели, а также поддерживаетперегенерацию кода с сохранением пользовательских модификаций.Теперь кратко рассмотрим графическую библиотеку GEF [87]. Библиотекапредназначается для создания графических редакторов произвольного назначения. GEF основывается на шаблоне «модель-представление-контроллер»(MVC).
При этом модель создаётся вне GEF самим разработчиком редактора,например, с помощью EMF. В качестве контроллера выступают объекты, реализующие отображение элементов модели (EditPart и его наследники). В качестве представления используются объекты, реализующие интерфейс IView.Библиотека состоит из двух проектов. Первый проект (org.eclipse.draw2d)поддерживает расположение графических элементов и их изображение вокне редактора (то есть на экране), а также реализацию фигур, границ, соединений элементов, указателей и всплывающих подсказок, слоёв (в томчисле прозрачных), гибкой системы координат; он также реализует окно обзора диаграммы и печать.
Второй проект (org.eclipse.gef) предоставляет поддержку следующего функционала: создание, выбор, соединение графическихэлементов на диаграмме; панель инструментов; изменение размеров элементов и реализация изгибов соединений; графическое и древовидное представление модели; контроллеры для отображения и изменения модели черезпредставление; операции Undo/Redo через стек команд.Microsoft Modeling SDK — технология, предназначенная для быстрой разработки собственных языков визуального моделирования и быстрого создания графических редакторов с рядом дополнительных возможностей [213].Технология известна также под названием Microsoft DSL Tools и развивается с начала 2000-х годов. Предполагалось, что она заменит Microsoft Visio57как средство создания графических средств разработки ПО.
Технология тесно интегрирована со средой разработки Microsoft Visual Studio, является подключаемым модулем и может быть свободно скачана с сайта компанииMicrosoft. Предоставляет возможность в графическом виде задать метамодель создаваемого предметно-ориентированного языка, описать внешний видэлементов нотации, задать правила генерации и ограничения на метамодель,генерировать подключаемый модуль с редактором языка и генератором, с которым можно работать в среде Visual Studio. Технология требует наличияVisual Studio как для создания, так и для использования предметноориентированных решений.
Зрелость технологии и хорошая интеграция сVisual Studio делают её привлекательной для промышленных разработок. Абстрактный синтаксис задаётся с помощью языка, близкого к диаграммамклассов UML. Этот язык поддерживает доменные классы, наследование, ассоциации и агрегирование.Абстрактный синтаксис задаётся с помощью языка, близкого к диаграммам классов UML. Этот язык поддерживает доменные классы, наследованиемежду этими классами, а также ассоциации и агрегирование. Метамодельсоздаваемого предметно-ориентированного языка должна начинаться с корневого класса, все остальные доменные классы располагаются в древообразной иерархии, соединяясь с предыдущим уровнем с помощью агрегированияили наследования. При этом, если граф метамодели не допускает представления в виде дерева (как, например, при наличии циклических отношений),одну сущность нужно разместить на диаграмме метамодели несколько раз.Конкретный синтаксис описывается на той же диаграмме, что и абстрактный,что позволяет простым способом реализовать связь абстрактного и конкретногосинтаксиса.
Присозданииконкретногосинтаксисапредметно-ориентированного языка доступны различные фигуры — простая фигура(прямоугольник, эллипс, окружность, прямоугольник со скруглёнными углами), сложная фигура (почти во всем аналогична простой фигуре, но позволя58ет схлопывать/распахивать отдельные секции), произвольная картинка(например, в JPG/BMP-форматах), cоединитель (для задания связей междуэлементами нотации). Более подробно с данной DSM-платформой можноознакомиться в [49], [213].591.3 Разработка корпоративных ИТ-архитектур1.3.1 Архитектура предприятияБизнес-инжиниринг затрагивается в диссертационной работе по двум причинам. Во-первых, эта область интенсивно развивается, активно используяпредметно-ориентированное моделирование.
Таким образом, после программной инженерии бизнес-инжиниринг является одной из главных областей применения DSM. Во-вторых, в данной работе рассматривается подобласть бизнес-инжиниринга — разработка корпоративных ИТ-архитектур. Последняя находится на стыке бизнес-инжиниринга и программной инженерии, о чём будет рассказано ниже.В настоящее время бизнес-компании вынуждены непрерывно развиватьсяи трансформироваться, чтобы реагировать на изменения рынка, среды, технологий или же для того, чтобы инициировать эти изменения.
Для проведения целенаправленных, управляемых и успешных трансформаций компаниипринято выделять так называемую архитектуру предприятия (EnterpriseArchitecture, EA), которая отражает организацию (устройство) предприятия ипредназначена для его анализа, проектирования изменений и преобразований[26], [29], [367]. Принято разделять бизнес-архитектуру и ИТ-архитектурупредприятия.Согласно [106], бизнес-архитектура компании — часть архитектуры предприятия, охватывающая организационную структуру предприятия, его деятельность, бизнес-модель, а также систему целей и показателей. Соответственно, разработка бизнес-архитектуры подразумевает создание модели«как есть» («as is») для проведения диагностики проблем, а также модели«как надо» («to be»), включающей решения по оптимизации критически важных функциональных систем и сквозных процессов, а также оптимизациюорганизационной структуры и рекомендации по созданию и поддержке нормативной документации компании [421].
Многие подходы к разработке архи60тектуры предприятия, например, TOGAF [421], рассматривают бизнесархитектуру укрупнённо, как источник формирования требований к преобразованию ИТ-архитектуры компании20.Корпоративная ИТ-архитектура — это концепции, принципы и стандарты,которыми организации руководствуются при разработке и внедрении ИТтехнологий [26]. Затраты компании на создание такой архитектуры — этоинвестиции, нацеленные на стандартизацию используемых процессов, интерфейсов и технологий для увеличения возможностей компании и уменьшения стоимости разработки и сопровождения информационных систем. ИТархитектуру принято делить на следующие основные части [106]. Архитектура информации (данных) — определяет структуру данныхкомпании, необходимых как для выполнения бизнес-процессов, так идля обеспечения использования в прикладных системах. Архитектура приложений — определяет, какие приложения используются и должны использоваться для поддержки бизнес-функций компании. Технологическая архитектура определяет принципы и стандарты (индустриальные, продуктовые, конфигурационные), которые обеспечивают компанию необходимой информацией для принятия решений привыборе и использовании аппаратных платформ, операционных систем,систем управления базами данных, средств разработки и языков программирования, сервисов электронной почты, протоколов и систембезопасности, сетевой инфраструктуры и пр.В области бизнес-инжиниринга применяются многочисленные языки моделирования, как созданные непосредственно для моделирования корпоративной архитектуры, так и взятые из смежных областей: это стандарты моде20Автору такой подход кажется реалистичным, и его собственный опыт участия в проектах по разработке архитектуры предприятия согласуется с этой точкой зрения.
Однакоимеются и иные подходы, считающие важной бизнес-архитектуру саму по себе — см.,например, [124].61лирования бизнес-процессов [11], язык моделирования архитектуры предприятия Archimate [12], карты стратегий [13], шаблон бизнес-модели Остервальдера [14], и-карты (mind maps) [281], концептуальные карты (conceptmaps) [15], стандарты IDEF [281], BPMN [192], UML и многое другое. В работе [17] предпринята попытка создать классификацию визуальных языковмоделирования, и в связи с этим было найдено и рассмотрено около пятидесяти различных типов нотаций. В монографии [18] проведён обзор средстввизуализации знаний и идентифицировано большое количество существующих нотаций и подходов.
Трудности со стандартизацией в бизнесинжиниринге происходят из-за большого разнообразия прикладных областей, где используются методы управления архитектурами предприятий: мировой бизнес очень вариативен, существует большое количество точек зрения и подходов к ведению бизнеса, а также различаются задачи, решаемые спомощью моделирования архитектуры предприятия.Необходимо отметить, что на практике — как в России, так и за рубежом— архитектуру предприятия рассматривают преимущественно как ИТархитектуру.
И, в частности, в известном стандарте TOGAF [421] считается,что бизнес-архитектура — это предварительный шаг к разработке ИТархитектуры. Однако важность комплексного понимания архитектуры предприятия, включающего в себя как бизнес-архитектуру, так и ИТ-архитектуру,начинает осознаваться научным сообществом. Так, в России эта тематика активно продвигается авторами книги [124], а также членами исследовательской группы «Межвузовский академический центр компетенций по архитектуре предприятия «EA Lab»» [123].