«Не довольствуйся поверхностным взглядом. От тебя не должны ускользнуть ни своеобразие каждой вещи, ни ее достоинство.»
 
Консалтинговая компания Марк Аврелий


Рассуждения Захмана об Архитектуре

Рассуждения Захмана об Архитектуре в переводе В.Рагозин и В.Рудь: Д.Захман: Фреймворк для архитектуры информационнм систем (впервые опубликована в IBM Systems Journal) 

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

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

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

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

Основываясь на предположении, что понимание архитектуры информационных систем важно для разработки дисциплинированного подхода, естественным образом возникает вопрос: “Что такое архитектура информационных систем в действительности”? К сожалению, среди сторонников архитектуры информационных систем нет полного согласия в вопросах концепций и в конкретизации понятия “архитектура”, в той мере, что слова “архитектура информационных систем” уже теряют свое значение.

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


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

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

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

Первое, существуют 3 фундаментальных представления архитектуры, по одному для каждого “игрока”. Это представления для владельца, проектировщика и конструктора. Владелец в голове имеет представление о продукте, который будет служить определенным целям. Архитектор транслирует это понимание продукта в представление владельца. Далее архитектор транслирует это представление в физический продукт, то есть, представление проектировщика. Затем конструктор учитывает ограничения, как связанные с законами природы, так и технологические, чтобы сделать продукт производимым, это представление конструктора.

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

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

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

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

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

Оригинал статьи: Zachman, J.: A Framework for Information Systems Architecture. IBM Systems Journal 26, 276-292