воскресенье, 27 мая 2012 г.

Уровни сложности сервисов

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

1. Простые сервисы
  1. Выставляются с помощью основанных на стандартах интерфейсов и не требуют использования адаптеров для своей реализации.
  2. Реализуют простые или вовсе не реализуют требований по верификации данных.
  3. Реализуют простые или вовсе не реализуют требований по трансформации данных.
  4. Не требуют реализации безопасности.
  5. Используют простой каркас для журналирования. Не требуют отдельного механизма обработки ошибок.
  6. Могут быть легко найдены в UDDI. Таксономия четко определена. Находятся простые конечные точки.
  7. Не требуют использования WS-* стандартов, таких как WS-ReliableMessaging или WS-Addressing.
  8. Не предполагают использования механизмов обеспечения гарантированной доставки сообщений.
  9. В основном это - утилитные сервисы с простыми операциями чтения и изменения данных.

2. Сервисы средней сложности
  1. Выставляются с помощью основанных на стандартах интерфейсов.
  2. Реализуют простые или среднего уровня требования к верификации данных.
  3. Реализуют простые или среднего уровня требования к трансформации данных.
  4. Используют простой каркас для журналирования. Требуют отдельного простого механизма обработки ошибок.
  5. Требуют простую реализацию безопасности. Например стандарт WS-Security для авторизации/аутентификации, реализованное с помощью утилит шифрование и протокол SSL.
  6. Могут быть легко найдены в UDDI. Таксономия четко определена. Находятся простые конечные точки.
  7. Могут включать простые WS-* стандарты, такие как WS-Addressing и WS-ReliableMessages.
  8. Требуют некоторого механизма обеспечения гарантированной доставки сообщений.
  9. Сервисы реализуют большинство операций взаимодействия с отдельным приложением или системой.

3. Сложные сервисы
  1. Выставляются с помощью основанных на стандартах интерфейсов.
  2. Реализуют сложные требования к верификации данных (например проверку даты и временной зоны).
  3. Реализуют сложные требования к трансформации данных (например из одного стандарта представления сообщений в другой).
  4. Используют комплексный подход к журналированию. Реализуют корреляционные множества. Требуют отдельного сложного механизма обработки ошибок с возможностями повторного вызова и отправки уведомлений.
  5. Требуют среднюю или сложную реализацию безопасности. Например цифровую подпись, шифрование, SAML.
  6. В UDDI присутствует множество версий. Требуют поддержки таких стандартов, как WS-Policy и WS-Trust.
  7. Могут включать WS-* стандарты, такие как WS-Coordination.
  8. Требуют обеспечения гарантированной доставки сообщений.
  9. Сервисы реализуют объемное и сложное взаимодействие с множеством систем.

Позволю себе заметить, что все перечисленные виды сервисов можно реализовать как с использованием Oracle SOA Suite, так и с использованием Oracle Service Bus. Единственный водораздел, который я вижу, - к сложным автор относит сервисы с сохранением состояния (пункты 4 и 6). Для их реализации подходит Oracle SOA Suite.

Понравилось сообщение - подпишитесь на блог и Twitter

Комментариев нет:

Отправить комментарий

Любой Ваш комментарий важен для меня, однако, помните, что действует предмодерация. Давайте уважать друг друга!