разработка методологии проектирования и внедрения сервисов

advertisement
РАЗРАБОТКА МЕТОДОЛОГИИ ПРОЕКТИРОВАНИЯ И ВНЕДРЕНИЯ СЕРВИСОВ
ФЦИОР, ОСНОВАННОЙ НА ТЕХНОЛОГИИ СЕРВИСНО-ОРИЕНТИРОВАННОЙ
АРХИТЕКТУРЫ
Я.В. Маркин
Государственный научно-исследовательский институт информационных технологий и
телекоммуникаций, Москва
Тел.: (495) 151-75-01, e-mail: yaroslav@informika.ru
Федеральный центр информационно-образовательных ресурсов (ФЦИОР) – уникальный проект,
главными целями которого являются интеграция и унификация разрозненных информационных,
управленческих систем и электронных образовательных ресурсов и обеспечение практической реализации
сервисно-ориентированной модели сферы образовательных информационных технологий. Программный
комплекс ФЦИОР включает в себя все необходимые инструментальные средства для решения задач
разработки, интеграции и эксплуатации информационных и управленческих систем, переносимых в
дальнейшем на платформу ФЦИОР.
Система реализована на основе сервисно-ориентированной архитектуры, что позволяет связывать
сервисы ФЦИОР с системами сторонних поставщиков. Сервисно-ориентированная архитектура (ServiceOriented Architecture или SOA) – это компонентная модель, которая связывает различные функциональные
модули приложений, называемые сервисами (или службами), посредством четко определенных интерфейсов
и соглашений между этими сервисами. Интерфейсы определяются независимым способом, и не зависят от
аппаратной платформы, операционной системы или языка программирования, на котором реализован
сервис. Такой подход позволяет реализовывать сервисы в различных системах, которые взаимодействуют
друг с другом единообразным и стандартным образом. Также в сервисно-ориентированной архитектуре
является обязательным наличие независимого определения интерфейса, которое не связано жестко с
конкретной реализацией, известно как слабая связь (loose coupling) между сервисами. Достоинством
слабосвязанных систем является быстрота и возможность выдерживать эволюционные изменения в
структуре и реализации каждого отдельно взятого сервиса, которые составляют приложение в целом, что
является крайне актуальным для ФЦИОР.
Сервисно-ориентированная архитектура ФЦИОР построена на решениях IBM. Бизнес-процессы
исполняются на IBM WebSphere Process Server, отдельные программные компоненты исполняются в среде
IBM WebSphere Application Server, портальный доступ обеспечивают продукты IBM WebSphere Portal и IBM
Lotus Workplace. Основной функционал системы реализован с помощью веб-сервисов, написанных на языке
Java и работающих в контейнере WebSphere Application Server.
Для продолжения развития ФЦИОР и последующей интеграции систем, переносимых на платформу
ФЦИОР, необходима методология разработки, позволяющая в полной мере использовать технологию
сервисно-ориентированной архитектуры при доработке и изменении существующих компонент системы.
Такая методология позволит четко определить правила и политики по созданию сервиса, обнаружению
сервиса, идентификации и многократному использованию сервиса, и т.д. Можно будет предотвратить или
уменьшить число избыточных сервисов и лишних усилий, определяя процесс регистрации и обнаружение
сервиса по всей корпорации.
Методологию разработки определяют как комплексное описание работ, процедур и соглашений для всех
участников команды разработки. Фактически, методология разработки – комплекс всех соглашений, которые
используются в рабочей группе. Основные типы методологий, применяемые в SOA-проектах – архитектура,
управляемая моделями (MDA), компонентное бизнес-моделирование (Component Business Modeling, CBM) и
Rational Unified Process (RUP). Особый акцент при проектировании и реализации SOA делается на
моделировании. Можно отметить промышленные стандарты для архитектуры, управляемой моделями
(Model-Driven Architecture, MDA) и унифицированного языка моделирования (UML).
Существует большое количество методологий разработки программного обеспечения, различающихся по
размеру команды, на которых они ориентированы, рискам проекта, на выполнение которого нацелены, и
другим характеристикам конкретного проекта. Для разных проектов обязательно использование разных
методологий, наиболее полно отвечающих потребностям команды.
Чем SOA-проекты отличаются от других проектов по разработке ПО? Проект, построенный на SOA,
может реализовываться множеством способов, с использованием своих подходов к анализу и
проектированию, в результате чего уделяется большое внимание практическим вопросам использования
конкретных методологий и технологий сервис-ориентированного анализа и проектирования. Многие
общепринятые и успешные методы по-прежнему можно использовать, трансформируя их для использования,
но SOA вводит также и некоторые новые. SOA выводит используемую методологию с уровня команды
разработчиков ПО на уровень службы поддержки и развития проекта, затрагивая многие более широкие
проблемы.
В процессе создания такого проекта, члены команды обязательно должны знать, за что они отвечают,
какие артефакты и комплектующие узлы должны быть созданы и какие инструменты следует использовать.
По мере того, как размер команды, размер модели и сложность проекта в целом возрастают, реализовывать
дальнейшие изменения в проекте становится все сложнее.
Таким образом, выработки методологии для развития сервис-ориентированной архитектуры, а также ее
внедрение и проверка практической применимости и оптимальности, становится актуальной научнотехнической задачей.
Одним из широко применяемых способов выработки методологии является адаптация наиболее
эффективных рекомендаций существующих методологий. Для решения задачи предлагается рассмотреть
существующие хорошо зарекомендовавшие себя методологии, такие как рекомендуемые компанией IBM
(Rational Unified Process и расширения), и методологии быстрой (agile) разработки программного
обеспечения, такие как Extreme Programming, семейство методологий Crystal и Scrum. Следует отметить, что
для Rational Unified Process уже существует SOA-плагин, выпущенный компанией IBM, позволяющий
моделировать процессы, связанные с сервис-ориентированной разработкой в терминах RUP. С помощью
Rational Software Architect можно наиболее эффективно моделировать ПО на языке UML и реализовывать его
на платформе J2EE. В результате детального изучения и апробации рекомендаций этих методологий будет
выработана и задокументирована методология развития сервис-ориентированной архитектуры ФЦИОР.
Документирование и внедрение методологии SOA-разработки ФЦИОР позволит в дальнейшем успешно
реализовывать новые сервисы ФЦИОР и изменять существующие в соответствии с сервис-ориентированной
архитектурой.
Download