Сервис-ориентированная архитектура
Се́рвис-ориенти́рованная архитекту́ра (англ. SOA, service-oriented architecture) — модульный подход к разработке программного обеспечения, основанный на использовании сервисов (служб) со стандартизированными интерфейсами.
В основе SOA лежат принципы многократного использования функциональных элементов ИТ, ликвидации дублирования функциональности в ПО, унификации типовых операционных процессов, обеспечения перевода операционной модели компании на централизованные процессы и функциональную организацию на основе промышленной платформы интеграции.
Компоненты программы могут быть распределены по разным узлам сети, и предлагаются как независимые, слабо связанные, заменяемые сервисы-приложения. Программные комплексы, разработанные в соответствии с SOA, часто реализуются как набор веб-сервисов, интегрированных при помощи известных стандартных протоколов (SOAP, WSDL, и т. п.)
Интерфейс компонентов SОА-программы предоставляет инкапсуляцию деталей реализации конкретного компонента (ОС, платформы, языка программирования, вендора, и т. п.) от остальных компонентов. Таким образом, SOA предоставляет гибкий и элегантный способ комбинирования и многократного использования компонентов для построения сложных распределённых программных комплексов.
SOA хорошо зарекомендовала себя для построения крупных корпоративных программных приложений. Целый ряд разработчиков и интеграторов предлагают инструменты и решения на основе SOA (например, платформы IBM WebSphere, Oracle/BEA Aqualogic, Microsoft Windows Communication Foundation, SAP NetWeaver, ИВК Юпитер, TIBCO, Diasoft).
Определение SOA
OASIS (Организация по распространению открытых стандартов структурированной информации) определяет SOA следующим образом (OASIS Reference Model for Service Oriented Architecture V 1.0): Сервисно-ориентированная архитектура — это парадигма организации и использования распределенных информационных ресурсов таких как: приложения и данные, находящихся в сфере ответственности разных владельцев, для достижения желаемых результатов потребителем, которым может быть: конечный пользователь или другое приложение.
Введение
Основная причина появления SOA — старозаветная мечта индустрии программирования о замене «кустарного» кодирования программ «от и до» на «промышленную» сборку приложений из «стандартных комплектующих», как в автомобильной, или других «традиционных» отраслях промышленности.
Цели
Для крупных информационных систем, уровня предприятия, и выше:
- сокращение издержек при разработке приложений, за счёт упорядочивания процесса разработки,
- расширение повторного использования кода,
- независимость от используемых платформ, инструментов, языков разработки,
- повышение масштабируемости создаваемых систем,
- улучшение управляемости создаваемых систем.
Принципы SOA
- Архитектура, как таковая, не привязана к какой-то определённой технологии,
- Независимость организации системы от используемой вычислительной платформы (платформ),
- Независимость организации системы от применяемых языков программирования,
- Использование сервисов, независимых от конкретных приложений, с единообразными интерфейсами доступа к ним,
- Организация сервисов как слабо-связанных компонентов для построения систем
Другие SOA-Концепции
Архитектура не привязана к какой-то определённой технологии. Она может быть реализована с использованием широкого спектра технологий, включая такие технологии как REST, RPC, DCOM, CORBA или веб-сервисы. SOA может быть реализована используя один из этих протоколов и, например, может использовать, дополнительно, механизм файловой системы, для обмена данными.
Главное, что отличает SOA, это использование независимых сервисов, с чётко определёнными интерфейсами, которые, для выполнения своих задач, могут быть вызваны неким стандартным способом, при условии, что сервисы заранее ничего не знают о приложении, которое их вызовет, а приложение не знает, каким образом сервисы выполняют свою задачу.
SOA также может рассматриваться как стиль архитектуры информационных систем, который позволяет создавать приложения, построенные путём комбинации слабо-связанных и взаимодействующих сервисов. Эти сервисы взаимодействуют на основе какого-либо строго определённого платформенно-независимого и языково-независимого интерфейса (например, WSDL). Определение интерфейса скрывает языково-зависимую реализацию сервиса.
Таким образом, системы, основанные на SOA, могут быть независимы от технологий разработки и платформ (таких как Java, .NET и т. д.). К примеру, сервисы, написанные на C#, работающие на платформах .Net и сервисы на Java, работающие на платформах Java EE, могут быть с одинаковым успехом вызваны общим составным приложением. Приложения, работающие на одних платформах, могут вызывать сервисы, работающие на других платформах, что облегчает повторное использование компонентов.
SOA может поддерживать интеграцию и консолидацию операций в составе сложных систем, однако SOA не определяет и не предоставляет методологий или фреймворков для документирования сервисов.
Языки высокого уровня, такие как BPEL, или спецификации, такие как WS-CDL и WS-Coordination, расширяют концепцию сервиса, предоставляя метод оркестрации, для объединения мелких сервисов в более обширные бизнес-сервисы, которые, в свою очередь, могут быть включены в состав технологических процессов и бизнес-процессов, реализованных в виде составных приложений или порталов.
Использование компонентной архитектуры (SCA) для реализации SOA — это область текущих исследований.
См. также
- Enterprise Application Integration
- Веб-служба
- SOAP
- SODA
- Подпрограммное обеспечение
- Распределённые вычисления
- Установку системы SOA см. в статье BPEL.
Ссылки
- Материалы по SOA на портале ERPNEWS
- OASIS SOA Reference Model TC
- OASIS Reference Model for Service Oriented Architecture V 1.0 (Перевод на русский)
- Материалы по SOA на сайте компании IBM
- IBM Systems Journal issue on SOA
- Norbert Biebertein (Норберт Биберштейн)et a. Service-Oriented Architecture Compass Компас в мире сервис-ориентированной архитектуры (SOA) 2006
- Материалы по SOA на сайте компании Microsoft
- Материалы по SOA на сайте корпорации ORACLE
- Статьи о Сервисной Архитектуре
- Статьи по SOA
- Статьи по SOA и WEB-сервисам на русском языке
- Книга SOA Adoption for Dummies(2009) на сайте компании Software AG
af:Diensgeoriënteerde argitektuur da:Serviceorienteret arkitektur de:Serviceorientierte Architektur en:Service-oriented architecture es:Arquitectura orientada a servicios fi:Palvelukeskeinen arkkitehtuuri fr:Architecture orientée services he:ארכיטקטורה מוכוונת שירותים hu:Szolgáltatásorientált architektúrák id:SOA it:Service-oriented architecture ja:サービス指向アーキテクチャ ko:서비스 지향 아키텍처 nl:Service-oriëntatie no:Tjenesteorientert arkitektur pl:Architektura zorientowana na usługi pt:Service-oriented architecture ro:SOA sv:SOA ta:சேவை சார் கட்டமைப்பு th:Service-oriented architecture tr:Hizmet-yönelimli mimari uk:Сервісно-орієнтована архітектура zh:面向服务的架构
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....