Архитектура предприятия: основные определения
Мы уже отмечали, что многие организации испытывают постоянные трудности и находятся в постоянном поиске синхронизации целей и задач бизнеса и процессов развития своих информационных систем.
Существует как бы "облако неопределенности" между определением организацией и обеспечивающей ее ИТ-инфраструктурой своих целей и задач [3.3].
Процесс транслирования этих целей в конкретные ИТ-системы часто носит очень неразвитый характер и ограничивается ежегодным бюджетным процессом, участие в котором представителей бизнеса и ИТ является основным способом общения и взаимодействия.
Рис. 3.1. "Облако неопределенности" между целями организации и информационными технологиями
Архитектура информационных технологий и архитектура предприятия в целом как раз и является основным механизмом интерпретации и реализации целей организации через адекватные ИТ-инфраструктуру и системы.
Это достигается через создание определенного количества взаимосвязанных архитектурных представлений.
Имеется множество методик описания архитектуры, и все они разбивают архитектуру предприятия на различное количество моделей и определений, которые относятся к таким областям, как бизнес, информация, прикладные системы, технологическая инфраструктура.
Бизнес-модели описывают стратегию организации, структуры управления, требования, ограничения и правила, а также основные бизнес-процессы, включая взаимосвязи и зависимости между ними.
Т.е. бизнес-архитектура описывает на уровне предприятия в целом то, как реализуются основные функции организации, включая организационные и функциональные структуры, роли и ответственности.
Архитектура информации определяет ключевые активы, связанные со структурированной и неструктурированной информацией, требующейся для бизнеса, включая расположение, время, типы файлов и баз данных и других информационных хранилищ.
Архитектура прикладных систем описывает те системы, которые и обеспечивают необходимый функционал для реализации логики бизнес-процессов организации.
С точки зрения технологической архитектуры, важные модели включают описание ИТ- сервисов, которые требуются для реализации перечисленных выше трех других областей архитектуры.
Причем логические модели ИТ-сервисов построены в абстрактной, технологически независимой форме и оставляют свободу для оптимального выбора конкретных технологий.
Но, в конце концов, архитектура предприятия завершается физическими моделями, которые определяются технологиями, аппаратными и программными платформами, выбранными для реализации ИТ-сервисов.
Термин "ИТ-архитектура" может означать множество близких по смыслу, но, тем не менее, различающихся понятий.
Для различных людей смысл одного итого же термина может быть разным.
Каждый из нас, на самом деле, может достаточно быстро сформулировать интуитивное определение, которое после анализа окажется вполне применимым.
Известных формальных определений архитектуры существует несколько сотен. Для этого достаточно зайти на сайт Института Проектирования Программного Обеспечения Карнеги-Меллона (SEI – Carnegie Mellon Software Engeneering Institute) www.sei.cmu.edu/technology/architecture.
Одно из самых простых (словарь Уэбстера) заключается в том, что ИТ-архитектура – это "способ, который используется для организации и интеграции компонент компьютерной системы".
Более изощренное определение [3.4] в хорошо знакомом программистам стиле заключается в том, что "Архитектура системы состоит из нескольких компонент, внешних свойств и интерфейсов, связей и накладываемых ограничений, а также архитектуры этих внутренних компонент".
Такое рекурсивное определение удобно тем, что является достаточно общим, применимым практически к любой системе, а не обязательно только к системе, использующей информационные технологии, и при этом позволяет ограничить степень детализации на нужном уровне.
Отметим, что упоминание внутренних компонент специально перенесено в конец определения – для отражения того факта, что "хорошая" архитектура позволяет обеспечить повторное использование или модернизацию/замену таких внутренних компонент без изменения внешней охватывающей системы.
Итеративное, иерархическое построение архитектуры позволяет решить и еще одну важную задачу – облегчить ее восприятие человеком.
Рис. 3.2. Элементы архитектуры предприятия
Хорошо известно, что оптимальным в этом смысле числом элементов на отдельном уровне любой схемы абстракции или в каком-либо списке является всего 7 плюс или минус 2 объекта.
Именно поэтому, как мы увидим ниже, большинство подходов к описанию архитектуры включает в себя ее разбиение на предметные области (или представления), общее количество которых как раз и находится в этом диапазоне. Примерами таких предметных областей являются архитектура прикладных систем, архитектура данных, технологическая архитектура и т.д.
Старый, как мир, принцип "разделяй и властвуй" как нельзя лучше подходит для того, чтобы справляться с объективной сложностью корпоративных информационных систем.
При этом такое разбиение позволяет рабочим группам, специализирующимся на различных предметных областях, работать параллельно, что делает проблему осознаваемой с интеллектуальной точки зрения.
Прежде чем давать, наконец, полное определение архитектуры ИТ, сделаем еще одно предварительное замечание.
В соответствии с тезисом, сформулированным Giga Group [3.5] "в индустрии ИТ нет одного, единственно правильного стандарта на определение архитектуры ИТ, поэтому общие соглашения внутри организации важнее теоретической точности".
Итак, важна не столько академическая точность определения того, что такое архитектура ИТ, сколько реальный процесс использования архитектурных принципов.
Важно, чтобы принятое организацией определение архитектуры ИТ было достаточно полным и целостным, а также то, что структура принятого понятия "Архитектуры ИТ" облегчает ее определение и управление процессами развития ИТ в соответствии с этой архитектурой.
Для того чтобы "не изобретать велосипед", мы воспользуемся большим количеством рекомендаций, материалами аналитических компаний, таких как Gartner и Giga Group, теоретических и практических наработок в области архитектуры ИТ таких организаций, как Совет Директоров по Информационным Технологиям госорганизаций США (CIO Council) и ряда других.
Их определения архитектуры ИТ имеют больше общего, чем отличий, и мы постараемся дать некий интегральный анализ того, что понимается под архитектурой ИТ.
"Архитектурный взгляд" на системы (как ИТ-системы, так и бизнес-системы) определен в стандарте ANSI/IEEE 1471-2000 как "фундаментальная организация системы, состоящая из совокупности компонент, их связей между собой и внешней средой, и принципы, которыми руководствуются при их создании и развитии".
В самом общем виде, в соответствии с определениями Gartner [3.6], [3.7], архитектура – это: общий план или концепция, используемая для создания системы, такой как здание или информационная система, или "абстрактное описание системы, ее структуры, компонентов и их взаимосвязей"; семейство руководящих принципов, концепций, правил, шаблонов, интерфейсов и стандартов, используемых при построении совокупности информационных технологий предприятия.
Обратите внимание, что первое определение сфокусировано на описании существующих и будущих систем, второе – на процессе их построения.
Еще несколько определений: "
Архитектура – это инвестиция в стандарты процессов, технологий и интерфейсов в целях улучшения возможностей организаций и уменьшения стоимости разработки и сопровождения информационных систем.
Преимущества инвестиций в архитектуру распространяются на несколько проектов сразу, но не все эти проекты могут быть известны в момент разработки архитектуры";
"Корпоративная архитектура ИТ – это видение, принципы и стандарты, которыми организации руководствуются при разработке и внедрении технологий" (Giga Group) [3.8];
Архитектура ИТ и принципы ее построения, с одной стороны, зависят от общих стратегических планов, бизнес-потребностей организации, общего видения роли ИТ в деятельности организации, а с другой стороны, определяют многие аспекты, такие как принятая практика по планированию капитальных затрат, обеспечение жизненного цикла систем и т.д. [3.9].