ИТ-архитектура предприятия

Элементы Архитектуры предприятия. Бизнес-архитектура и архитектура информации

Разбить на страницы
Показывать лекцию целиком

Элементы архитектуры предприятия

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

М. Е. Салтыков-Щедрин. "История одного города"

Домены (предметные области) архитектуры

Обычно в составе архитектуры выделяют от четырех до семи основных представлений (предметных областей или доменов) [4.1], [4.2], [4.3], [4.4]. Эти области последовательно покрывают архитектурные аспекты, отталкиваясь от потребностей функционирования организации (бизнеса) и обеспечивая весь набор технологий для реализации конкретного решения бизнес-проблемы. Ниже перечислены представления (домены) архитектуры:

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

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

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

    (рис 5.1) Области, входящие в понятие Архитектуры предприятия

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

    Принципы, модели и стандарты в рамках архитектуры предприятия

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

    (рис 5.2) Модель, используемая для описания стратегии и архитектуры информационных технологий

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

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

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

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

  • Миссия и видение.
  • Руководящие принципы. Утверждения, описывающие принципы и ключевые элементы философии использования информационных технологий.
  • Цели, задачи и стратегии.
  • Архитектура информационных технологий.
  • Политики (правила). Политики являются общими утверждениями, которые задают направления и цели, связанные с инициативами в области ИТ. Они носят, как правило, достаточно высокоуровневый и общий характер и обеспечивают скоординированный процесс планирования, закупку критически важных технологий, эффективную разработку систем и эффективное использование информационных технологий и ресурсов.
  • ИТ-стандарты. Стандарты – это обязательные к использованию утверждения, касающиеся используемых технологий, продуктов и/или услуг. Они должны быть достаточно полными и в то же время определять разумный минимум требований, обязательных для использования. В случае, когда речь идет о стандартах, выбираемых государством, особенно важным является подход, когда стандарты описывают только наиболее общие и важные элементы технологий в соответствии с принципами честной конкуренции.
  • Процедуры. Процедуры – это инструкции, описывающие, как выполняются политики и стандарты. Процедуры устанавливают и описывают процессы, которые выполняются на регулярной основе.
  • Руководства или рекомендации (guidelines). Руководства и рекомендации – это описания лучших практик или приемлемых подходов к практической реализации политик и процедур. Руководства могут стать стандартами.
  • Реализация целей, задач и стратегий достигается через соответствующие ИТ-проекты, которые формулируются в планах на очередной период деятельности.

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

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

    (рис 5.3) Политики, стандарты и процедуры

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

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

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

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

    Эволюция содержания архитектуры предприятия по мере ее разработки и развития условно показана на рис. 5.4.

    (рис 5.4) Эволюция контента Архитектуры предприятия

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

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

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

    Ниже приведены примеры общих принципов, связанных с архитектурой в целом:

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

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

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

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

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

  • организация должна иметь интегрированный процесс управления архитектурой.
  • должны существовать механизмы управляемого развития архитектуры.
  • целью архитектуры должно быть уменьшение сложности интеграции систем.
  • организация будет "разрабатывать" те прикладные системы, которые связаны с получением конкурентных преимуществ, и "покупать" стандартные прикладные системы в тех областях, где достаточно иметь паритет по отношению к другим участникам рынка.
  • Информация является общекорпоративным активом.
  • Прикладные системы будут строиться с использованием n-уровневой архитектуры (презентационная логика, бизнес-логика, уровень доступа к данным, уровень данных).
  • Для интерфейсов между системами будет использоваться технология пересылки сообщений.
  • Применение компонентной разработки информационных систем.
  • Использование технологий анализа данных (Business Intelligence) для ускорения принятия решений и упрощения разработки.
  • ИТ-служба будет использовать стандарты и методику управления качеством "Шесть Сигма" в процессе обеспечения качества прикладных систем и ИТ-услуг (принцип, который может быть принят в результате анализа сильных и слабых сторон ИТ-службы).
  • Еще раз отметим, что эти принципы могут показаться слишком общими. Проще всего "списать" набор таких утверждений с чужих документов. Но дело в том, что принципы начинают работать только тогда, когда они являются результатом широкого и вдумчивого обсуждения с участием представителей различных структурных подразделений как со стороны бизнеса, так и сотрудников, отвечающих за ИТ, когда причины и последствия их принятия всеми хорошо осознаются и задокументированы и когда реализация этих принципов закреплена в конкретных процедурах.

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

    При разработке и использовании стандартов следует учитывать нижеперечисленные аспекты [4.5], [4.6]:

  • Уделяйте большее внимание тем стандартам, которые обеспечивают эффективное использование базовых технологий. Прежде всего, это технологии, на которых построены многие системы и которые стали индустриальными стандартами. Примерами таких технологий для организаций являются XML, .NET, Java (рассматриваемая не как язык, а как среда разработки).
  • Определяйте стандарты процессов. Примерами являются процессы бизнес-моделирования, методы разработки систем, тестирования, интеграции.
  • Уделяйте внимание интерфейсам. Понимание интерфейсов является основой для интеграции систем.
  • Теснее взаимодействуйте с бизнес-подразделениями. Например, разработка основанных на XML стандартов на электронные сообщения невозможна без участия специалистов в конкретных предметных областях.
  • Для того чтобы быть эффективным инструментом, стандарты должны включать списки конкретных версий технологий, интерфейсов программирования (API), утилит и т.д. Примерами могут быть версии систем управления базами данных, версии XML и т.п.
  • Стандарты должны включать способы проверки на соответствие.
  • Стандарты должны содержать описание того, как организован процесс их поддержки. Стандарты должны периодически пересматриваться и обновляться.
  • Руководства (рекомендации) обеспечивают помощь в разработке и создании систем, давая примеры лучших практик и конкретные руководства по выполнению чего-либо. Сделаем наиболее важные замечания, касающиеся руководств:

  • Руководства не заменяют техническую документацию, но рассматривают некоторые проблемы в контексте конкретной организации.
  • Хорошие руководства сфокусированы на конкретных проблемах, общих для большинства разработчиков систем. Это включает, например, интеграцию приложений с использованием соответствующих систем интеграции корпоративных приложений, создание "горизонтальных" порталов, контроль версий.
  • Тематика руководств может быть связана как с технологиями и их использованием, так и с процессами. Например, весьма полезными могут стать руководства, описывающие процессы создания конфигурации систем, построения версии системы или процесс контроля качества.
  • Наиболее эффективные руководства, как правило, короткие и специфичные. Желательно ограничивать их четырьмя страницами.
  • Модели и моделирование

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

    В общем, модели можно классифицировать по различным критериям, например:

  • формальные (использующие общепринятые правила, нотации и средства) и неформальные ;
  • количественные – позволяющие производить численные оценки и проверки, и качественные, предназначенные для понимания поведения и структуры системы;
  • описательные – предназначенные только для восприятия человеком, или исполняемые, позволяющие исследовать их поведение и использовать полученные результаты для выводов об исходной системе.
  • Примерами качественных и описательных моделей являются:

  • текстовые, использующие либо одну из формальных грамматик (пример – так называемые формы Бэкуса), либо обычный текст;
  • визуальные модели, представляемые в виде диаграмм с определенной нотацией. Наиболее популярным языком для описания таких моделей программных систем в последнее время стал UML. Заметим, что, вообще говоря, даже эскизное изображение структуры или хода процесса, не обязательно соответствующее какому-либо стандарту, также может рассматриваться как модель – лишь бы оно могло быть использовано в нужном контексте для анализа или обсуждения проблемы.
  • Примерами количественных моделей могут служить:

  • математические модели, которые могут быть описаны системами уравнений. Решение уравнений может быть в простейшем случае найдено в аналитической форме, в более сложных случаях применяются различные численные методы. Достаточно часто применяются электронные таблицы, с помощью которых могут быть проведены исследования типа "что – если". В зависимости от используемых средств эти модели могут быть исполняемыми или чисто описательными;
  • динамические исполняемые модели, которые строятся с использованием специализированных программных или программно-технических средств и позволяют исследовать поведение описываемых ими объектов в различных внешних условиях. Модели последнего типа относятся к числу наиболее сложных и часто применяются на этапе выбора архитектуры сложных систем со многими элементами и связями, особенно когда поведение элементов описывается нелинейной или случайной функцией. Хотя разработка такой модели и проведение исследований требуют определенных затрат времени и ресурсов, во многих случаях применение таких моделей оказывается экономически обоснованным (см 6.7), а в отдельных областях, связанных с военными, космическими, ядерными и другими объектами такого рода – единственно возможным.
  • К сожалению, возможных моделей для описания деятельности предприятия как системы существует множество, и очень часто в организации происходит достаточно разрозненный процесс моделирования. Например, для описания бизнес-архитектуры используются модели, включающие представления о бизнес-объектах и логике (например, декомпозиция процессов, сценарии использования, взаимосвязи между объектами). На уровне прикладных систем используются, например, диаграммы "сущность-отношения", карты иерархии управления, диаграммы потоков данных, на уровне инфраструктуры – топология сетей, инфраструктурные шаблоны и т.д. Консолидация таких различных представлений – то есть понимание того, как все эти многочисленные модели связаны между собой, – является весьма сложной задачей. Например, какова связь между одним артефактом на некотором высоком уровне абстракции (к примеру, модель бизнес-процесса) с другим артефактом на более детальном уровне (к примеру, стандарт на сервера приложений). Эта проблема может свести на нет пользу от моделирования. Поэтому одной из важных задач любой методики описания архитектуры становится логическая организация моделей, описывающих единую архитектуру предприятия.

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

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

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

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

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

    Эти модели описывают архитектуру предприятия на различных уровнях абстракции, которые соответствуют "взглядам" на предприятие различных категорий людей. Процесс условно отображен в виде следующей таблицы, в которой в качестве иллюстрации приведены примеры возможных моделей для каждого домена архитектуры и каждого уровня абстракции [4.7]. Во-первых, заметим, что, по сути, это соответствует модели архитектуры Захмана, которая описана в 5.2. А во-вторых, с одной стороны, это список не является исчерпывающим, а с другой, на уровне описания архитектуры предприятия в целом, могут отсутствовать модели "нижних" уровней абстракции.

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

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

    Модели, используемые для различных представлений (доменов) и перспектив (уровней абстракции) описания Архитектуры предприятия
    Домены Бизнес-архитектура Архитектура информации Архитектура приложений Технологическая архитектура
    Перспекивы (уровни абстракции)
    Контекст ("планировщик")
  • Классы бизнес-процессов (группа процессов, имеющих много общих активностей)
  • Список бизнес-процессов
  • Список бизнес-сущностей – объектов, важных для бизнеса ("клиент", счет")
  • Связи между сущностями (бизнес-объектами)
  • Список бизнес-процессов
  • Список мест расположения бизнеса
  • Концептуальный уровень ("владелец" предприятия)
  • Сценарии использования (Use case)
  • Модели бизнес-процессов
  • Семантические модели
  • Модели связей
  • Модели "сущность-связи"
  • Разбиение процессов на сервисы
  • Модели бизнес-логистики
  • Операционные (нефункциональные) требования
  • Архитектура расположения элементов центра обработки данных
  • Логический ("проектировщик")
  • Модели процессов (потоков работ)
  • Модели бизнес-событий
  • Модель расположения процессов
  • Определения ролей
  • Логические модели данных
  • Схемы данных
  • Спецификации документов
  • Определения сервисов
  • Взаимосвязи между сервисами
  • Модели классов
  • Логические типы серверов: БД, почтовые, транзакционные, …
  • Географическое распределение серверов
  • Хостируемое ПО
  • Физический ("разработчик")
  • Спецификации процессов
  • Модели интеграции процессов
  • Описание ручных процедур
  • Стандарты качества
  • Физические модели данных
  • Схемы БД
  • Код доступа к данным
  • Справочники данных
  • Код программ
  • Описания интерфейсов (WSDL)
  • Расписания процессов
  • Код workflow
  • Физические серверы
  • Топология фрагментов сети
  • Мапирование продуктов на сервисы и приложения
  • В качестве примера возьмем он-лайновую систему выполнения заказов некоторого гипотетического магазина. Для описания требований к системе, ее проектирования и разработки можно рассматривать динамические и статические модели на различных уровнях абстракции: уровень контекста, концептуальный, логический, физический уровни.

    Рассмотрим вначале концептуальный уровень абстракции. Динамическая модель для этого уровня должна отражать взаимодействия между клиентом и магазином. При этом сама проектируемая система выступает как один из акторов процесса в качестве "черного ящика". Клиент и сотрудник(и) магазина выступают как внешние по отношению к системе акторы. Весь процесс рассматривается с точки зрения клиента и сотрудника. Клиент осуществляет заказ через Интернет. Оплата выполняется с помощью кредитной карты. Заказ посылается по указанному адресу. Уведомление о выполнении заказа посылается по электронной почте. Модель на самом высоком уровне описывает бизнес-процессы продавца и содержит простой сценарий использования (use case), описывающий взаимодействия между системой и акторами. Рисунок 5.5 иллюстрирует такую концептуальную динамическую модель и содержит простую нотацию сценария использования для этого бизнес-взаимодействия.

    (рис 5.5) Динамическая концептуальная модель процесса закупки товара

    Статическая модель на этом уровне абстракции отражает структуру классов и связи между объектами, необходимость в которых становится очевидной при анализе динамической модели. Другими словами, она отвечает на вопрос "Какие объекты должен понимать клиент для того, чтобы выполнить транзакцию, связанную с покупкой?" Рисунок 5.6 показывает диаграмму классов, которая является статической концептуальной моделью.

    (рис 5.6) Статическая модель процесса закупки товара в магазине

    Клиент является конкретной реализацией класса Человек. Связи между клиентом и магазином обеспечены наличием Учетной записи клиента. Все Заказы ассоциированы с Учетной записью. Заказ ассоциирован со всеми приобретаемыми Элементами заказа. Каждый элемент заказа является специфическим Продуктом, где Продукт сам по себе является классом. Наконец, каждый Платеж ассоциирован с некоторым Заказом.

    Вообще говоря, современное состояние индустрии информационных технологий в области моделирования можно охарактеризовать как "время больших перемен". С одной стороны, такая некоммерческая организация как Object Management Group (OMG) находится в процессе реализации ряда инициатив, которые имеют непосредственное влияние на развитие технологий моделирования предприятия и его информационных систем. Эта организация выдвинула концепцию архитектуры, основанной на моделях (MDA – Model-Driven Architecture, см. лекции 7), развивает язык моделирования систем Unified Modelling Language (UML). При этом основная идея состоит в автоматизированном (насколько это возможно) процессе создания кода прикладных систем на основе разработанных моделей.

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

    Решая более прагматичные задачи моделирования в интересах разработчиков систем, компания Microsoft, участвуя в работе OMG, в то же время выдвинула свою инициативу, связанную с моделированием информационных систем. Она основана на использовании языков DSL (Domain Specific Languages). Идея состоит в создании некоторого числа компактных, как правило, декларативных языков, предназначенных для описания различных предметных областей. Стратегия Microsoft состоит в использовании этих языков в рамках своих средств разработки (Visual Studio).

    Примерами таких языков является язык описания бизнес-сущностей Business Entity DSL (например, "клиент", "заказ"), язык описания бизнес-процессов Business Process DSL (бизнес-активности, роли, зависимости), язык описания логической архитектуры систем Logical Systems Architecture DSL (описание конфигураций центров обработки данных), язык для описания web-сервисов Web Services DSL. При этом информация об одной модели может использоваться для создания другой модели. Примерами могут служить взаимодействие между моделями бизнес-сущностей и бизнес-процессов или между моделями web-сервисов и логическими серверами, на которых они будут размещены.

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

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

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

  • Нет и не стоит в ближайшее время ожидать одной, универсальной технологии создания моделей.
  • Имеется достаточно большое количество методик и средств моделирования, которые могут успешно применяться для разработки моделей различных доменов Архитектуры предприятия.
  • Бизнес-архитектура

    Контекст и основные элементы бизнес-архитектуры

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

    По оценке Gartner, вплоть до конца 2005 года около 70% всех предприятий будут вести определенные проекты, связанные с анализом и совершенствованием бизнес-процессов, несмотря на некоторый негативный осадок, который в корпоративном мире имела практика реинжиниринга бизнес-процессов середины 1990-х годов. "На самом деле, большинство предприятий в действительности не понимают всей глубины и масштабов выполняемых ими бизнес-процессов, если они не занимались бизнес-моделированием в последнее время", – считает Джим Синур (Jim Sinur), аналитик Gartner.

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

    Таким образом, можно сказать, что Бизнес-архитектура включает в себя, как правило, следующие аспекты:

  • Бизнес-стратегия, функции и организационные структуры – собрание целевых установок, планов и структур организации. Данная информация может быть представлена в самых разных форматах, но наиболее важный аспект состоит в создании контекста для описания бизнес-процессов. Эта часть архитектуры не является технической, но она критически важна с той точки зрения, что архитектура информационных технологий (информации, прикладных систем, технологическая архитектура) строится на ее основе и обеспечивает реализацию ключевых функций организации.
  • Архитектура бизнес-процессов, которая определяет основные функциональные области организации. Для министерства – это могут быть функции, перечисленные в Положении о министерстве, для коммерческой организации – процессы разработки новых продуктов, услуг и сбыта товаров и т.п. Она также описывает специфические процессы внутри каждой функциональной области и их операционные параметры – например, объемы операций, роли, реализацию централизованной или децентрализованной модели операций и т.д. Эта часть является как бы "точкой соприкосновения" между бизнес-архитектурой и архитектурой приложений и обеспечивает взгляд на бизнес и функции организации, достаточно детализированный для того, чтобы использовать его при выработке стратегии и планов создания приложений.
  • Показатели эффективности. Этот аспект состоит в определении ключевых показателей эффективности (КПЭ) работы организации, их текущих уровней и желаемых, будущих уровней и включает в себя также разработку на верхнем уровне модели КПЭ для мониторинга.
  • "Если архитектура ИТ предприятия описывает то, как компоненты ИТ объединяются вместе для достижения нужного результата, то точно также бизнес-архитектура описывает, как элементы бизнеса соединены вместе" .

    Построение бизнес-архитектуры начинается с общего обзора ситуации, который предполагает поиск ответов на следующие вопросы:

  • Каков внешний контекст деятельности организации?
  • В чем состоят основные функции и добавочная стоимость, которая является итогом деятельности организации?
  • Какие сценарии развития бизнеса необходимо учитывать, и какова вероятность их реализации?
  • Какие необходимы информационные взаимосвязи и процессы обработки информации?
  • (рис 5.7) Контекст Бизнес-архитектуры

    Усилия по построению бизнес-архитектуры, которая представляется в виде бизнес-моделей, быстро окупают себя и имеют большое количество дополнительных преимуществ [4.11]. Под бизнес-моделями понимается динамический поток событий, связанных с бизнесом, в который вовлечены различные функции бизнеса, организационные единицы и активы предприятия. Возможная отдача от реализации таких моделей достаточно подробно изучалась и описывалась на протяжении последнего столетия. Основная проблема состоит в том, чтобы убедить руководство в этих преимуществах и добиться от него поддержки проведения проекта разработки бизнес-моделей. А преимущества от построения таких моделей лежат в двух плоскостях: дополнительных возможностях для бизнеса и уменьшении затрат. По оценкам, создание бизнес-моделей и связанная с этим оптимизация затрат даже без радикальных изменений бизнеса может дать до 10% экономии. А при моделировании альтернативных вариантов бизнес-процессов организации могут сэкономить до 20% [4.11]. Но не менее важная роль бизнес-моделей состоит в том общем языке, которые они дают представителям бизнеса и ИТ в обсуждении соответствующих возможностей.

    Важную роль в процессе формирования целевой архитектуры предприятия играют модели бизнес-процессов. На самом деле, обеспечение соответствия между ключевыми бизнес-процессами и архитектурой информационных технологий является самой важной составляющей всех усилий по созданию архитектуры. Эти модели также могут быть реализованы различными способами, т.е. являются описательными или исполняемыми, качественными или количественными и т.п. Они могут применяться как на исключительно "бизнес-уровне" для оптимизации соответствующих процессов, так и для облегчения взаимопонимания между бизнес-пользователями и специалистами в области ИТ. Обычно в организации имеется 10-20 основных процессов. Предложенные ниже методики помогают реализовать самый трудный начальный этап описания и документирования этих процессов. Подчеркнем, что бессмысленно разрабатывать детальные модели подпроцессов для всех основных процессов. Важно сосредоточиться на тех из них, которые будут подвергнуты изменениям. Это соответствует принципам "минималистской архитектуры", описанным в лекции 12.

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

    Далее рекомендуется выполнить следующие шаги.

    Шаг 1. Идентификация критически важных для предприятия процессов (обычно не более восьми).

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

  • процессы, которые открывают новые возможности, например, новые каналы предоставления услуг;
  • процессы, которые в настоящее время выполняются плохо и являются источниками неудовлетворенности клиентов;
  • процессы, в которых имеются возможности для экономии.
  • Желательно, чтобы рекомендуемое число таких процессов, не превышало "волшебного числа" 8 в соответствии с известным принципом: "семь плюс-минус два" объекта. При необходимости схожие бизнес-процессы могут быть объединены в группы или классы.

    Шаг 2. Отследить связи между этими процессами и бизнес-стратегиями, движущими силами и критически важными факторами успеха. Это можно сделать с помощью матрицы взаимных связей. Для каждого элемента этой матрицы определяется качественная оценка по принципу "важно" – "неважно" или по некоторой условной шкале. Например, можно использовать так называемую шкалу 9-3-1, в соответствии с которой 9 обозначает сильную взаимосвязь, 3 – промежуточную, 1 – слабую.

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

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

    Шаг 5. Идентифицировать и документировать основные категории информационных объектов (опять же рекомендуется не более восьми).

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

    Основные модели и инструменты описания бизнес-архитектуры

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

    Модели бывают различных типов: модели процессов/потоков работ, функциональные модели, организационные модели, модели данных/ресурсов, временные модели типа диаграмм Ганта, модели причинно-следственных связей. Факт заключается в том, что нет "одной, самой лучшей" модели для описания бизнес-процессов. Можно провести аналогию с графиками, которые используются для иллюстраций. Круговая диаграмма с сегментами, пропорциональными по размеру проценту чего-либо целого, отлично подходит для определенных задач, но ее нельзя использовать для иллюстрации и анализа всех типов данных (например, изменений каких-то данных во времени). Точно также при анализе бизнес-процессов выбранный метод моделирования должен отражать цели анализа. Оптимизация процесса по времени и четкий анализ взаимодействия между участниками процесса могут потребовать разных моделей.

    Для автоматизации моделирования процессов сложился специальный класс программных продуктов. Наиболее известными являются такие продукты, как ARIS, Software Architeсt, BPWin (новое название – AllFusion Process Modeler), хотя в большом количестве случаев стандартных графических пакетов типа Microsoft Visio, текстового редактора и электронной таблицы бывает достаточно. В данном курсе мы не будем останавливаться на сравнительном анализе этих и других средств, и отсылаем читателя к специализированным публикациям.

    Основное внимание при разработке Бизнес-архитектуры должно уделяться "картине в целом". Целью Бизнес-архитектуры не является детальное описание деятельности предприятия. Модели, включенные в Бизнес-архитектуру, должны давать необходимый минимум сведений о ключевых функциях, процессах, бизнес-событиях и потоках информации, достаточный для процесса принятия решений, поиска новых возможностей для инноваций. Дальнейшая детализация выполняется с использованием таких инструментов, как:

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

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

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

    Компоненты анализа бизнес-событий
    Основная область анализа Результаты (артефакты) анализа Основные вопросы
  • Обеспечить понимание ограниченного набора основных бизнес-событий
  • Анализ возможностей по оптимизации бизнес-процессов
  • Повышение эффективности операции, улучшение взаимодействия с клиентами,…
  • Основные инициаторы и участники бизнес-событий
  • Партнеры
  • Идентификация критически важных артефактов, создающихся и используемых в процессе обработки события
  • Проверка возможностей по новациям
  • Новые формы ведения бизнеса
  • Кто является инициатором бизнес-события?
  • Как событие обрабатывается в рамках расширенного предприятия (партнеры и пр.)?
  • Кто является основными участниками события?
  • Возможны ли инновации, которые связаны с событием и требуются бизнесом?
  • Модель местоположений идентифицирует в географическом плане то место, где выполняются функции бизнеса, и обеспечивает логистический взгляд на функции, выполняемые организацией. Одним из очевидных преимуществ использования этой модели является идентификация архитектурных требований, которые предъявляются, в частности, к технологической архитектуре с точки зрения обеспечения информационного взаимодействия между различными местами расположения бизнеса. Однако целью моделирования местоположений является визуализация организационных единиц, определение мест, где выполняются функции и связей между ними.

    Компоненты модели местоположений
    Основная область анализа Результаты (артефакты) анализа Основные вопросы
  • Обеспечить понимание того, где выполняются функции и процессы
  • Понимание требований, накладываемых географическим расположением на решения, касающиеся бизнес- и технологической архитектуры
  • Понимание требований со стороны технологической архитектуры к географическому расположению функций
  • Распределение функций по местоположениям
  • Связи между бизнес-функциями
  • Требования к технологической архитектуре и архитектуре прикладных систем
  • Возможности по организационным изменениям
  • Где выполняются основные функции?
  • Какие функции связаны между собой?
  • Существуют ли возможности по консолидации и рационализации?
  • Модель интеграции отражает высокоуровневые требования к интерфейсам между процессами и бизнес-событиями, требования, предъявляемые к информации новыми шаблонами процессов, и временные требования. Эта модель служит основой для построения архитектуры информации и архитектуры прикладных систем, а также содержит общие требования к архитектуре предприятия с точки зрения бизнес-информации и интеграции.

    Компоненты модели интеграции
    Основная область анализа Результаты (артефакты) анализа Основные вопросы
  • Обеспечить понимание ключевых внутренних и внешних точек интеграции
  • Информационные потоки между участниками бизнес-событий
  • Понимание основных интерфейсов прикладных систем
  • Понимание требований к технологической архитектуре с точки зрения интеграции
  • Потоки информации, которые требуются для реализации различных шаблонов бизнес-процессов
  • Связи между функциями бизнеса
  • Требования к архитектуре информации, приложениям и технологической архитектуре
  • Возможности для организационных изменений
  • Какая информация является критической для новых шаблонов реализации бизнес-процессов?
  • Какие потоки информации существуют между различными точками соединения моделей бизнес-событий?
  • Каковы требования с точки зрения времени?
  • После того как модели созданы, на их основе можно выполнять различные методы анализа:

  • Анализ цепочек создания добавочной стоимости (А нужно ли вообще выполнять этот шаг?)
  • Динамическое моделирование (Как эта модель выполнения бизнес-функций будет себя вести при различных значениях на входе и доступных ресурсах, и как со временем будет меняться поведение процесса?)
  • Анализ пересечений и непокрытых областей (Gap-overlap analysis) (Будет ли наша бизнес-архитектура иметь избыточные элементы, и есть ли в ней "пробелы"?)
  • Соотнесение затрат с активностями (Activity-based costing) (На каких процессах, каналах продаж и заказчиках мы реально зарабатываем или теряем деньги?)
  • Обучение (Как эти бизнес-процессы соотносятся с другими?)
  • Общая стоимость владения (Сколько стоит этот процесс?)
  • Возврат инвестиций (ROI) (Будет ли достигнут возврат инвестиций в данный бизнес-процесс и когда?)
  • Такие модели обычно имеют прямой выход на процесс генерации архитектуры приложений, как это предполагается в подходе разработки архитектуры, управляемой моделями (MDA) (см. лекции 7).

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

    Мы уже отмечали, что показатели эффективности являются важной составляющей бизнес-архитектуры. Например, в методике FEAF Федеральной Архитектуры США имеется отдельная, явно выделенная модель показателей эффективности.

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

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

    В связи с развитием принципов сервис-ориентированной архитектуры (см. лекции 7) и появлением технологически нейтрального, платформенно-независимого языка описания и выполнения бизнес-процессов BPEL (Business Process Execution Language) появилась возможность не только моделировать бизнес-процессы, но и делать их целиком или частично доступными другим системам и организациям в виде сервисов. К этому можно добавить также возможности еще одного стандарта XML Metadata Interchange (XMI) для обмена (экспорта/импорта) данных практически в любые интеграционные продукты. В совокупности это дает возможность создавать модели и репозитории бизнес-процессов для их эффективной интеграции. Более подробную информацию о новых стандартах для моделирования процессов можно найти на сайте www.bpmi.org.

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

    Архитектура информации

    Контекст и основные элементы архитектуры информации

    Сегодня организации должны искать эффективные способы работы с информацией, которая поступает из самых разнообразных источников и должна быть доступна там, где это нужно, и тогда, когда это необходимо. Ситуация осложняется тем, что различные формы информации зачастую требуют специфических технологий и методов работы с ней: 1) структурированная информация (реляционные и объектные модели); 2) развивающиеся, основанные на XML стандарты для полуструктурированной информации; 3) неструктурированная информация в форме текстов, графиков, образов, сопровождаемая определенными описательными данными (метаданными и каталогами).

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

    Архитектура информации описывает, как информационные технологии обеспечивают в организации возможности для быстрого принятия решений, распространения информации внутри организации, а также за ее пределы, например, партнерам по бизнесу. Архитектура информации является как бы "зеркальным отражением" бизнес-архитектуры. Бизнес-архитектура отвечает на вопрос: "С учетом нашего общего видения, целей и стратегий, кто и что будет делать?" Архитектура информации отвечает на вопрос: "Какая информация должна быть предоставлена для того, чтобы эти процессы могли выполняться теми, кто их должен выполнять?" Архитектура информации включает в себя модели, которые описывают процессы обработки информации (information value chain), основные информационные объекты, связанные с бизнес-событиями, информационные потоки, принципы управления информацией. Архитектура должна описывать как те данные, которые требуются для выполнения процессов (операционные), так и аналитические данные и "контент", публикуемый на Web.

    Это действительно обширная задача. Приведем следующую цитату, касающуюся создания архитектуры информации в Citibank [4.14]: "В силу сложности банковских продуктов, услуг и разнообразия условий ведения бизнеса, задача разработки корпоративной модели данных заняла несколько лет. Отсутствие общекорпоративного подхода к управлению данными было слабостью банка в прошлом, но теперь у банка имеется возможность обеспечить единые стандарты обслуживания клиентов". Речь идет, конечно, об одном из крупнейших финансовых институтов мира, и большинство компаний столкнется с гораздо меньшими проблемами, но в любом случае, разработка и реализации архитектуры информации – это длительный итеративный процесс.

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

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

    Потребность в архитектуре информации сейчас велика как никогда. Аналитические компании, такие как META Group и Aberden, считают, что при разработке новых систем до 70% времени тратится на решение задач, связанных с идентификацией источников данных, которые должны использоваться прикладной системой, и на написание программного кода для доступа и трансформации данных [4.15]. Для большинства средних и практически всех крупных предприятий использование нескольких различных СУБД, средств управления и преобразования данных является скорее правилом, чем исключением. Кроме того, в течение последнего десятилетия мы являлись и являемся свидетелями тенденции все более широкого использования готовых прикладных систем (финансового учета, управления кадрами, управления закупками, управления продажами и т.д.), каждая из которых имеет свои модели данных. С учетом наличия и других унаследованных систем тенденция к росту количества источников данных только увеличивается.

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

    На рисунке 5.8 приводится пример упрощенной схемы перемещения данных в процессе работы над ними на некотором гипотетическом предприятии.

    (рис 5.8) Пример потоков данных на предприятии

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

    В ходе разработки архитектуры информации решаются, в соответствии с [4.16], следующие задачи:

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

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

  • получение данных из внутренних и внешних источников;
  • классификация данных по типам;
  • хранение и извлечение данных;
  • редактирование (или обновление) данных;
  • контроль качества (удаление или исправление некорректных данных);
  • презентация (трансформирование данных для определенной аудитории потребителей);
  • распространение информации для различных групп потребителей;
  • оценка (полезности, а также соотношения цены/качества данных);
  • обеспечение безопасности информации (например, аутентификация данных от различных источников, назначение адекватного уровня доступа; определение требований по аудиту; обеспечение механизмов резервного хранения и восстановления).
  • Рисунок 5.9 показывает общую картину архитектуры информации, взятую из документов описания архитектуры правительства штата Северная Каролина, США [4.17].

    (рис 5.9) Общая архитектура информации (данных)

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

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

    Для понимания архитектуры информации и того, как данные хранятся и обновляются, важно отличать типы прикладных систем, которые обеспечивают доступ к данным. Два наиболее важных типа таких систем – это системы онлайновой обработки транзакций (OLTP – Online Transaction Processing) и системы он-лайновой аналитической обработки (OLAP – Online Analitical Processing). Третий тип – системы управления неструктурированными данными (контентом).

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

    OLAP-системы используются для анализа, планирования и управления получением отчетов путем обеспечения интерактивного доступа к широкому спектру информации. В OLAP-системах обычно обрабатываются агрегированные данные для получения ответа на такие вопросы: "Сколько было потрачено на покупку офисной техники в прошлом году?", "Каков был объем продаж изделия X в городе N в первом квартале?" Данные для OLAP-систем, как правило, извлекаются из транзакционных OLTP-систем и помещаются или реплицируются в специальные базы данных – хранилища или витрины данных. Витрины данных являются специализированными хранилищами, которые ориентированы на предоставление информации, требующейся для бизнес-анализа на предприятии.

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

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

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

    Рекомендуемыми первыми шагами на пути создания архитектуры информации являются следующие шаги [4.18]:

  • создание словаря данных и репозитория метаданных;
  • выбор системы записи информации о каждом элементе данных.
  • Эти шаги впоследствии будут способствовать созданию оперативного хранилища данных (ODS – Operational Data Store), которое обеспечивает стандартные процессы извлечения, трансформации и загрузки данных (ETL – Extract, Transform, Load), а также очистки данных и создания метаданных. Оперативное хранилище является краеугольным камнем для повторного, многократного использования данных, а в последующем – для создания хранилищ и витрин данных.

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

    Основные модели и инструменты описания архитектуры информации

    Результатами процесса разработки архитектуры информации являются:

  • документированное описание существующих источников данных;
  • модели данных. Специалисты Gartner не рекомендуют, однако, тратить избыточные усилия на создание единой, полной и детальной модели в рамках всего предприятия, так как затраты на ее разработку и последующее поддержание могут быть неадекватны получаемым выгодам. Основное внимание стоит уделять выявлению семантической разницы в описаниях данных, поступающих из различных источников, и созданию относительно стабильных так называемых "канонических" представлений данных, описывающих их использование бизнес-пользователями;
  • описание существующих и планируемых информационных потоков, соответствующих интерфейсов, алгоритмов преобразования или консолидации данных, а также необходимые соглашения по уровню сервиса, связанного с передачей данных;
  • описание решений по организации хранения данных – от общих каталогов до витрин и хранилищ данных;
  • используемые технологии и средства для преобразования и управления данными.
  • Целью разработки моделей информации и моделей данных является создание графических представлений потребностей организации и отдельных бизнес-процессов в информации. Это становится основой для реорганизации бизнес-процессов и конструирования новых прикладных систем, описания взаимодействий и информационного обмена, который происходит между организацией и клиентами, партнерами.

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

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

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

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

  • Сущностями являются такие объекты, как "клиент", "гражданин", "заказ", "место", "вещь или объект" и т.д. Совокупность сущностей одного типа становится таблицей в базе данных, а строка этой таблицы – это одна реализация некоторой сущности.
  • Атрибут является характеристикой, которая обеспечивает более детальную информацию о сущности (объекте), например, "фамилия", "имя", "пол" и т.д. Атрибут становится колонкой в таблице базы данных. Ключевой атрибут, или первичный ключ, является уникальным идентификатором сущности. Примером является серийный номер.
  • Отношения показывают, как одна сущность соотносится с другой. При описании связи представлены глаголами, поскольку означают действие. Примером может быть высказывание "гражданин владеет недвижимостью": сущность "гражданин" "владеет" некоторой другой сущностью "недвижимость". Когда между сущностями установлены связи, то одна сущность является "родителем", а другая "потомком".
  • Количество вхождений показывает, какое количество сущностей может состоять в отношениях с другой сущностью. Например, гражданин может владеть несколькими объектами недвижимости.
  • Одним из способов моделирования данных на логическом уровне является построение моделей "Сущности-Отношения" (ERMEntity-Relationship Model).

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

    Сравнительные характеристики этих уровней (с использованием идеи систематизации из [4.19] приведены в таблице 5.6.

    Модель/уровень Концептуальная Модель данных Реализация данных
    Точка зрения Бизнес-взгляд на ИТ ИТ-взгляд на бизнес ИТ-взгляд на ИТ
    Фаза Планирование Анализ Реализация
    Рассматриваемые связи Связи данных с бизнес-функциями, интерфейсами, технологиями Связи данных с другими данными Связи данных с системами хранения
    Фокус Сбор, обработка и использование данных Структура данных Объемы и степень использования данных
    Это, скорее… Искусство? Наука? Религия? (cледование рекомендациям вендоров)

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

    Еще одним важным понятием, относящимся к архитектуре информации, которое является особенно серьезным для крупных организаций или органов государственной власти с их большим количеством достаточно независимых систем и организационных структур (на национальном, региональном или муниципальном уровнях), является управление федеративными данными и метаданными (federated data management) [4.17]. Под управлением федеративными данными понимается архитектура, которая обеспечивает управление и доступ к данным и метаданным независимо от их внутренней логической структуры и физических границ их расположения, в целях организации взаимодействия систем и различных подразделений внутри организации и с внешними организациями.

    Рисунок 5.10 показывает общее видение принципов управления федеративными данными, который, в частности, положен в основу справочной модели архитектуры данных методики Федеральной архитектуры США FEAF [4.15].

    (рис 5.10) Видение принципов управления федеративными данными

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

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

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

    Рисунок 5.11 иллюстрирует принципы интеграции информации на основе управления федеративными данными.

    (рис 5.11) Принципы интеграции через управление федеративными данными

    В нижней части рисунка мы имеем набор различных физических систем управления данными. Уровень выше представляет набор моделей этих систем, независимых от платформы реализации. Уровень запросов выполняет трансформацию и устанавливает соответствие для создания виртуальных моделей объектов, чьи физические аналоги могут и не существовать в физических системах. Эти виртуальные модели для различных пользователей могут представляться по-разному – например, базами данных, бизнес-объектами, представлениями (выборки из базы), моделями данных предприятия, документами, сервисами или компонентами в зависимости от потребностей. Важно то, что определения этих объектов создаются с помощью моделей. В связи с этим серьезную роль может играть стандарт Meta Object Facuility (MOF), который и помогает определять все необходимые модели для метаданных.

    Частью процесса описания архитектуры является сбор информации, которая определяет объекты в виде "как есть", определение целевого состояния, а также плана перехода из текущего состояния в целевое. Это верно и для Архитектуры информации, и для моделей информации. Как правило, текущее состояние архитектуры информации описывается с использованием логических и физических моделей данных, многие из которых могут отсутствовать в репозитории метаданных предприятия. Эти модели обычно являются платформенно-зависимыми. Целевое состояние, как правило, описывается в форме платформенно-независимых семантических или виртуальных моделей. Для перехода от текущего состояния в желаемое будущее потребуется установление отображения (mapping) и трансформации между платформенно-зависимыми моделями и виртуальными моделями. Со временем, когда понадобится создание новой прикладной системы, может потребоваться отображение виртуальной модели на новую, специфическую для выбранной платформы реализации модель.

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

    Страницы:

    Элементы архитектуры предприятия

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

    М. Е. Салтыков-Щедрин. "История одного города"

    Домены (предметные области) архитектуры

    Обычно в составе архитектуры выделяют от четырех до семи основных представлений (предметных областей или доменов) [4.1], [4.2], [4.3], [4.4]. Эти области последовательно покрывают архитектурные аспекты, отталкиваясь от потребностей функционирования организации (бизнеса) и обеспечивая весь набор технологий для реализации конкретного решения бизнес-проблемы. Ниже перечислены представления (домены) архитектуры:

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

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

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

    (рис 5.1) Области, входящие в понятие Архитектуры предприятия

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

    Принципы, модели и стандарты в рамках архитектуры предприятия

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

    (рис 5.2) Модель, используемая для описания стратегии и архитектуры информационных технологий

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

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

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

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

  • Миссия и видение.
  • Руководящие принципы. Утверждения, описывающие принципы и ключевые элементы философии использования информационных технологий.
  • Цели, задачи и стратегии.
  • Архитектура информационных технологий.
  • Политики (правила). Политики являются общими утверждениями, которые задают направления и цели, связанные с инициативами в области ИТ. Они носят, как правило, достаточно высокоуровневый и общий характер и обеспечивают скоординированный процесс планирования, закупку критически важных технологий, эффективную разработку систем и эффективное использование информационных технологий и ресурсов.
  • ИТ-стандарты. Стандарты – это обязательные к использованию утверждения, касающиеся используемых технологий, продуктов и/или услуг. Они должны быть достаточно полными и в то же время определять разумный минимум требований, обязательных для использования. В случае, когда речь идет о стандартах, выбираемых государством, особенно важным является подход, когда стандарты описывают только наиболее общие и важные элементы технологий в соответствии с принципами честной конкуренции.
  • Процедуры. Процедуры – это инструкции, описывающие, как выполняются политики и стандарты. Процедуры устанавливают и описывают процессы, которые выполняются на регулярной основе.
  • Руководства или рекомендации (guidelines). Руководства и рекомендации – это описания лучших практик или приемлемых подходов к практической реализации политик и процедур. Руководства могут стать стандартами.
  • Реализация целей, задач и стратегий достигается через соответствующие ИТ-проекты, которые формулируются в планах на очередной период деятельности.

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

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

    (рис 5.3) Политики, стандарты и процедуры

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

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

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

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

    Эволюция содержания архитектуры предприятия по мере ее разработки и развития условно показана на рис. 5.4.

    (рис 5.4) Эволюция контента Архитектуры предприятия

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

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

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

    Ниже приведены примеры общих принципов, связанных с архитектурой в целом:

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

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

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

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

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

  • организация должна иметь интегрированный процесс управления архитектурой.
  • должны существовать механизмы управляемого развития архитектуры.
  • целью архитектуры должно быть уменьшение сложности интеграции систем.
  • организация будет "разрабатывать" те прикладные системы, которые связаны с получением конкурентных преимуществ, и "покупать" стандартные прикладные системы в тех областях, где достаточно иметь паритет по отношению к другим участникам рынка.
  • Информация является общекорпоративным активом.
  • Прикладные системы будут строиться с использованием n-уровневой архитектуры (презентационная логика, бизнес-логика, уровень доступа к данным, уровень данных).
  • Для интерфейсов между системами будет использоваться технология пересылки сообщений.
  • Применение компонентной разработки информационных систем.
  • Использование технологий анализа данных (Business Intelligence) для ускорения принятия решений и упрощения разработки.
  • ИТ-служба будет использовать стандарты и методику управления качеством "Шесть Сигма" в процессе обеспечения качества прикладных систем и ИТ-услуг (принцип, который может быть принят в результате анализа сильных и слабых сторон ИТ-службы).
  • Еще раз отметим, что эти принципы могут показаться слишком общими. Проще всего "списать" набор таких утверждений с чужих документов. Но дело в том, что принципы начинают работать только тогда, когда они являются результатом широкого и вдумчивого обсуждения с участием представителей различных структурных подразделений как со стороны бизнеса, так и сотрудников, отвечающих за ИТ, когда причины и последствия их принятия всеми хорошо осознаются и задокументированы и когда реализация этих принципов закреплена в конкретных процедурах.

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

    При разработке и использовании стандартов следует учитывать нижеперечисленные аспекты [4.5], [4.6]:

  • Уделяйте большее внимание тем стандартам, которые обеспечивают эффективное использование базовых технологий. Прежде всего, это технологии, на которых построены многие системы и которые стали индустриальными стандартами. Примерами таких технологий для организаций являются XML, .NET, Java (рассматриваемая не как язык, а как среда разработки).
  • Определяйте стандарты процессов. Примерами являются процессы бизнес-моделирования, методы разработки систем, тестирования, интеграции.
  • Уделяйте внимание интерфейсам. Понимание интерфейсов является основой для интеграции систем.
  • Теснее взаимодействуйте с бизнес-подразделениями. Например, разработка основанных на XML стандартов на электронные сообщения невозможна без участия специалистов в конкретных предметных областях.
  • Для того чтобы быть эффективным инструментом, стандарты должны включать списки конкретных версий технологий, интерфейсов программирования (API), утилит и т.д. Примерами могут быть версии систем управления базами данных, версии XML и т.п.
  • Стандарты должны включать способы проверки на соответствие.
  • Стандарты должны содержать описание того, как организован процесс их поддержки. Стандарты должны периодически пересматриваться и обновляться.
  • Руководства (рекомендации) обеспечивают помощь в разработке и создании систем, давая примеры лучших практик и конкретные руководства по выполнению чего-либо. Сделаем наиболее важные замечания, касающиеся руководств:

  • Руководства не заменяют техническую документацию, но рассматривают некоторые проблемы в контексте конкретной организации.
  • Хорошие руководства сфокусированы на конкретных проблемах, общих для большинства разработчиков систем. Это включает, например, интеграцию приложений с использованием соответствующих систем интеграции корпоративных приложений, создание "горизонтальных" порталов, контроль версий.
  • Тематика руководств может быть связана как с технологиями и их использованием, так и с процессами. Например, весьма полезными могут стать руководства, описывающие процессы создания конфигурации систем, построения версии системы или процесс контроля качества.
  • Наиболее эффективные руководства, как правило, короткие и специфичные. Желательно ограничивать их четырьмя страницами.
  • Модели и моделирование

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

    В общем, модели можно классифицировать по различным критериям, например:

  • формальные (использующие общепринятые правила, нотации и средства) и неформальные ;
  • количественные – позволяющие производить численные оценки и проверки, и качественные, предназначенные для понимания поведения и структуры системы;
  • описательные – предназначенные только для восприятия человеком, или исполняемые, позволяющие исследовать их поведение и использовать полученные результаты для выводов об исходной системе.
  • Примерами качественных и описательных моделей являются:

  • текстовые, использующие либо одну из формальных грамматик (пример – так называемые формы Бэкуса), либо обычный текст;
  • визуальные модели, представляемые в виде диаграмм с определенной нотацией. Наиболее популярным языком для описания таких моделей программных систем в последнее время стал UML. Заметим, что, вообще говоря, даже эскизное изображение структуры или хода процесса, не обязательно соответствующее какому-либо стандарту, также может рассматриваться как модель – лишь бы оно могло быть использовано в нужном контексте для анализа или обсуждения проблемы.
  • Примерами количественных моделей могут служить:

  • математические модели, которые могут быть описаны системами уравнений. Решение уравнений может быть в простейшем случае найдено в аналитической форме, в более сложных случаях применяются различные численные методы. Достаточно часто применяются электронные таблицы, с помощью которых могут быть проведены исследования типа "что – если". В зависимости от используемых средств эти модели могут быть исполняемыми или чисто описательными;
  • динамические исполняемые модели, которые строятся с использованием специализированных программных или программно-технических средств и позволяют исследовать поведение описываемых ими объектов в различных внешних условиях. Модели последнего типа относятся к числу наиболее сложных и часто применяются на этапе выбора архитектуры сложных систем со многими элементами и связями, особенно когда поведение элементов описывается нелинейной или случайной функцией. Хотя разработка такой модели и проведение исследований требуют определенных затрат времени и ресурсов, во многих случаях применение таких моделей оказывается экономически обоснованным (см 6.7), а в отдельных областях, связанных с военными, космическими, ядерными и другими объектами такого рода – единственно возможным.
  • К сожалению, возможных моделей для описания деятельности предприятия как системы существует множество, и очень часто в организации происходит достаточно разрозненный процесс моделирования. Например, для описания бизнес-архитектуры используются модели, включающие представления о бизнес-объектах и логике (например, декомпозиция процессов, сценарии использования, взаимосвязи между объектами). На уровне прикладных систем используются, например, диаграммы "сущность-отношения", карты иерархии управления, диаграммы потоков данных, на уровне инфраструктуры – топология сетей, инфраструктурные шаблоны и т.д. Консолидация таких различных представлений – то есть понимание того, как все эти многочисленные модели связаны между собой, – является весьма сложной задачей. Например, какова связь между одним артефактом на некотором высоком уровне абстракции (к примеру, модель бизнес-процесса) с другим артефактом на более детальном уровне (к примеру, стандарт на сервера приложений). Эта проблема может свести на нет пользу от моделирования. Поэтому одной из важных задач любой методики описания архитектуры становится логическая организация моделей, описывающих единую архитектуру предприятия.

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

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

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

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

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

    Эти модели описывают архитектуру предприятия на различных уровнях абстракции, которые соответствуют "взглядам" на предприятие различных категорий людей. Процесс условно отображен в виде следующей таблицы, в которой в качестве иллюстрации приведены примеры возможных моделей для каждого домена архитектуры и каждого уровня абстракции [4.7]. Во-первых, заметим, что, по сути, это соответствует модели архитектуры Захмана, которая описана в 5.2. А во-вторых, с одной стороны, это список не является исчерпывающим, а с другой, на уровне описания архитектуры предприятия в целом, могут отсутствовать модели "нижних" уровней абстракции.

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

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

    Модели, используемые для различных представлений (доменов) и перспектив (уровней абстракции) описания Архитектуры предприятия
    Домены Бизнес-архитектура Архитектура информации Архитектура приложений Технологическая архитектура
    Перспекивы (уровни абстракции)
    Контекст ("планировщик")
  • Классы бизнес-процессов (группа процессов, имеющих много общих активностей)
  • Список бизнес-процессов
  • Список бизнес-сущностей – объектов, важных для бизнеса ("клиент", счет")
  • Связи между сущностями (бизнес-объектами)
  • Список бизнес-процессов
  • Список мест расположения бизнеса
  • Концептуальный уровень ("владелец" предприятия)
  • Сценарии использования (Use case)
  • Модели бизнес-процессов
  • Семантические модели
  • Модели связей
  • Модели "сущность-связи"
  • Разбиение процессов на сервисы
  • Модели бизнес-логистики
  • Операционные (нефункциональные) требования
  • Архитектура расположения элементов центра обработки данных
  • Логический ("проектировщик")
  • Модели процессов (потоков работ)
  • Модели бизнес-событий
  • Модель расположения процессов
  • Определения ролей
  • Логические модели данных
  • Схемы данных
  • Спецификации документов
  • Определения сервисов
  • Взаимосвязи между сервисами
  • Модели классов
  • Логические типы серверов: БД, почтовые, транзакционные, …
  • Географическое распределение серверов
  • Хостируемое ПО
  • Физический ("разработчик")
  • Спецификации процессов
  • Модели интеграции процессов
  • Описание ручных процедур
  • Стандарты качества
  • Физические модели данных
  • Схемы БД
  • Код доступа к данным
  • Справочники данных
  • Код программ
  • Описания интерфейсов (WSDL)
  • Расписания процессов
  • Код workflow
  • Физические серверы
  • Топология фрагментов сети
  • Мапирование продуктов на сервисы и приложения
  • В качестве примера возьмем он-лайновую систему выполнения заказов некоторого гипотетического магазина. Для описания требований к системе, ее проектирования и разработки можно рассматривать динамические и статические модели на различных уровнях абстракции: уровень контекста, концептуальный, логический, физический уровни.

    Рассмотрим вначале концептуальный уровень абстракции. Динамическая модель для этого уровня должна отражать взаимодействия между клиентом и магазином. При этом сама проектируемая система выступает как один из акторов процесса в качестве "черного ящика". Клиент и сотрудник(и) магазина выступают как внешние по отношению к системе акторы. Весь процесс рассматривается с точки зрения клиента и сотрудника. Клиент осуществляет заказ через Интернет. Оплата выполняется с помощью кредитной карты. Заказ посылается по указанному адресу. Уведомление о выполнении заказа посылается по электронной почте. Модель на самом высоком уровне описывает бизнес-процессы продавца и содержит простой сценарий использования (use case), описывающий взаимодействия между системой и акторами. Рисунок 5.5 иллюстрирует такую концептуальную динамическую модель и содержит простую нотацию сценария использования для этого бизнес-взаимодействия.

    (рис 5.5) Динамическая концептуальная модель процесса закупки товара

    Статическая модель на этом уровне абстракции отражает структуру классов и связи между объектами, необходимость в которых становится очевидной при анализе динамической модели. Другими словами, она отвечает на вопрос "Какие объекты должен понимать клиент для того, чтобы выполнить транзакцию, связанную с покупкой?" Рисунок 5.6 показывает диаграмму классов, которая является статической концептуальной моделью.

    (рис 5.6) Статическая модель процесса закупки товара в магазине

    Клиент является конкретной реализацией класса Человек. Связи между клиентом и магазином обеспечены наличием Учетной записи клиента. Все Заказы ассоциированы с Учетной записью. Заказ ассоциирован со всеми приобретаемыми Элементами заказа. Каждый элемент заказа является специфическим Продуктом, где Продукт сам по себе является классом. Наконец, каждый Платеж ассоциирован с некоторым Заказом.

    Вообще говоря, современное состояние индустрии информационных технологий в области моделирования можно охарактеризовать как "время больших перемен". С одной стороны, такая некоммерческая организация как Object Management Group (OMG) находится в процессе реализации ряда инициатив, которые имеют непосредственное влияние на развитие технологий моделирования предприятия и его информационных систем. Эта организация выдвинула концепцию архитектуры, основанной на моделях (MDA – Model-Driven Architecture, см. лекции 7), развивает язык моделирования систем Unified Modelling Language (UML). При этом основная идея состоит в автоматизированном (насколько это возможно) процессе создания кода прикладных систем на основе разработанных моделей.

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

    Решая более прагматичные задачи моделирования в интересах разработчиков систем, компания Microsoft, участвуя в работе OMG, в то же время выдвинула свою инициативу, связанную с моделированием информационных систем. Она основана на использовании языков DSL (Domain Specific Languages). Идея состоит в создании некоторого числа компактных, как правило, декларативных языков, предназначенных для описания различных предметных областей. Стратегия Microsoft состоит в использовании этих языков в рамках своих средств разработки (Visual Studio).

    Примерами таких языков является язык описания бизнес-сущностей Business Entity DSL (например, "клиент", "заказ"), язык описания бизнес-процессов Business Process DSL (бизнес-активности, роли, зависимости), язык описания логической архитектуры систем Logical Systems Architecture DSL (описание конфигураций центров обработки данных), язык для описания web-сервисов Web Services DSL. При этом информация об одной модели может использоваться для создания другой модели. Примерами могут служить взаимодействие между моделями бизнес-сущностей и бизнес-процессов или между моделями web-сервисов и логическими серверами, на которых они будут размещены.

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

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

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

  • Нет и не стоит в ближайшее время ожидать одной, универсальной технологии создания моделей.
  • Имеется достаточно большое количество методик и средств моделирования, которые могут успешно применяться для разработки моделей различных доменов Архитектуры предприятия.
  • Бизнес-архитектура

    Контекст и основные элементы бизнес-архитектуры

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

    По оценке Gartner, вплоть до конца 2005 года около 70% всех предприятий будут вести определенные проекты, связанные с анализом и совершенствованием бизнес-процессов, несмотря на некоторый негативный осадок, который в корпоративном мире имела практика реинжиниринга бизнес-процессов середины 1990-х годов. "На самом деле, большинство предприятий в действительности не понимают всей глубины и масштабов выполняемых ими бизнес-процессов, если они не занимались бизнес-моделированием в последнее время", – считает Джим Синур (Jim Sinur), аналитик Gartner.

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

    Таким образом, можно сказать, что Бизнес-архитектура включает в себя, как правило, следующие аспекты:

  • Бизнес-стратегия, функции и организационные структуры – собрание целевых установок, планов и структур организации. Данная информация может быть представлена в самых разных форматах, но наиболее важный аспект состоит в создании контекста для описания бизнес-процессов. Эта часть архитектуры не является технической, но она критически важна с той точки зрения, что архитектура информационных технологий (информации, прикладных систем, технологическая архитектура) строится на ее основе и обеспечивает реализацию ключевых функций организации.
  • Архитектура бизнес-процессов, которая определяет основные функциональные области организации. Для министерства – это могут быть функции, перечисленные в Положении о министерстве, для коммерческой организации – процессы разработки новых продуктов, услуг и сбыта товаров и т.п. Она также описывает специфические процессы внутри каждой функциональной области и их операционные параметры – например, объемы операций, роли, реализацию централизованной или децентрализованной модели операций и т.д. Эта часть является как бы "точкой соприкосновения" между бизнес-архитектурой и архитектурой приложений и обеспечивает взгляд на бизнес и функции организации, достаточно детализированный для того, чтобы использовать его при выработке стратегии и планов создания приложений.
  • Показатели эффективности. Этот аспект состоит в определении ключевых показателей эффективности (КПЭ) работы организации, их текущих уровней и желаемых, будущих уровней и включает в себя также разработку на верхнем уровне модели КПЭ для мониторинга.
  • "Если архитектура ИТ предприятия описывает то, как компоненты ИТ объединяются вместе для достижения нужного результата, то точно также бизнес-архитектура описывает, как элементы бизнеса соединены вместе" .

    Построение бизнес-архитектуры начинается с общего обзора ситуации, который предполагает поиск ответов на следующие вопросы:

  • Каков внешний контекст деятельности организации?
  • В чем состоят основные функции и добавочная стоимость, которая является итогом деятельности организации?
  • Какие сценарии развития бизнеса необходимо учитывать, и какова вероятность их реализации?
  • Какие необходимы информационные взаимосвязи и процессы обработки информации?
  • (рис 5.7) Контекст Бизнес-архитектуры

    Усилия по построению бизнес-архитектуры, которая представляется в виде бизнес-моделей, быстро окупают себя и имеют большое количество дополнительных преимуществ [4.11]. Под бизнес-моделями понимается динамический поток событий, связанных с бизнесом, в который вовлечены различные функции бизнеса, организационные единицы и активы предприятия. Возможная отдача от реализации таких моделей достаточно подробно изучалась и описывалась на протяжении последнего столетия. Основная проблема состоит в том, чтобы убедить руководство в этих преимуществах и добиться от него поддержки проведения проекта разработки бизнес-моделей. А преимущества от построения таких моделей лежат в двух плоскостях: дополнительных возможностях для бизнеса и уменьшении затрат. По оценкам, создание бизнес-моделей и связанная с этим оптимизация затрат даже без радикальных изменений бизнеса может дать до 10% экономии. А при моделировании альтернативных вариантов бизнес-процессов организации могут сэкономить до 20% [4.11]. Но не менее важная роль бизнес-моделей состоит в том общем языке, которые они дают представителям бизнеса и ИТ в обсуждении соответствующих возможностей.

    Важную роль в процессе формирования целевой архитектуры предприятия играют модели бизнес-процессов. На самом деле, обеспечение соответствия между ключевыми бизнес-процессами и архитектурой информационных технологий является самой важной составляющей всех усилий по созданию архитектуры. Эти модели также могут быть реализованы различными способами, т.е. являются описательными или исполняемыми, качественными или количественными и т.п. Они могут применяться как на исключительно "бизнес-уровне" для оптимизации соответствующих процессов, так и для облегчения взаимопонимания между бизнес-пользователями и специалистами в области ИТ. Обычно в организации имеется 10-20 основных процессов. Предложенные ниже методики помогают реализовать самый трудный начальный этап описания и документирования этих процессов. Подчеркнем, что бессмысленно разрабатывать детальные модели подпроцессов для всех основных процессов. Важно сосредоточиться на тех из них, которые будут подвергнуты изменениям. Это соответствует принципам "минималистской архитектуры", описанным в лекции 12.

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

    Далее рекомендуется выполнить следующие шаги.

    Шаг 1. Идентификация критически важных для предприятия процессов (обычно не более восьми).

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

  • процессы, которые открывают новые возможности, например, новые каналы предоставления услуг;
  • процессы, которые в настоящее время выполняются плохо и являются источниками неудовлетворенности клиентов;
  • процессы, в которых имеются возможности для экономии.
  • Желательно, чтобы рекомендуемое число таких процессов, не превышало "волшебного числа" 8 в соответствии с известным принципом: "семь плюс-минус два" объекта. При необходимости схожие бизнес-процессы могут быть объединены в группы или классы.

    Шаг 2. Отследить связи между этими процессами и бизнес-стратегиями, движущими силами и критически важными факторами успеха. Это можно сделать с помощью матрицы взаимных связей. Для каждого элемента этой матрицы определяется качественная оценка по принципу "важно" – "неважно" или по некоторой условной шкале. Например, можно использовать так называемую шкалу 9-3-1, в соответствии с которой 9 обозначает сильную взаимосвязь, 3 – промежуточную, 1 – слабую.

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

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

    Шаг 5. Идентифицировать и документировать основные категории информационных объектов (опять же рекомендуется не более восьми).

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

    Основные модели и инструменты описания бизнес-архитектуры

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

    Модели бывают различных типов: модели процессов/потоков работ, функциональные модели, организационные модели, модели данных/ресурсов, временные модели типа диаграмм Ганта, модели причинно-следственных связей. Факт заключается в том, что нет "одной, самой лучшей" модели для описания бизнес-процессов. Можно провести аналогию с графиками, которые используются для иллюстраций. Круговая диаграмма с сегментами, пропорциональными по размеру проценту чего-либо целого, отлично подходит для определенных задач, но ее нельзя использовать для иллюстрации и анализа всех типов данных (например, изменений каких-то данных во времени). Точно также при анализе бизнес-процессов выбранный метод моделирования должен отражать цели анализа. Оптимизация процесса по времени и четкий анализ взаимодействия между участниками процесса могут потребовать разных моделей.

    Для автоматизации моделирования процессов сложился специальный класс программных продуктов. Наиболее известными являются такие продукты, как ARIS, Software Architeсt, BPWin (новое название – AllFusion Process Modeler), хотя в большом количестве случаев стандартных графических пакетов типа Microsoft Visio, текстового редактора и электронной таблицы бывает достаточно. В данном курсе мы не будем останавливаться на сравнительном анализе этих и других средств, и отсылаем читателя к специализированным публикациям.

    Основное внимание при разработке Бизнес-архитектуры должно уделяться "картине в целом". Целью Бизнес-архитектуры не является детальное описание деятельности предприятия. Модели, включенные в Бизнес-архитектуру, должны давать необходимый минимум сведений о ключевых функциях, процессах, бизнес-событиях и потоках информации, достаточный для процесса принятия решений, поиска новых возможностей для инноваций. Дальнейшая детализация выполняется с использованием таких инструментов, как:

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

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

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

    Компоненты анализа бизнес-событий
    Основная область анализа Результаты (артефакты) анализа Основные вопросы
  • Обеспечить понимание ограниченного набора основных бизнес-событий
  • Анализ возможностей по оптимизации бизнес-процессов
  • Повышение эффективности операции, улучшение взаимодействия с клиентами,…
  • Основные инициаторы и участники бизнес-событий
  • Партнеры
  • Идентификация критически важных артефактов, создающихся и используемых в процессе обработки события
  • Проверка возможностей по новациям
  • Новые формы ведения бизнеса
  • Кто является инициатором бизнес-события?
  • Как событие обрабатывается в рамках расширенного предприятия (партнеры и пр.)?
  • Кто является основными участниками события?
  • Возможны ли инновации, которые связаны с событием и требуются бизнесом?
  • Модель местоположений идентифицирует в географическом плане то место, где выполняются функции бизнеса, и обеспечивает логистический взгляд на функции, выполняемые организацией. Одним из очевидных преимуществ использования этой модели является идентификация архитектурных требований, которые предъявляются, в частности, к технологической архитектуре с точки зрения обеспечения информационного взаимодействия между различными местами расположения бизнеса. Однако целью моделирования местоположений является визуализация организационных единиц, определение мест, где выполняются функции и связей между ними.

    Компоненты модели местоположений
    Основная область анализа Результаты (артефакты) анализа Основные вопросы
  • Обеспечить понимание того, где выполняются функции и процессы
  • Понимание требований, накладываемых географическим расположением на решения, касающиеся бизнес- и технологической архитектуры
  • Понимание требований со стороны технологической архитектуры к географическому расположению функций
  • Распределение функций по местоположениям
  • Связи между бизнес-функциями
  • Требования к технологической архитектуре и архитектуре прикладных систем
  • Возможности по организационным изменениям
  • Где выполняются основные функции?
  • Какие функции связаны между собой?
  • Существуют ли возможности по консолидации и рационализации?
  • Модель интеграции отражает высокоуровневые требования к интерфейсам между процессами и бизнес-событиями, требования, предъявляемые к информации новыми шаблонами процессов, и временные требования. Эта модель служит основой для построения архитектуры информации и архитектуры прикладных систем, а также содержит общие требования к архитектуре предприятия с точки зрения бизнес-информации и интеграции.

    Компоненты модели интеграции
    Основная область анализа Результаты (артефакты) анализа Основные вопросы
  • Обеспечить понимание ключевых внутренних и внешних точек интеграции
  • Информационные потоки между участниками бизнес-событий
  • Понимание основных интерфейсов прикладных систем
  • Понимание требований к технологической архитектуре с точки зрения интеграции
  • Потоки информации, которые требуются для реализации различных шаблонов бизнес-процессов
  • Связи между функциями бизнеса
  • Требования к архитектуре информации, приложениям и технологической архитектуре
  • Возможности для организационных изменений
  • Какая информация является критической для новых шаблонов реализации бизнес-процессов?
  • Какие потоки информации существуют между различными точками соединения моделей бизнес-событий?
  • Каковы требования с точки зрения времени?
  • После того как модели созданы, на их основе можно выполнять различные методы анализа:

  • Анализ цепочек создания добавочной стоимости (А нужно ли вообще выполнять этот шаг?)
  • Динамическое моделирование (Как эта модель выполнения бизнес-функций будет себя вести при различных значениях на входе и доступных ресурсах, и как со временем будет меняться поведение процесса?)
  • Анализ пересечений и непокрытых областей (Gap-overlap analysis) (Будет ли наша бизнес-архитектура иметь избыточные элементы, и есть ли в ней "пробелы"?)
  • Соотнесение затрат с активностями (Activity-based costing) (На каких процессах, каналах продаж и заказчиках мы реально зарабатываем или теряем деньги?)
  • Обучение (Как эти бизнес-процессы соотносятся с другими?)
  • Общая стоимость владения (Сколько стоит этот процесс?)
  • Возврат инвестиций (ROI) (Будет ли достигнут возврат инвестиций в данный бизнес-процесс и когда?)
  • Такие модели обычно имеют прямой выход на процесс генерации архитектуры приложений, как это предполагается в подходе разработки архитектуры, управляемой моделями (MDA) (см. лекции 7).

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

    Мы уже отмечали, что показатели эффективности являются важной составляющей бизнес-архитектуры. Например, в методике FEAF Федеральной Архитектуры США имеется отдельная, явно выделенная модель показателей эффективности.

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

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

    В связи с развитием принципов сервис-ориентированной архитектуры (см. лекции 7) и появлением технологически нейтрального, платформенно-независимого языка описания и выполнения бизнес-процессов BPEL (Business Process Execution Language) появилась возможность не только моделировать бизнес-процессы, но и делать их целиком или частично доступными другим системам и организациям в виде сервисов. К этому можно добавить также возможности еще одного стандарта XML Metadata Interchange (XMI) для обмена (экспорта/импорта) данных практически в любые интеграционные продукты. В совокупности это дает возможность создавать модели и репозитории бизнес-процессов для их эффективной интеграции. Более подробную информацию о новых стандартах для моделирования процессов можно найти на сайте www.bpmi.org.

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

    Архитектура информации

    Контекст и основные элементы архитектуры информации

    Сегодня организации должны искать эффективные способы работы с информацией, которая поступает из самых разнообразных источников и должна быть доступна там, где это нужно, и тогда, когда это необходимо. Ситуация осложняется тем, что различные формы информации зачастую требуют специфических технологий и методов работы с ней: 1) структурированная информация (реляционные и объектные модели); 2) развивающиеся, основанные на XML стандарты для полуструктурированной информации; 3) неструктурированная информация в форме текстов, графиков, образов, сопровождаемая определенными описательными данными (метаданными и каталогами).

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

    Архитектура информации описывает, как информационные технологии обеспечивают в организации возможности для быстрого принятия решений, распространения информации внутри организации, а также за ее пределы, например, партнерам по бизнесу. Архитектура информации является как бы "зеркальным отражением" бизнес-архитектуры. Бизнес-архитектура отвечает на вопрос: "С учетом нашего общего видения, целей и стратегий, кто и что будет делать?" Архитектура информации отвечает на вопрос: "Какая информация должна быть предоставлена для того, чтобы эти процессы могли выполняться теми, кто их должен выполнять?" Архитектура информации включает в себя модели, которые описывают процессы обработки информации (information value chain), основные информационные объекты, связанные с бизнес-событиями, информационные потоки, принципы управления информацией. Архитектура должна описывать как те данные, которые требуются для выполнения процессов (операционные), так и аналитические данные и "контент", публикуемый на Web.

    Это действительно обширная задача. Приведем следующую цитату, касающуюся создания архитектуры информации в Citibank [4.14]: "В силу сложности банковских продуктов, услуг и разнообразия условий ведения бизнеса, задача разработки корпоративной модели данных заняла несколько лет. Отсутствие общекорпоративного подхода к управлению данными было слабостью банка в прошлом, но теперь у банка имеется возможность обеспечить единые стандарты обслуживания клиентов". Речь идет, конечно, об одном из крупнейших финансовых институтов мира, и большинство компаний столкнется с гораздо меньшими проблемами, но в любом случае, разработка и реализации архитектуры информации – это длительный итеративный процесс.

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

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

    Потребность в архитектуре информации сейчас велика как никогда. Аналитические компании, такие как META Group и Aberden, считают, что при разработке новых систем до 70% времени тратится на решение задач, связанных с идентификацией источников данных, которые должны использоваться прикладной системой, и на написание программного кода для доступа и трансформации данных [4.15]. Для большинства средних и практически всех крупных предприятий использование нескольких различных СУБД, средств управления и преобразования данных является скорее правилом, чем исключением. Кроме того, в течение последнего десятилетия мы являлись и являемся свидетелями тенденции все более широкого использования готовых прикладных систем (финансового учета, управления кадрами, управления закупками, управления продажами и т.д.), каждая из которых имеет свои модели данных. С учетом наличия и других унаследованных систем тенденция к росту количества источников данных только увеличивается.

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

    На рисунке 5.8 приводится пример упрощенной схемы перемещения данных в процессе работы над ними на некотором гипотетическом предприятии.

    (рис 5.8) Пример потоков данных на предприятии

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

    В ходе разработки архитектуры информации решаются, в соответствии с [4.16], следующие задачи:

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

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

  • получение данных из внутренних и внешних источников;
  • классификация данных по типам;
  • хранение и извлечение данных;
  • редактирование (или обновление) данных;
  • контроль качества (удаление или исправление некорректных данных);
  • презентация (трансформирование данных для определенной аудитории потребителей);
  • распространение информации для различных групп потребителей;
  • оценка (полезности, а также соотношения цены/качества данных);
  • обеспечение безопасности информации (например, аутентификация данных от различных источников, назначение адекватного уровня доступа; определение требований по аудиту; обеспечение механизмов резервного хранения и восстановления).
  • Рисунок 5.9 показывает общую картину архитектуры информации, взятую из документов описания архитектуры правительства штата Северная Каролина, США [4.17].

    (рис 5.9) Общая архитектура информации (данных)

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

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

    Для понимания архитектуры информации и того, как данные хранятся и обновляются, важно отличать типы прикладных систем, которые обеспечивают доступ к данным. Два наиболее важных типа таких систем – это системы онлайновой обработки транзакций (OLTP – Online Transaction Processing) и системы он-лайновой аналитической обработки (OLAP – Online Analitical Processing). Третий тип – системы управления неструктурированными данными (контентом).

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

    OLAP-системы используются для анализа, планирования и управления получением отчетов путем обеспечения интерактивного доступа к широкому спектру информации. В OLAP-системах обычно обрабатываются агрегированные данные для получения ответа на такие вопросы: "Сколько было потрачено на покупку офисной техники в прошлом году?", "Каков был объем продаж изделия X в городе N в первом квартале?" Данные для OLAP-систем, как правило, извлекаются из транзакционных OLTP-систем и помещаются или реплицируются в специальные базы данных – хранилища или витрины данных. Витрины данных являются специализированными хранилищами, которые ориентированы на предоставление информации, требующейся для бизнес-анализа на предприятии.

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

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

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

    Рекомендуемыми первыми шагами на пути создания архитектуры информации являются следующие шаги [4.18]:

  • создание словаря данных и репозитория метаданных;
  • выбор системы записи информации о каждом элементе данных.
  • Эти шаги впоследствии будут способствовать созданию оперативного хранилища данных (ODS – Operational Data Store), которое обеспечивает стандартные процессы извлечения, трансформации и загрузки данных (ETL – Extract, Transform, Load), а также очистки данных и создания метаданных. Оперативное хранилище является краеугольным камнем для повторного, многократного использования данных, а в последующем – для создания хранилищ и витрин данных.

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

    Основные модели и инструменты описания архитектуры информации

    Результатами процесса разработки архитектуры информации являются:

  • документированное описание существующих источников данных;
  • модели данных. Специалисты Gartner не рекомендуют, однако, тратить избыточные усилия на создание единой, полной и детальной модели в рамках всего предприятия, так как затраты на ее разработку и последующее поддержание могут быть неадекватны получаемым выгодам. Основное внимание стоит уделять выявлению семантической разницы в описаниях данных, поступающих из различных источников, и созданию относительно стабильных так называемых "канонических" представлений данных, описывающих их использование бизнес-пользователями;
  • описание существующих и планируемых информационных потоков, соответствующих интерфейсов, алгоритмов преобразования или консолидации данных, а также необходимые соглашения по уровню сервиса, связанного с передачей данных;
  • описание решений по организации хранения данных – от общих каталогов до витрин и хранилищ данных;
  • используемые технологии и средства для преобразования и управления данными.
  • Целью разработки моделей информации и моделей данных является создание графических представлений потребностей организации и отдельных бизнес-процессов в информации. Это становится основой для реорганизации бизнес-процессов и конструирования новых прикладных систем, описания взаимодействий и информационного обмена, который происходит между организацией и клиентами, партнерами.

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

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

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

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

  • Сущностями являются такие объекты, как "клиент", "гражданин", "заказ", "место", "вещь или объект" и т.д. Совокупность сущностей одного типа становится таблицей в базе данных, а строка этой таблицы – это одна реализация некоторой сущности.
  • Атрибут является характеристикой, которая обеспечивает более детальную информацию о сущности (объекте), например, "фамилия", "имя", "пол" и т.д. Атрибут становится колонкой в таблице базы данных. Ключевой атрибут, или первичный ключ, является уникальным идентификатором сущности. Примером является серийный номер.
  • Отношения показывают, как одна сущность соотносится с другой. При описании связи представлены глаголами, поскольку означают действие. Примером может быть высказывание "гражданин владеет недвижимостью": сущность "гражданин" "владеет" некоторой другой сущностью "недвижимость". Когда между сущностями установлены связи, то одна сущность является "родителем", а другая "потомком".
  • Количество вхождений показывает, какое количество сущностей может состоять в отношениях с другой сущностью. Например, гражданин может владеть несколькими объектами недвижимости.
  • Одним из способов моделирования данных на логическом уровне является построение моделей "Сущности-Отношения" (ERMEntity-Relationship Model).

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

    Сравнительные характеристики этих уровней (с использованием идеи систематизации из [4.19] приведены в таблице 5.6.

    Модель/уровень Концептуальная Модель данных Реализация данных
    Точка зрения Бизнес-взгляд на ИТ ИТ-взгляд на бизнес ИТ-взгляд на ИТ
    Фаза Планирование Анализ Реализация
    Рассматриваемые связи Связи данных с бизнес-функциями, интерфейсами, технологиями Связи данных с другими данными Связи данных с системами хранения
    Фокус Сбор, обработка и использование данных Структура данных Объемы и степень использования данных
    Это, скорее… Искусство? Наука? Религия? (cледование рекомендациям вендоров)

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

    Еще одним важным понятием, относящимся к архитектуре информации, которое является особенно серьезным для крупных организаций или органов государственной власти с их большим количеством достаточно независимых систем и организационных структур (на национальном, региональном или муниципальном уровнях), является управление федеративными данными и метаданными (federated data management) [4.17]. Под управлением федеративными данными понимается архитектура, которая обеспечивает управление и доступ к данным и метаданным независимо от их внутренней логической структуры и физических границ их расположения, в целях организации взаимодействия систем и различных подразделений внутри организации и с внешними организациями.

    Рисунок 5.10 показывает общее видение принципов управления федеративными данными, который, в частности, положен в основу справочной модели архитектуры данных методики Федеральной архитектуры США FEAF [4.15].

    (рис 5.10) Видение принципов управления федеративными данными

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

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

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

    Рисунок 5.11 иллюстрирует принципы интеграции информации на основе управления федеративными данными.

    (рис 5.11) Принципы интеграции через управление федеративными данными

    В нижней части рисунка мы имеем набор различных физических систем управления данными. Уровень выше представляет набор моделей этих систем, независимых от платформы реализации. Уровень запросов выполняет трансформацию и устанавливает соответствие для создания виртуальных моделей объектов, чьи физические аналоги могут и не существовать в физических системах. Эти виртуальные модели для различных пользователей могут представляться по-разному – например, базами данных, бизнес-объектами, представлениями (выборки из базы), моделями данных предприятия, документами, сервисами или компонентами в зависимости от потребностей. Важно то, что определения этих объектов создаются с помощью моделей. В связи с этим серьезную роль может играть стандарт Meta Object Facuility (MOF), который и помогает определять все необходимые модели для метаданных.

    Частью процесса описания архитектуры является сбор информации, которая определяет объекты в виде "как есть", определение целевого состояния, а также плана перехода из текущего состояния в целевое. Это верно и для Архитектуры информации, и для моделей информации. Как правило, текущее состояние архитектуры информации описывается с использованием логических и физических моделей данных, многие из которых могут отсутствовать в репозитории метаданных предприятия. Эти модели обычно являются платформенно-зависимыми. Целевое состояние, как правило, описывается в форме платформенно-независимых семантических или виртуальных моделей. Для перехода от текущего состояния в желаемое будущее потребуется установление отображения (mapping) и трансформации между платформенно-зависимыми моделями и виртуальными моделями. Со временем, когда понадобится создание новой прикладной системы, может потребоваться отображение виртуальной модели на новую, специфическую для выбранной платформы реализации модель.

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

    Вернуться к учебному плану