Взаимодействия на уровне системного ракурса (System view)
В ходе разработки артефактов взаимодействия системного ракурса (System view) продолжается трансформация некоторых компонентов модели взаимодействия бизнес-ракурса (Business view). Базис архитектуры взаимодействия в рамках системного ракурса (System view) образуют три ключевых артефакта, а именно:
• диаграммы последовательностей
• контракты системного ракурса
• компоненты.
Как и для взаимодействий в рамках бизнес-ракурса (Business view), здесь каждый артефакт из приведенного выше списка обеспечивает разработку следующего артефакта. Технологически нейтральные компоненты, определенные в рамках системного ракурса, становятся главными вводными для ракурса внедрения (Implementation view), где к ним добавляются характеристики конкретных технологий.
Диаграммы последовательностей, определенные в рамках бизнес-ракурса (Business view), могут подвергаться дальнейшей декомпозиции в зависимости от уровня декомпозиции соответствующего сценария использования. Например, сценарий использования (процесс) Подготовки детальной спецификации для новых продуктов (Develop Detailed Product Specifications) может дробиться далее. Декомпозиция может быть, например, такой:
• разработка предложения на продуктовый пакет
• разработка цен для предложения по продуктам
• определение принципов ценообразования для предложения по продуктам.
Каждый из этих сценариев использования может иметь сопутствующую диаграмму последовательностей и сопутствующий контракт системного ракурса (System view). Диаграммы последовательностей системного ракурса структурированы подобно диаграммам последовательностей бизнес - ракурса (Business view). Контракты системного ракурса (System view) описывают архитектурные требования, необходимые для разработки контракта, который определяется в рамках бизнес-ракурса (Business view). Это делается техническим, хотя и технологически нейтральным способом, обеспечивающим коммуникации и его понимание сотрудниками из чиста технического персонала.
Одна ключевая особенность технологически нейтральной архитектуры NGOSS состоит в том, что она имеет компонентную структуру. Компонент — это независимо поставляемый набор программных сервисов, выраженных через контракты системного ракурса (System view). Например, компонент Предложение по продукту (Product Offering) обеспечивает такие услуги, как составление предложения по продуктовому пакету и определение цен для предложений по продуктам. Каждый компонент обособлен, и его интерфейсы управляют доступом к бизнес-правилам, данным и операциям.
В состав полностью описанного компонента входят:
• спецификация
• интерфейс
• реализация (как часть ракурса внедрения [Implementation view])
• исполняемые модули (как часть ракурса развертывания [Deployment view]).
Спецификация компонента описывает данные и вычисления, осуществляемые внутри компонента, а также правила и ограничения, которые управляют поведением компонента. Спецификация включает в себя содержимое бизнес-ракурса (Business view) и системного ракурса (System view), необходимое для разработки компонента. Например, спецификация не содержит сценариев использования и диаграмм последовательностей, но содержит детальные описания этапов, определяемых сценариями использования и диаграммами последовательностей. Эти этапы, называемые операциями (operations), представляют функциональные возможности, реализованные в приложении.
Интерфейс компонента описывает, как пользователь компонента взаимодействует с ним. Например, для проведения кредитного скоринга пользователю мобильного телефона необходимо указать номер водительских прав и идентификационный номер, определяющий гражданство.
Реализация описывает, как приложение будет использовать спецификацию компонента. Например, на основе какого алгоритма будет проводиться кредитный скоринг клиента?
Внедрение (развертывание) компонента как набора контрактов, которые он реализует, соотносится с физическими аспектами, такими как язык, используемый для управления базой данных, и физическая платформа, на которой реализуется данный компонент.
Описанные здесь характеристики компонентов расширяют возможности адаптации слоя приложений для предприятия за счет того, что:
• каждый компонент может быть разработан и протестирован независимо от других компонентов;
• обеспечивается возможность получения компонентов из внутренних и внешних источников;
• обеспечиваются стандарты для интерфейсов, которые позволяют легко совмещать (подключать) компоненты;
• исчезает необходимость начинать разработку приложений с нуля.