Архитектура на основе компонентов (SCA) состоит из ряда спецификаций, описывающих модель компоновки приложений и систем в концепции архитектуры на основе служб (SOA).
Архитектура на основе служб (SOA) - это инфраструктура, объединяющая отдельные бизнес-функции и процессы, называемые службами, в комплексные бизнес-приложения. В инфраструктуре SOA обобщенные бизнес-компоненты представлены службами. SOA позволяет структурировать ресурсы ИТ в виде повторно используемых служб, которые нежестко связаны между собой и не зависят от платформы и реализации. В SOA решения представляются в виде комплекса служб, которые связаны между собой посредством четко определенных интерфейсов и контрактов.
В SCA код бизнес-приложения может быть организован для SOA в виде компонентов, реализующих бизнес-логику. Эти компоненты экспортируют свои функции посредством интерфейсов служб и могут вызывать функции других компонентов тоже посредством интерфейсов служб, называемых ссылками на службы.
Спецификация SCA определяет правила моделирования интерфейса службы. Интерфейс службы - это граница между двумя частями приложения SOA. Интерфейс службы указывает, что именно реализует провайдер службы (SOA-SP) и что может вызывать координатор (SOA-SC). Интерфейс службы SCA - это настоящий интерфейс, который реализован в виде документа WSDL или интерфейса Java.
Реализация провайдера службы в SCA называется компонентом службы. Реализация компонента службы может быть одним из следующих объектов:
Реализация службы и клиенты службы
Реализация службы - это конкретная реализация бизнес-логики для предоставления и/или потребления служб. Реализация может быть написана, например, на языке Java или C++. Реализация является подчиненной по отношению к бизнес-процессу. Реализация может предоставлять службу в виде набора операций интерфейса, используемого другими компонентами.
Реализация службы может также использовать другие службы, называемые ссылками на службы и указывающими на зависимость реализации от сторонних служб. Реализация может иметь одно или несколько настраиваемых свойств. Свойство - это значение данных, которое может задаваться внешним способом и влиять на функцию реализации.
Обычно службы SCA используют данные для параметров и возвращаемых значений, оформленные в виде документов, и эти параметры рекомендуется представлять в виде объектов данных службы (SDO). Дополнительная информация приведена в разделе Ресурсы. Службы, ссылки и свойства - это настраиваемые аспекты реализации. В SCA их совокупность называется типом компонента.
Ссылка настраивается посредством связывания ссылки с целевой службой, которая будет вызвана при обращении реализации к ссылке. При настройке свойства также указывается значение данных для этого свойства. В инфраструктуре SCA одна реализация может использоваться для компоновки нескольких компонентов, отличающихся настройкой ссылок и свойств. Компоненты и их службы используются другими локальными компонентами или удаленно.
Компоновка модуля
Модуль SCA - это совокупность жестко связанных компонентов, разрабатываемых и развертываемых совместно в системе SCA. Он является основной единицей для построения нежестко связанных решений в системе SCA. Модуль SCA содержит ряд компонентов, внешних служб, точек входа и проводников, связывающих их между собой. Модули предоставляют реализации служб в системе SCA.
Точки входа определяют открытые службы, предоставляемые модулем. Они могут использоваться другими компонентами внутри этого же модуля или быть доступны внешним объектам. Они применяются для публикации служб, предоставляемых модулем, с применением связывания.
Внешние службы внутри модуля представляют удаленные службы, предоставляемые другими модулями. Они являются внешними по отношению к модулю SCA, который использует эту службу. К внешним службам могут обращаться компоненты внутри модуля, как к любой службе, предоставляемой компонентом SCA. Внешние службы используют связывание для описания доступа к внешним службам.
Компоновка проекта SCA
Проект SCA разрабатывается в рамках системы WebSphere Integration Developer. Дополнительная информация приведена в Information Center WebSphere Integration Developer по адресу http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp.