В информационных системах архитектура приложений или архитектура приложений является одним из нескольких доменов архитектуры , которые формируют столпы архитектуры предприятия (EA). [1] [2]
Архитектура приложений описывает поведение приложений, используемых в бизнесе, с упором на то, как они взаимодействуют друг с другом и с пользователями. Она сосредоточена на данных, потребляемых и производимых приложениями, а не на их внутренней структуре.
Например, при управлении портфелем приложений приложения сопоставляются с бизнес-функциями и процессами , а также с затратами, функциональным качеством и техническим качеством с целью оценки предоставленной ценности .
Архитектура приложений определяется на основе бизнес- требований и функциональных требований . Это включает определение взаимодействия между пакетами приложений , базами данных и системами промежуточного программного обеспечения с точки зрения функционального покрытия. Это помогает выявить любые проблемы интеграции или пробелы в функциональном покрытии.
Затем можно составить план миграции для систем, находящихся на завершающей стадии жизненного цикла программного обеспечения или имеющих присущие им технологические риски , которые могут привести к нарушению бизнеса в результате технологического сбоя.
Архитектура приложений стремится обеспечить масштабируемость , надежность , доступность и управляемость набора приложений, используемых организацией для создания составной архитектуры .
Архитектура приложений определяет, как несколько приложений готовы работать вместе. Она отличается от архитектуры программного обеспечения , которая занимается техническими проектами того, как построена система. [ необходима цитата ]
Необходимо не только понимать и управлять динамикой функций, реализуемых композитной архитектурой, но и помогать формулировать стратегию развертывания и следить за технологическими рисками, которые могут поставить под угрозу рост и/или деятельность организации. [ необходима цитата ]
Стратегия архитектуры приложений подразумевает обеспечение соответствия приложений и интеграции стратегии роста организации.
Если организация является производственной и планирует быстрый рост за счет приобретений, архитектура приложений должна быть достаточно гибкой, чтобы охватывать как унаследованные устаревшие системы , так и другие крупные конкурирующие системы.
Приложения можно классифицировать по различным типам в зависимости от шаблона архитектуры приложений, которому они следуют.
«Шаблон» определяется как:
«идея, которая оказалась полезной в одном практическом контексте и, вероятно, будет полезна в других».
Для создания шаблонов нужны строительные блоки. Строительные блоки — это компоненты программного обеспечения , в основном многократно используемые, которые можно использовать для создания определенных функций. Шаблоны — это способ помещения строительных блоков в контекст и описания того, как использовать строительные блоки для решения одной или нескольких архитектурных задач.
Приложение представляет собой компиляцию различных функций, все из которых обычно следуют одному шаблону. Этот шаблон определяет шаблон приложения.
Шаблоны приложений могут описывать структурные (связанные с развертыванием/распределением) или поведенческие (связанные с потоком процессов или взаимодействием/интеграцией) характеристики, а архитектура приложения может использовать один или несколько шаблонов.
Идея шаблонов существует практически с самого начала компьютерной науки , но наибольшую известность она получила благодаря « Банде четырех » (GoF), хотя многие из их шаблонов являются шаблонами «программной архитектуры», а не шаблонами «архитектуры приложений».
Помимо GoF, Томас Эрл является известным автором различных типов шаблонов, а большинство крупных поставщиков программных инструментов, таких как Microsoft , опубликовали обширные библиотеки шаблонов.
Несмотря на обилие опубликованных шаблонов, существует относительно немного шаблонов, которые можно считать «отраслевым стандартом». Вот некоторые из наиболее известных из них:
Правильная схема применения зависит от отрасли организации и использования компонентов приложений.
Организация может иметь сочетание нескольких моделей, если она росла как органически, так и за счет приобретений.
TOGAF описывает как навыки, так и ролевые ожидания архитектора приложений . Эти навыки включают понимание модуляризации/распределения приложений, интеграции, высокой доступности и шаблонов масштабируемости, технологий и тенденций. Все чаще понимание контейнеров приложений, бессерверных вычислений, хранения, данных и аналитики, а также других облачных технологий и сервисов становится необходимым навыком архитектора приложений. Хотя опыт работы с программным обеспечением является отличной основой для архитектора приложений, программирование и проектирование программного обеспечения не являются навыками, требуемыми архитектором приложений (на самом деле это навыки для архитектора программного обеспечения, который является лидером в команде компьютерного программирования ).
Архитектор приложений — мастер всего, что касается приложений в организации. Архитектор приложений предоставляет стратегические рекомендации группам поддержки приложений, понимая все приложения со следующих точек зрения:
Приведенный выше анализ выявит приложения, которым требуется ряд изменений — от изменения стратегии развертывания для фрагментированных приложений до полной замены приложений, находящихся в конце жизненного цикла их технологий или функциональности.
Понять системный поток процессов основных бизнес-процессов. Это дает ясную картину карты функциональности и следа приложений различных приложений по всей карте.
Во многих организациях отсутствует дисциплина документирования, и, следовательно, отсутствуют подробные потоки бизнес-процессов и системных процессов. Возможно, сначала придется начать инициативу по их внедрению.
У каждой организации есть основной набор приложений, которые используются в нескольких подразделениях либо как один экземпляр, либо как отдельный экземпляр для каждого подразделения. Создайте шаблон архитектуры решения для всех основных приложений, чтобы все проекты имели общую отправную точку для проектирования реализаций.
Стандарты в мире архитектуры определены в TOGAF, Open Group Architecture Framework описывает четыре компонента EA как BDAT ( бизнес-архитектура , архитектура данных , архитектура приложений и техническая архитектура) .
Существуют и другие стандарты, которые следует учитывать в зависимости от уровня сложности организации: