Архитектура сервисных компонентов - Service Component Architecture
Архитектура сервисных компонентов (SCA) - это программная технология, разработанная для создания модели для следующих приложений. Сервис-Ориентированная Архитектура принципы.[1] Технология, созданная основными поставщиками программного обеспечения, в том числе IBM, Корпорация Oracle и Программное обеспечение TIBCO, охватывает широкий спектр технологий и как таковой определен в независимых спецификациях для сохранения нейтральности языка программирования и среды приложения.[1] Часто он использует служебная шина предприятия (ESB).
История
Первыми партнерами, объявленными 30 ноября 2005 г., были: BEA Systems, IBM, IONA Technologies, Корпорация Oracle, SAP AG, Sybase, Xcalia и Zend Technologies.[2]Дополнительные члены, объявленные 26 июля 2006 г., были Мыс Ясный, Интерфейс21, Primeton Technologies, Программное обеспечение Progress, Красная шляпа, Программное обеспечение Rogue Wave, Software AG, Sun Microsystems и Программное обеспечение TIBCO.[3]Siemens AG присоединился к коллаборации компаний, работающих над технологией 18 сентября 2006 года.
Помимо партнеров, у сообщества SCA было несколько официальных сторонников.[4]
Определение
21 марта 2007 года OSOA Collaboration выпустила первую версию спецификации.[5] В спецификациях сказано, что приложение, разработанное с использованием SCA, должно иметь:
- Отделение бизнес-логики приложения от деталей вызываемых им вызовов службы
- Целевые сервисы на множестве языков, включая C ++, Ява, КОБОЛ, и 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 ) или метод "Invocation", используемый в 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 Создана членская секция.[10] Уставы шести новых технических комитетов (ТК) представлены в OASIS.[11] и объявлен призыв к участию для членов Технического комитета внутри организации OASIS. Технические комитеты планировали начать свою работу в сентябре 2007 года. Участие в этих TC OASIS SCA остается открытым для всех компаний, некоммерческих групп, правительств, академических институтов и отдельных лиц. Архивы работ будут доступны как для членов, так и для нечленов, и OASIS предложит механизм общественного обсуждения.[12]
Смотрите также
- Apache ServiceMix
- Модель и обозначение бизнес-процесса (BPMN)
- Докер (программное обеспечение)
- Интеграция корпоративных приложений (EAI)
- Мул (программное обеспечение)
- Откройте ESB
- Реактивное программирование
- Семантическая сервис-ориентированная архитектура (SSOA)
- Сервис-ориентированное моделирование
- Фонд связи Windows (WCF)
Рекомендации
- ^ а б Эдвардс, Майк. «Архитектура сервисных компонентов». ОАЗИС. Получено 7 апреля 2011.
- ^ а б Дэниел Шоллер, Дэвид Митчелл Смит (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 В архиве 2011-07-12 в Wayback Machine
- ^ Сторонники технологии OSOA http://www.osoa.org/display/Main/Current+OSOA+Supporters+Community
- ^ «Спецификации архитектуры сервисных компонентов». Открытый веб-сайт SOA Collaboration. Архивировано из оригинал 12 октября 2007 г.. Получено 29 апреля, 2017.
- ^ [1] В архиве 2008-07-05 на Wayback Machine SCA & SDO, следующая Корба?
- ^ «Архивная копия». Архивировано из оригинал на 2008-12-02. Получено 2011-04-08.CS1 maint: заархивированная копия как заголовок (связь) Взлет и падение CORBA
- ^ "community.user: Сравнение SCA, Java EE и JBI | SCN". Sdn.sap.com. 2005-12-12. Архивировано из оригинал на 2012-12-17. Получено 2013-06-16.
- ^ Белл, Майкл (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
- Главная страница проекта составного приложения NetBeans SOA
- верблюд
- Запуск Apache Camel в OpenESB
- Введение в программирование для SCA Доктора Добба
- 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