Сервисно-ориентированная архитектура | это... Что такое Сервисно-ориентированная архитектура? (original) (raw)

Се́рвис-ориенти́рованная архитекту́ра (англ. модульный подход к разработке программного обеспечения, основанный на использовании сервисов (служб) со стандартизированными интерфейсами.

В основе SOA лежат принципы многократного использования функциональных элементов ИТ, ликвидации дублирования функциональности в ПО, унификации типовых операционных процессов, обеспечения перевода операционной модели компании на централизованные процессы и функциональную организацию на основе промышленной платформы интеграции.

Компоненты программы могут быть распределены по разным узлам сети, и предлагаются как независимые, слабо связанные, заменяемые сервисы-приложения. Программные комплексы, разработанные в соответствии с SOA, часто реализуются как набор веб-сервисов, интегрированных при помощи известных стандартных протоколов (WSDL, и т. п.)

Интерфейс компонентов SОА-программы предоставляет инкапсуляцию деталей реализации конкретного компонента (ОС, платформы, языка программирования, вендора, и т. п.) от остальных компонентов. Таким образом, SOA предоставляет гибкий и элегантный способ комбинирования и многократного использования компонентов для построения сложных распределённых программных комплексов.

SOA хорошо зарекомендовала себя для построения крупных корпоративных программных приложений. Целый ряд разработчиков и интеграторов предлагают инструменты и решения на основе SOA (например, платформы WebSphere, Oracle/BEA Aqualogic, Windows Communication Foundation, SAP NetWeaver, ИВК Юпитер,

Содержание

Определение SOA

OASIS (Организация по распространению открытых стандартов структурированной информации) определяет SOA следующим образом (OASIS Reference Model for Service Oriented Architecture V 1.0): Сервисно-ориентированная архитектура – это парадигма организации и использования распределенных информационных ресурсов таких как: приложения и данные, находящихся в сфере ответственности разных владельцев, для достижения желаемых результатов потребителем, которым может быть: конечный пользователь или другое приложение.

Введение

Основная причина появления SOA - старозаветная мечта индустрии программирования о замене "кустарного" кодирования программ "от и до" на "промышленную" сборку приложений из "стандартных комплектующих", как в автомобильной, или других "традиционных" отраслях промышленности.

Цели

Для крупных информационных систем, уровня предприятия, и выше:

Принципы SOA

  1. Архитектура, как таковая, не привязана к какой-то определённой технологии,
  2. Независимость организации системы от используемой вычислительной платформы (платформ),
  3. Независимость организации системы от применяемых языков программирования,
  4. Использование сервисов, независимых от конкретных приложений, с единообразными интерфейсами доступа к ним,
  5. Организация сервисов как слабо-связанных компонентов для построения систем

Другие SOA-Концепции

Архитектура не привязана к какой-то определённой технологии. Она может быть реализована с использованием широкого спектра технологий, включая такие технологии как RPC, DCOM, веб-сервисы. SOA может быть реализована используя один из этих протоколов и, например, может использовать, дополнительно, механизм файловой системы, для обмена данными.

Главное, что отличает SOA, это использование независимых сервисов, с чётко определёнными интерфейсами, которые, для выполнения своих задач, могут быть вызваны неким стандартным способом, при условии, что сервисы заранее ничего не знают о приложении, которое их вызовет, а приложение не знает, каким образом сервисы выполняют свою задачу.

Elements of SOA, by Dirk Krafzig, Karl Banke, and Dirk Slama. Enterprise SOA. Prentice Hall, 2005

SOA также может рассматриваться как стиль архитектуры информационных систем, который позволяет создавать приложения, построенные путём комбинации слабо-связанных и взаимодействующих сервисов. Эти сервисы взаимодействуют на основе какого-либо строго определённого платформенно-независимого и языково-независимого интерфейса (например,

Таким образом, системы, основанные на SOA, могут быть независимы от технологий разработки и платформ (таких как .NET и т.д.). К примеру, сервисы, написанные на C#, работающие на платформах .Net и сервисы на Java, работающие на платформах Java EE, могут быть с одинаковым успехом вызваны общим составным приложением. Приложения, работающие на одних платформах, могут вызывать сервисы, работающие на других платформах, что облегчает повторное использование компонентов.

SOA может поддерживать интеграцию и консолидацию операций в составе сложных систем, однако SOA не определяет и не предоставляет методологий или

Языки высокого уровня, такие как порталов.

Использование компонентной архитектуры (SCA) для реализации SOA -- это область текущих исследований.

См. также

Ссылки

Wikimedia Foundation.2010.