Уровни абстракции (перспективы) в описании архитектуры предприятия



Лекция 4. Интегрированная концепция архитектуры предприятия

Архитектура предприятия является динамичным и мощным инструментом, который помогает организациям в процессе понимания своей собственной структуры и способов выполнения своей работы и функций. Она обеспечивает "карту" предприятия и "план маршрута" по изменению как в бизнес-областях, так и в области технологий.

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

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

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

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

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

2. системные архитекторы, которые отвечают за создание архитектуры отдельных информационных систем;

3. бизнес-аналитики, которые ведут процесс проектирования организационных структур и бизнес-процессов;

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

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

1. использование для анализа множества точек зрения на объект изучения (предприятие и его информационные системы) для того, чтобы "разделять и властвовать" в процессе борьбы с объективной сложностью реального мира. Важно понимать, что ни одна отдельно взятая точка зрения не является достаточной для понимания всего целого;

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

Приведем еще одно определение архитектуры предприятия, которое дано на сайте www.geao.org "Всемирной Организации Корпоративной Архитектуры" (GEAO – Global Enterprise Architecture Organization):

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

Движущей силой архитектуры предприятия является целостное видение, пронизывающее внутриорганизационные границы. Представленная на рис. 4.1 схема, предложенная GEAO, иллюстрирует различные уровни абстракции, связанные с описанием предприятия. Отметим, что в рамках одной организации имеется только одна архитектура предприятия, но при этом на уровне отдельных систем может существовать большое количество архитектур уровня решений (solution architecture). Архитектура предприятия покрывает как аспекты, связанные с бизнесом, так и аспекты, связанные с ИТ, а также процессы развития, эволюции архитектуры и структуры управления и контроля за этими процессами (governance), которые обеспечивают переход от текущего состояния архитектуры в будущее желаемое состояние.


Рис. 4.1. Контекст и уровни абстракции архитектуры

Этот рисунок показывает, какие концепции могут соответствовать различным компонентам этого общего представления.


Рис. 4.2. Концепции, соответствующие различным элементам и уровням абстракции архитектуры

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

При описании архитектуры предприятия чрезвычайно важную роль имеют два следующих понятия:

1. перспектива (perspective) или уровень абстракции;

2. представление (view) или предметная область, домен архитектуры.

Большинство методик разделяет проблему описания архитектуры предприятия на некоторое количество представлений или предметных областей (доменов), таких как:

1. бизнес-архитектура – люди и процессы;

2. архитектура информации – данные, информация и знания;

3. архитектура прикладных систем;

4. технологическая архитектура.

Для отдельного представления архитектуры можно также использовать термин частная архитектура.

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

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

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

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

1. уровень контекста – ориентирован на бизнес-руководство;

2. концептуальный уровень или "Видение Общих Требований" – ориентирован на "владельцев" бизнес-процессов;

3. логический уровень – ориентирован на архитекторов и проектировщиков систем;

4. физический уровень – ориентирован на проектировщиков и разработчиков систем.

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


Рис. 4.3. Представления (домены) и перспективы (уровни абстракции) описания Архитектуры

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

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

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


Рис. 4.4. Интегрированная концепция архитектуры предприятия

Несмотря на то, что имеется несколько предметных областей или представлений, все они описывают одно и то же – единую архитектуру предприятия. Ценность архитектуры предприятия состоит не в отдельных представлениях (предметных областях), а в связях, взаимодействии и зависимостях между ними.

Итак, большинство методик описания архитектуры основаны на концепции, которую Стивен Спивак назвал "структурное мышление" (Framework Thinking). Структурное мышление является интересным принципом. Он требует от вас сознательного абстрагирования и упрощения проблемы в целях выполнения анализа. Наверное, каждый из нас в жизни сталкивался с объективно сложными ситуациями, когда сама эта сложность уменьшала наши возможности находить решения. Однако процесс "структурного мышления", с его разбиением целого на части и сознательным упрощением, позволял легче понимать, моделировать и решать, в конечном итоге, проблему.

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

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

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

В частности, одним из направлений критики архитектурных подходов является то, что процесс разработки архитектуры слишком длительный и дорогой для того, чтобы применяться на практике. На самом деле, это является отражением стремления сделать архитектуру "идеально завершенной". Это чрезмерное стремление к завершенности и совершенству действительно может быть причиной "паралича анализа".

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

Уровни абстракции (перспективы) в описании архитектуры предприятия

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

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

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

Контекст является важным для понимания тех или иных, в том числе технологических, решений и компромиссов.

Ниже приведены примеры вопросов, на которые должен давать ответ уровень контекста:

1. Каких целей хочет добиться организация?

2. Почему организация занимается таким бизнесом: видение, миссия и цели?

3. Каковы тенденции в индустрии, в которой работает организация?

4. Как организация расположена и где она работает географически?

5. Каковы факторы, определяющие достижение высоких результатов в бизнесе (value drivers)?

6. Каковы на самом высоком уровне классы информации, которыми оперирует организация?

7. Каковы функции этого бизнеса?

8. В каких областях сосредоточена ключевая компетенция организации?

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

Концептуальный уровень является наиболее абстрактным и описывает те или иные элементы архитектуры в терминах бизнеса организации и в терминах конечных (непрофессиональных в смысле ИТ) пользователей системы. Эта перспектива отвечает на вопрос о том, как организовано и работает предприятие с целью успешной реализации своих задач в условиях, которые накладывает на организацию внешняя среда (контекст).

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

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

1. Какие области бизнеса должны быть поддержаны информационными технологиями?

2. Какая общая бизнес-архитектура (например, "фронт-офис", "мид-офис", "бэк-офис") будет использоваться?

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

4. Как выглядят бизнес-процессы, которые обеспечивают создание продуктов и оказание услуг?

5. Какая информация требуется для каждого бизнес-процесса и как эта информация может повторно использоваться?

6. Организован ли бизнес организации в централизованном или децентрализованном виде?

7. Какой уровень делегирования полномочий должны обеспечивать системы?

8. Какие существуют общие принципы по использованию технологий, характерные для индустрии, в которой работает организация, и типы оказываемых услуг?

9. Какие вопросы по надзору и руководству использованием технологий должны быть рассмотрены на данном этапе?

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

В качестве методов, которые используются для построения бизнес-моделей на этапе концептуального проектирования, могут быть, например, такие инструменты языка UML как Варианты Использования (Use Cases), диаграммы деятельности и другие методы проектирования процессов.

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

На этом уровне даются ответы на следующие вопросы:

1. Какие приложения необходимы для поддержки бизнес-процессов?

2. Кто является основными пользователями и заинтересованными сторонами в реализации данных прикладных систем?

3. Как выглядят нормализованные модели данных для этих приложений?

4. Какие прикладные системы нужны для управления данными: создания, чтения, внесения изменений и удаления данных?

5. Какие нужны технологии для реализации этих прикладных систем?

6. Как будет выглядеть распределенная архитектура прикладных систем?

7. Какие стандарты должны быть приняты организацией?

Логический уровень описывает решение в виде набора сервисов или компонент в независимой от технологической реализации форме. Это включает четкое определение интерфейсов (или так называемых контрактов), связанных с интеграцией и совместной работой этих сервисов и компонент. Поскольку этот уровень описания архитектуры не зависит от конкретных продуктов реализации, он остается относительно стабильным. Он может меняться, чтобы отражать инициированные "сверху-вниз" изменения, включая новые фундаментальные бизнес-модели (например, переориентация на модель обслуживания, основанную на потребностях клиента), а также отражать изменения, инициированные в направлении "снизу-вверх", такие как возможности, открывающиеся в связи с использованием новых технологий (например, применение CRM-системы для управления отношениями с клиентами). Изменения могут быть связаны с новыми технологическими парадигмами и концепциями, такими, например, как сервис-ориентированная архитектура или Grid-вычисления. При подобном подходе влияние изменений на уровне бизнеса или технологий могут быть оценены в явной и последовательной манере.

Ключевыми вопросами, которые должны быть решены на данном уровне абстракции, являются следующие:

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

2. Как логические компоненты будут распределены между различными системами (будут ли эти компоненты реализованы в виде web-сервисов)?

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

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

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

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

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

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

Примеры вопросов, на которые отвечают на данном уровне абстракции, следующие:

1. Каковы функциональные спецификации каждой прикладной системы?

2. Будет ли организация разрабатывать специализированные приложения или покупать стандартные?

3. Каковы критерии выбора и как будут оцениваться различные инициативы по реализации систем?

4. Как данные будут представлены на физическом уровне?

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

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

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

На уровнях физической архитектуры и уровне реализации для ускорения цикла разработки, повышения качества разрабатываемых систем (за счет использования проверенных решений) и уменьшения рисков проекта могут использоваться такие концепции и архитектурные модели, как, например, Microsoft Systems Architecture (MSA).

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

Таблица 4.1. Пример рассмотрения системы на различных уровнях абстракции

Перспектива (уровень абстракции) Уровень детализации
Контекст
  • Компания представляется в виде "черного ящика" и является центральным "действующим лицом" (фактором).
  • Бизнес моделируется с точки зрения внешних для бизнеса факторов.
  • Моделируются только бизнес-взаимодействия, средства игнорируются.
Концептуальный
  • Моделируются потоки работ бизнес-процессов, идентифицированных на концептуальном уровне.
  • Система, реализующая процессы, является центральным актором в форме "черного ящика".
  • Бизнес-процессы моделируются с точки зрения внешних для системы акторов. Рассматриваются средства коммуникаций, используемые для выполнения транзакций.
Логический
  • Моделируется внутренняя архитектура системы.
  • Основные компоненты системы являются основными факторами.
  • Поведение системы моделируется с точки зрения внутренних для системы "черных ящиков".
Физический
  • Моделируется физическая структура реализации системы.

 


Дата добавления: 2019-02-12; просмотров: 2881; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!