Архитектура сервисных компонентов
Архитектура сервисных компонентов ( 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 выпустило первую версию спецификации. [5] В спецификациях говорилось, что приложение, разработанное с использованием SCA, должно иметь:
- Отделение бизнес-логики приложения от деталей вызываемых им сервисных вызовов.
- Целевые сервисы на множестве языков, включая C++ , Java , COBOL и PHP, а также XML , BPEL и XSLT.
- Способность работать с различными конструкциями связи, включая одностороннюю, асинхронную, возврат вызова и уведомление.
- Возможность «привязки» к устаревшим компонентам или службам, к которым обычно обращаются такие технологии, как веб-службы , EJB , JMS , JCA , RMI , RPC , CORBA и другие.
- Возможность заявлять (вне бизнес-логики) требования к качеству обслуживания , такие как безопасность, транзакции и использование надежного обмена сообщениями.
- Данные могут быть представлены в объектах служебных данных.
Таким образом, SCA был предложен для обеспечения гибкости для составных приложений , гибкого включения повторно используемых компонентов в стиле программирования SOA.
В декабре 2005 года маркетинговая фирма Gartner Group опубликовала краткий обзор, рекламирующий SCA и включённую в него технологию Service Data Objects (SDO). [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 новая секция членов OASIS Open CSA . , и была создана [10] Уставы шести новых технических комитетов (ТК) были представлены в ОАЗИС. [11] и в рамках организации OASIS был объявлен призыв к участию членов Технического комитета. Технические комитеты планировали начать свою работу в сентябре 2007 года. Участие в этих ТК OASIS SCA остается открытым для всех компаний, некоммерческих групп, правительств, академических учреждений и частных лиц. Архивы работ будут доступны как членам, так и нечленам, а ОАЗИС предложит механизм общественного обсуждения. [12]
См. также
[ редактировать ]- Apache СервисМикс
- Модель бизнес-процессов и нотация (BPMN)
- Докер (программное обеспечение)
- Интеграция корпоративных приложений (EAI)
- Мул (программное обеспечение)
- Открыть ESB
- Реактивное программирование
- Семантическая сервис-ориентированная архитектура (SSOA)
- Сервисно-ориентированное моделирование
- Фонд связи Windows (WCF)
Ссылки
[ редактировать ]- ^ Jump up to: а б Эдвардс, Майк. «Архитектура сервисных компонентов» . ОАЗИС . Проверено 7 апреля 2011 г.
- ^ Jump up to: а б Дэниел Шоллер; Дэвид Митчелл Смит (5 декабря 2005 г.). «Новая спецификация SOA заполнит нишу среди пользователей Java» (PDF) . Группа Гартнер . Проверено 29 апреля 2017 г.
- ^ Поставщики Technology 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 . Архивировано из оригинала 12 октября 2007 года . Проверено 29 апреля 2017 г.
- ^ [1] Архивировано 5 июля 2008 г. в Wayback Machine SCA & SDO, следующая Corba?
- ^ «Очередь ACM — взлет и падение CORBA: история этой некогда многообещающей технологии распределенных вычислений — почему она потерпела неудачу и чему мы можем у нее научиться» . Архивировано из оригинала 2 декабря 2008 г. Проверено 8 апреля 2011 г. Взлет и падение CORBA
- ^ «community.user: сравнение SCA, Java EE и JBI | SCN» . Sdn.sap.com. 12 декабря 2005 г. Архивировано из оригинала 17 декабря 2012 г. Проверено 16 июня 2013 г.
- ^ Белл, Майкл (2008). «Сервис-ориентированная концептуализация» . Сервис-ориентированное моделирование: анализ, проектирование и архитектура сервисов . Уайли и сыновья. п. 3. ISBN 978-0-470-14111-3 .
- ^ «Открытая секция членов OASIS CSA для SCA» .
- ^ «Шесть технических комитетов предложены для секции членов OASIS Open CSA» .
- ^ «Формируется шесть комитетов OASIS для стандартизации архитектуры сервисных компонентов (SCA) для SOA» .
Дальнейшее чтение
[ редактировать ]- Понимание SCA от экспертов Джима Марино и Майкла Роули [2]
- SOA для бизнес-разработчиков: концепции, BPEL и SCA — ISBN 978-158347-065-7
- Апачи Тоскана в действии, ISBN 978-1-933988-89-4
- SOA с открытым исходным кодом, ISBN 1-933988-54-1
Внешние ссылки
[ редактировать ]- Письмо от 19 февраля 2013 г. со смертью технического комитета Ассамблеи OASIS SCA, на этом письме умер удивительный SCA.
- Письмо от 20 февраля 2015 г., в котором лидер Джим Марино рассказывает об убийстве Oracle SCA.
- Проект составного приложения NetBeans SOA — домашняя страница
- верблюд
- Запуск Apache Camel в OpenESB
- Введение в программирование для SCA Dr. Dobb's
- Apache Tuscany — реализация спецификации SCA с открытым исходным кодом.
- SALT — готовая к использованию среда выполнения SCA для C++, Python, Ruby и PHP.
- PocoCapsule для WS и SCA. Архивировано 19 ноября 2007 г. на Wayback Machine. Контейнер C++ SCA с открытым исходным кодом, основанный на инверсии управления (IoC) и моделировании предметной области (DSM).
- Распределенная среда выполнения Newton с открытым исходным кодом SCA и OSGi
- Французский государственный исследовательский проект, включающий среду выполнения SCA под названием FraSCati.
- Домашняя страница SCA на веб-сайте OASIS
- Текущие ресурсы и обеспечение SCA
- Последние новости SCA и SDO
- Знакомство с SCA — руководство Дэвида Чаппелла, Chappell & Associates
- Подпроект Eclipse STP/SCA Проект Eclipse с открытым исходным кодом, предоставляющий набор инструментов для SCA.
- Шаблоны микросервисной архитектуры и лучшие практики
- Сайт с микросервисной архитектурой Martinfowler
- Умные конечные точки и тупые каналы – martinfowler