Архитектура АИС
Термин «архитектура» применительно к вычислительным системам появился задолго до создания первых АИС, тем не менее он является одним из основополагающих и в сфере информационных технологий. Существуют различные подходы к определению архитектуры АИС, различные точки зрения и различная степень детализации рассмотрения; приведем некоторые из них.
Архитектура — это организационная структура автоматизированной системы. Известно и другое определение: архитектура — это концептуальное описание структуры системы, включающее описание элементов системы, их взаимодействия и внешних свойств. Выделяют два уровня архитектуры АИС:
бизнес-архитектуру (бизнес-уровень);
уровень информационных технологий (технический уровень).
Бизнес-архитектура обычно первична по отношению к техническому уровню; может существовать и реализуема вне зависимости от существования АИС. Бизнес-архитектура является предметной областью для анализа и проведения автоматизации. На бизнес-уровне определяется набор задач, требований, характеристик, осуществляемых с помощью АИС. Соответствие указанному уровню технического уровня является основой эффективности функционирования АИС.
С другой стороны, новые возможности, предоставляемые использованием информационных технологий, стимулируют развитие и корректировку бизнес-архитектуры, в связи с чем она является неотъемлемой частью архитектуры АИС и всего предприятия.
Уровень информационных технологий или технический уровень представляет собой интегрированный комплекс технических средств, используемых в АИС для реализации задач предприятия, и включает в себя как логические, так и технические (программные и аппаратные) компоненты. Компонентами этого уровня, в свою очередь, являются следующие подуровни:
архитектура программных систем;
информационная архитектура;
технологическая (инфраструктурная) архитектура.
Информационная архитектура представляет собой логическую организацию данных, с которыми работает АИС, т. е. практически структуры баз данных и баз знаний, а также принципы их взаимодействия.
Под архитектурой программных систем понимают совокупность следующих технических решений:
общий архитектурный стиль и общую организацию программной части АИС;
деление программного комплекса на функциональные подсистемы и модули;
свойства модулей, методы их взаимодействия и объединения, используемые интерфейсы.
Архитектура программной системы охватывает не только структурные и поведенческие аспекты, но и правила ее использования и интеграции с другими системами, функциональность, производительность, гибкость, надежность, эргономичность, технологические ограничения.
Технологическая архитектура описывает инфраструктуру, используемую для передачи данных. На этом уровне решаются вопросы сетевой структуры, применяемых каналов связи и т. д.
По мере развития программных систем все большее значение приобретает их комплексная интеграция для построения единого информационного пространства предприятия. Обеспечение такой интеграции является важнейшим элементом архитектуры, в противном случае АИС окажется неэффективной.
В современных стандартах четко определены процессы создания архитектуры, способной к удовлетворению не только сформулированных, но и потенциальных потребностей пользователей. К числу самых известных и авторитетных разработчиков стандартов в области АИС относятся следующие международные организации:
SEI (Software Engineering Institute);
WWW (консорциум' World Wide Web);
OMG (Object Management Group);
организация разработчиков Java — JCP (Java Community Process);
IEEE (Institute of Electrical and Electronics Engineers) и т. д.
Архитектура программного обеспечения (англ. software architecture) — это структура программы или вычислительной системы, которая включает программные компоненты, видимые снаружи свойства этих компонентов, а также отношения между ними. Этот термин также относится к документированию архитектуры программного обеспечения. Документирование архитектуры ПО упрощает процесс коммуникации между заинтересованными лицами (англ. stakeholders), позволяет зафиксировать принятые на ранних этапах проектирования решения о высокоуровневом дизайне системы и позволяет использовать компоненты этого дизайна и шаблоны повторно в других проектах.