Архитектура сервисных компонентов ( SCA ) - это программная технология, разработанная для предоставления модели для приложений, которые следуют принципам сервис-ориентированной архитектуры . [1] Технология, созданная основными поставщиками программного обеспечения, включая IBM , Oracle Corporation и TIBCO Software , охватывает широкий спектр технологий и, как таковая, указана в независимых спецификациях для обеспечения нейтральности языка программирования и среды приложений. [1] Часто используется служебная шина предприятия (ESB).
История [ править ]
Первыми партнерами, объявленными 30 ноября 2005 г., были: BEA Systems , IBM , IONA Technologies , Oracle Corporation , SAP AG , Sybase , Xcalia и Zend Technologies . [2] 26 июля 2006 г. были объявлены дополнительные члены: Cape Clear , Interface21 , Primeton Technologies , Progress Software , Red Hat , Rogue Wave Software , Software AG , Sun Microsystems и TIBCO Software . [3] Siemens AG присоединился к коллаборации компаний, работающих над технологией 18 сентября 2006 года.
Помимо партнеров, у сообщества SCA было несколько официальных сторонников. [4]
Определение [ править ]
21 марта 2007 года OSOA Collaboration выпустила первую версию спецификации. [5] В спецификациях сказано, что приложение, разработанное с использованием SCA, должно иметь:
- Отделение бизнес-логики приложения от деталей вызываемых им сервисных вызовов
- Целевые сервисы на множестве языков, включая C ++ , Java , COBOL и PHP, а также XML , BPEL и XSLT.
- Возможность работы с различными коммуникационными конструкциями, включая одностороннюю, асинхронную, обратный вызов и уведомление.
- Возможность "привязки" к унаследованным компонентам или службам, к которым обычно получают доступ такие технологии, как веб-службы , EJB , JMS , JCA , RMI , RPC , CORBA и другие.
- Возможность декларировать (вне бизнес-логики) требования к качеству обслуживания , такие как безопасность, транзакции и использование надежных сообщений.
- Данные могут быть представлены в объектах служебных данных
Поэтому SCA была продвинута, чтобы предложить гибкость для составных приложений , гибко включая повторно используемые компоненты в стиле программирования SOA.
Маркетинговая компания Gartner Group опубликовала краткое описание SCA и включенной в нее технологии объектов служебных данных (SDO) в декабре 2005 года. [2]
Преимущества:
- обслуживает все существующие технологии платформы Java и C ++
- меньше технологической зависимости - не нужно полагаться на язык программирования Java или XML
- Объекты служебных данных - это технологическая спецификация для доступа к данным.
Недостатки:
- Спецификация не касается производительности приложений SOA, что по-прежнему препятствует их принятию.
- Сосредоточение внимания на переносимости (вместо взаимодействия) [6], что делает его уязвимым для повторения ошибок CORBA . [7]
Утверждается, что SCA обеспечивает возможность взаимодействия посредством подхода под названием «Активация». Это метод, который обеспечивает наивысшую степень автономности компонентов по сравнению со старым методом «посредничества» (например, JBI ) или «вызовом», используемым в JCA , как объяснил архитектор из SAP. [8]
Артефакты [ править ]
Модель сборки SCA состоит из серии артефактов, которые определяются элементами, содержащимися в файлах XML. Среда выполнения SCA может иметь другие нестандартные представления артефактов, представленных этими XML-файлами, и может допускать динамическое изменение конфигурации систем. Однако файлы XML определяют переносимое представление артефактов SCA.
Основным артефактом является композит , который является единицей развертывания для SCA и содержит службы, к которым можно получить удаленный доступ. Композиционный содержит один или более компонентов , [9] , которые содержат бизнес - функции , предоставленную модулем. Компоненты предлагают свои функции как службы, которые могут использоваться другими компонентами в том же модуле или которые могут быть доступны для использования вне модуля через точки входа . Компоненты также могут зависеть от услуг, предоставляемых другими компонентами - эти зависимости называются ссылками.. Ссылки могут быть связаны с услугами, предоставляемыми другими компонентами в том же модуле, или ссылки могут быть связаны с услугами, предоставляемыми вне модуля, которые могут предоставляться другими модулями. Ссылки на услуги, предоставляемые вне модуля, включая услуги, предоставляемые другими модулями, определяются внешними службами в модуле. Кроме того, содержащиеся в модуле , являются связи между ссылками и услуг, представленных проводами .
Компонент состоит из сконфигурированной реализации , где реализация - это фрагмент программного кода, реализующий бизнес-функции. Компонент настраивает реализацию с конкретными значениями для настраиваемых свойств, объявленных реализацией. Компонент также может настроить реализацию с привязкой ссылок, объявленных реализацией, к конкретным целевым службам.
Композиты развертываются в системе SCA . Система SCA представляет собой набор сервисов, обеспечивающих область бизнес-функций, которая контролируется одной организацией. Например, для бухгалтерии предприятия система SCA может охватывать все функции, связанные с финансами, и может содержать серию модулей, относящихся к конкретным областям бухгалтерского учета, причем один для счетов клиентов, а другой - для кредиторской задолженности. Чтобы помочь построить и настроить систему SCA, композиты могут использоваться как реализации компонентов, так же как классы Java или процессы BPEL . Другими словами, SCA допускает произвольную глубокую иерархию композитов - такая вложенная модель называется рекурсивной.
Захват и выражение нефункциональных требований, таких как безопасность, является важным аспектом определения сервиса и влияет на SCA на протяжении всего жизненного цикла компонентов и композиций. SCA предоставляет структуру политик для поддержки спецификации ограничений, возможностей и ожидаемого качества обслуживания (QoS), от проектирования компонентов до конкретного развертывания.
Переход в орган по стандартизации [ править ]
После нескольких лет инкубации в рамках неформального отраслевого сотрудничества, ранние (V1.0) реализации спецификации теперь выходят на рынок. Партнеры по сотрудничеству указали, что формальная отраслевая стандартизация будет подходящим следующим шагом, и объявили о своих намерениях в марте 2007 года. Выбранной организацией по разработке стандартов является организация OASIS , и была создана новая открытая секция членов CSA OASIS . [10] Уставы шести новых технических комитетов (ТК) были представлены в OASIS [11]и объявлен призыв к участию для членов Технического комитета внутри организации OASIS. Технические комитеты планировали начать свою работу в сентябре 2007 года. Участие в этих TC OASIS SCA остается открытым для всех компаний, некоммерческих групп, правительств, академических институтов и отдельных лиц. Архивы работ будут доступны как для членов, так и для нечленов, и OASIS предложит механизм общественного обсуждения. [12]
См. Также [ править ]
- Apache ServiceMix
- Модель и обозначение бизнес-процессов (BPMN)
- Докер (программное обеспечение)
- Интеграция корпоративных приложений (EAI)
- Мул (программное обеспечение)
- Откройте ESB
- Реактивное программирование
- Семантическая сервис-ориентированная архитектура (SSOA)
- Сервисно-ориентированное моделирование
- Фонд связи Windows (WCF)
Ссылки [ править ]
- ^ а б Эдвардс, Майк. «Архитектура сервисных компонентов» . ОАЗИС . Проверено 7 апреля 2011 года . CS1 maint: обескураженный параметр ( ссылка )
- ^ Б Даниел Шоллер, Дэвид Митчелл Смит (5 декабря 2005). «Новая спецификация SOA заполнит нишу среди пользователей Java» (PDF) . Gartner Group . Проверено 29 апреля 2017 года . CS1 maint: использует параметр авторов ( ссылка )
- ^ Поставщики технологий Srinivas расширяют сотрудничество по технологиям SOA http://www.hoise.com/primeur/06/articles/monthly/AE-PR-08-06-92.html Архивировано 12 июля 2011 г.на Wayback Machine
- ^ Сторонники технологии OSOA http://www.osoa.org/display/Main/Current+OSOA+Supporters+Community
- ^ «Спецификации архитектуры сервисных компонентов» . Откройте веб-сайт SOA Collaboration . Архивировано из оригинального 12 октября 2007 года . Проверено 29 апреля 2017 года . CS1 maint: обескураженный параметр ( ссылка )
- ^ [1] Архивировано 5 июля2008 г. на Wayback Machine SCA & SDO, следующий Corba?
- ^ "Архивная копия" . Архивировано из оригинала на 2008-12-02 . Проверено 8 апреля 2011 . CS1 maint: не рекомендуется параметр ( ссылка ) CS1 maint: заархивированная копия как заголовок ( ссылка ) Взлет и падение CORBA
- ^ "community.user: Сравнение SCA, Java EE и JBI | SCN" . Sdn.sap.com. 2005-12-12. Архивировано из оригинала на 2012-12-17 . Проверено 16 июня 2013 . CS1 maint: обескураженный параметр ( ссылка )
- ^ Белл, Майкл (2008). «Сервис-ориентированная концептуализация» . Сервис-ориентированное моделирование: анализ, проектирование и архитектура сервисов . Wiley & Sons. п. 3. ISBN 978-0-470-14111-3.
- ^ «Открытая секция членов CSA OASIS для SCA» .
- ^ «Шесть технических комитетов, предложенных для секции открытого CSA OASIS» .
- ^ «Форма шести комитетов OASIS для стандартизации архитектуры компонентов служб (SCA) для SOA» .
Дальнейшее чтение [ править ]
- Понимание SCA от экспертов Джима Марино и Майкла Роули [2]
- SOA для бизнес-разработчиков: концепции, BPEL и SCA - ISBN 978-158347-065-7
- Apache Tuscany в действии, ISBN 978-1-933988-89-4
- SOA с открытым исходным кодом, ISBN 1-933988-54-1
Внешние ссылки [ править ]
- Письмо от 19 февраля 2013 года с сообщением о смерти технического комитета Ассамблеи SCA OASIS, в этом письме умерла удивительная SCA.
- Письмо от 20.02.2015 с лидером Джимом Марино, рассказывающим об убийстве Oracle SCA
- Главная страница проекта составного приложения SOA NetBeans
- верблюд
- Запуск Apache Camel в OpenESB
- Введение в программирование для SCA Dr. Dobb's
- Apache Tuscany - реализация спецификации SCA с открытым исходным кодом
- SALT - готовая к работе среда выполнения SCA для C ++, Python, Ruby и PHP
- PocoCapsule для WS и SCA Контейнер C ++ SCA с открытым исходным кодом, основанный на инверсии управления (IoC) и доменно-ориентированном моделировании (DSM)
- Распределенная среда выполнения SCA и OSGi с открытым исходным кодом Newton
- Французский публичный исследовательский проект, который включает среду выполнения SCA под названием FraSCati.
- Домашняя страница SCA на веб-сайте OASIS
- Текущие ресурсы и обеспечение SCA
- Последние новости SCA и SDO
- Введение в SCA - учебное пособие Дэвида Чаппелла, Chappell & Associates
- Подпроект Eclipse STP / SCA Проект Eclipse с открытым исходным кодом, который предоставляет набор инструментов для SCA.
- Шаблоны микросервисной архитектуры и лучшие практики
- сайт микросервисной архитектуры martinfowler
- Умные конечные точки и глупые каналы - martinfowler