При выборе любого корпоративного бизнес-приложения зачастую бывает очень сложно четко ограничить спектр базовых характеристик и функций, которые наиболее важны для вашей компании. Когда же искомое решение столь велико и аморфно, как сервисно-ориентированная архитектура (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-платформа к организационным переменам?
ВРЕМЯ РАЗВЕРТЫВАНИЯ
Запросите информацию о временных рамках процесса развертывания.
АНАЛИЗ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ
Запросите подробные данные о затратах на внедрение решения, включая стоимость не только базовых систем, но и дополнительных функций и компонентов.
Каковы финансовые преимущества предлагаемого решения?
СПРАВОЧНЫЕ ПРИМЕРЫ
Запросите сведения о предприятиях, уже внедривших аналогичные решения в той же отрасли.