Сервис-ориентированная архитектура. - сильносвязанные системы (Strong coupling): Java RMI, .NET Remoting

Предыдущая15161718192021222324252627282930Следующая

- сильносвязанные системы (Strong coupling): Java RMI, .NET Remoting

и т.п;

- слабосвязанные системы (Loose coupling): СОА.

Сильная связанность возникает, когда зависимый класс содержит ссылку непосредственно на определенный класс, предоставляющий некоторые возмож- ности. В противоположность этому, слабая связанность возникает, когда зави- симый класс содержит ссылку на интерфейс который может быть реализован одним или несколькими конкретными классами.

Основная цель использования концепции слабосвязанных программных систем – это уменьшение количества зависимостей между компонентами. При уменьшении количества связей, уменьшается объем возможных последствий, возникающих в связи со сбоями или системными изменениями. Наиболее яркие характеристики слабосвязанных распределенных систем приведены в табли- це 1 [41].

Таблица 1.Сравнение слабосвязанных и сильносвязанных систем

Сильносвязанные системы Слабосвязанные системы
Физические соединения Точка-точка Через посредника
Стиль взаимодействий Синхронные Асинхронные
Модель данных Общие сложные типы Простые типы
Связывание Статическое Динамическое
Платформа Сильная зависимость от базовой платформы Независимость от платформы
Развертывание Одновременное Постепенное

Традиционный подход разработки распределенных приложений, поддер- живаемый технологиями распределенных объектов, основывается на тесной связи между всеми программными компонентами. Слабосвязанность про- граммных компонентов, поддерживаемая технологией веб-сервисов, позволяет значительно упростить координацию распределенных систем и их реконфигу- рацию [14].

8.3 Принципы построения СОА

Способность двух или более информационных систем (или их компонен- тов) к взаимодействию, с целью решения определенной задачи и получения определенной информации, называют интероперабельностью. Это определе- ние объединяет в себе два понятия:


Глава 8

- техническая интероперабельность означает совместимость систем на тех- ническом уровне, включая протоколы передачи данных и форматы их представления;

- семантическая интероперабельность — свойство информационных си- стем, обеспечивающее взаимную употребимость полученной информации на основе общего понимания системами ее значения.

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



«1.23»: это может быть число с плавающей запятой записанное в десятичной или шестнадцатеричной системе счисления, а может быть дата, которую надо интерпретировать «23 января».

СОА не предписывает жесткой вертикальной («сверху вниз») методологии проектирования, внедрения или управления ИТ-инфраструктурой. Вместо это- го, СОА ограничивается лишь рядом принципов, характеризующих каждый из этих процессов; поэтому ее иногда называют не архитектурой, а архитектурным стилем. Отметим некоторые из этих принципов.

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

- Постоянство изменений. Отдельные участки архитектуры могут претер- певать изменения в любой момент времени.

- Последовательное совершенствование. Локальное улучшение компонен- тов архитектуры должно приводить к совершенствованию всей архитекту- ры в целом – к росту суммарной полезности компонентов того же уровня, что и изменяемый, равно как и компонентов более низкого и более высо- кого уровня. Например, известный веб-сервис Google Translate постоянно претерпевает изменения. Изначально, он обеспечивал только веб- интерфейс для перевода и ограниченный набор языков. Постепенно увели- чивались функциональные возможности сервиса: расширялся набор язы- ков, появилась возможность голосового воспроизведения перевода, при переводе отдельного слова начали выдаваться словарные статьи с несколь- кими результатами перевода и т.п. При этом API и интерфейс менялся настолько незначительно, что клиенты могли использовать новые возмож-


6033172788245826.html
6033207362767526.html
    PR.RU™