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

Одна из причин нередко состоит в недостаточной ясности самого понятия SOA. Что это, набор средств разработки? Архитектура корпоративных сервисов? Общая шина для обмена сообщениями? Инструментарий управления сервисами? Комбинация отдельных или всех упомянутых выше элементов?

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

Ниже приводится образец RFP, который может послужить основой при создании вашего собственного списка требований к SOA.

ВОЗМОЖНОСТИ ВЗАИМОДЕЙСТВИЯ

Не привяжет ли вас SOA-решение к одному производителю?

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

Какие стандарты поддерживаются решением? Запросите их перечень и описание уровней поддержки.

Какие типы сервисов поддерживает SOA-решение?

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

ИНСТРУМЕНТЫ И СЛУЖБЫ

Каков предлагаемый инструментарий разработчика?

  • Открытая среда на основе Eclipse?
  • Новая запатентованная среда?
  • Надстройка над стандартной средой разработки приложений?

На каких серверных платформах строится SOA? (Этот вопрос важен с точки зрения совместимости предлагаемого SOA-решения с другими вашими корпоративными системами.)

  • .Net
  • J2EE (Java 2 Platform, Enterprise Edition)
  • Другие

Некоторые средства могут заметно облегчить построение SOA-процессов. Убедитесь, предлагает ли поставщик инструменты для оркестровки процессов, XML-трансформации сложных данных и создания сервисов, способных взаимодействовать с унаследованными приложениями и инфраструктурами. Базовый вариант архитектуры SOA можно построить, опираясь лишь на стандартные Web-системы. Однако в реальных условиях зачастую полезнее применять более сложные серверные механизмы (такие, например, как корпоративная сервисная шина ESB), образующие общую платформу для функционирования сервисов, а также надежные службы обмена сообщениями -- скажем, JMS (Java Message Service) или IBM Websphere MQ.

УПРАВЛЕНИЕ АРХИТЕКТУРОЙ SOA

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

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

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

Насколько адаптируема SOA-платформа к организационным переменам?

ВРЕМЯ РАЗВЕРТЫВАНИЯ

Запросите информацию о временных рамках процесса развертывания.

АНАЛИЗ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ

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

Каковы финансовые преимущества предлагаемого решения?

СПРАВОЧНЫЕ ПРИМЕРЫ

Запросите сведения о предприятиях, уже внедривших аналогичные решения в той же отрасли.