«Открытые системы»

Спустя два года после слияния можно констатировать, что ассимиляция команды и технологий Rational в среду IBM прошла успешно. Множество свидетельств этому можно было наблюдать в ходе конференции IBM Rational Software Development Conference. Даже выступление Гради Буча, одного из создателей UML, который ныне носит титул IBM Fellow, было посвящено не тенденциям в области программной инженерии, а достижениям исследователей IBM Research

В начале 2003 года очередным приобретением Голубого Гиганта стала компания Rational Software. В то время в собственной среде разработки приложений корпорации IBM отсутствовали средства моделирования и организации командной работы — то, благодаря чему завоевала свою репутацию в профессиональном сообществе Rational. Спустя два года после слияния можно констатировать, что ассимиляция команды и технологий Rational в среду IBM прошла успешно. Множество свидетельств этому можно было наблюдать в ходе конференции IBM Rational Software Development Conference, крупнейшего форума для разработчиков на платформе Rational, прошедшего в Лас-Вегасе. Даже выступление Гради Буча, имя которого неразрывно связано не только с формированием объектно-ориентированного подхода к разработке, но и с компанией Rational как таковой, одного из создателей UML, и который ныне носит титул IBM Fellow, было посвящено не тенденциям в области программной инженерии, как можно было бы ожидать, а достижениям исследователей IBM Research.

Новые задачи

До последнего времени руководство IBM Rational осуществлял Майк Девлин, который вместе с Полом Леви создал компанию Rational Software в 1981 году. Он открыл конференцию в Лас-Вегасе, но затем передал слово сменившему его на посту генерального менеджера IBM Rational Дэниелу Сабба. Сабба работает в IBM более трех десятилетий, и значительную часть своей карьеры в корпорации посвятил технологиям создания программного обеспечения, в том числе средствам разработки в рамках семейства инфраструктурных программных продуктов IBM Websphere. Он напомнил аудитории, что теперь весь инструментарий разработки от IBM, включая Websphere Studio, поменявший название на Rational Application Developer, будет развиваться под маркой Rational. Такой ребрэндинг — не простое переименование, а концентрация ресурсов корпорации по развитию интегрированной платформы разработки приложений, которая способна поддерживать весь цикл и все возможные роли участников команды разработки.

В начале 80-х создатели Rational видели свою миссию в том, чтобы усовершенствовать процесс разработки и повысить качество программного обеспечения, которое, по их убеждению, должно было приобретать все большее значение для успешного бизнеса и оказывать реальное влияние на развитие экономики. Из этой посылки появились на свет методология разработки Rational Unified Process (RUP), язык визуального моделирования компонентных архитектур приложений Unified Modeling Language (UML), инструментарий проектирования и тестирования программного обеспечения, средства для определения требований к программному продукту, для поддержки работы в команде и т. д. Все эти разработки способствовали формированию дисциплины программной инженерии. Сегодня же, по мнению руководства IBM Rational, зависимость бизнеса от программных решений настолько очевидна, что на повестку дня встает задача самой тесной увязки процессов разработки и процессов бизнеса. Сабба отметил, что большинство современных сред разработки сосредоточены на решении сугубо технических задач создания программных продуктов и не имеют инструментов для учета реальных требований бизнеса, для определения экономического эффекта проектов разработки, для анализа недостатков в эксплуатации приложений. На преодоление разрыва между бизнесом, разработкой и оперативным управлением прикладными системами направлена новая парадигма разработки, которую начинает продвигать IBM Rational — так называемая разработка, направляемая бизнесом (Business-Driven Development, BDD).

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

Новые элементы мозаики

BDD использует инструментальные средства IBM Rational для различных ролей участников процесса создания программного продукта, интегрированные в недавно представленной компанией платформе Software Development Platform (SDP), которая, в свою очередь, базируется на платформе разработки с открытым кодом Eclipse. Последний факт, как подчеркивают в IBM, должен обеспечить реальную многоплатформенность и открытость среды разработки компании. В SDP вошли как традиционные инструменты разработки Rational, так и новые продукты, в частности, пришедшие на смену известному инструментарию Rational Rose системы моделирования и проектирования компонентных приложений Software Architect и Software Modeler. Но чтобы процесс создания и ввода приложения в эксплуатацию можно было назвать «направляемым бизнесом», в этой мозаике инструментов для команды разработчиков должны были появиться новые элементы. Таковыми являются система управления проектами разработки Portfolio Manager и решения по интеграции среды разработки со средствами мониторинга приложений в управляющем семействе IBM Tivoli.

Portfolio Manager отвечает за установление связи между разработкой и бизнесом в модели BDD. Эта система — инструмент управления портфелем проектов разработки приложений для руководителя компании или ИТ-подразделения, который позволяет ему определять приоритетные проекты в зависимости от бизнес-задач, принимать решение о выделении ресурсов для проектов в зависимости от приоритетов, анализировать финансовую эффективность и возможные риски проектов. Интеграция Portfolio Manager с другими инструментальными средствами семейства Rational, в частности, системой управления требованиями обеспечивает взаимосвязь между стратегическим управлением комплексом ИТ-проектов и управлением конкретной командой разработки.

Если продукт Portfolio Manager уже известен пользователям Rational, то абсолютной новостью для участников конференции стали продукты, интегрирующие возможности Rational и Tivoli. Они позволяют включить в поддержку жизненного цикла прикладной системы этапы ее эксплуатации и обеспечить обратную связь между командой разработчиков и командой оперативного управления ИТ-инфраструктурой. До сих пор эти две группы ИТ-специалистов работают, как правило, в полной изоляции друг от друга: завершив программу, разработчики передают ее в эксплуатацию, нимало не заботясь о том, какие там могут возникнуть проблемы. При этом разработка ведется в рамках определенных допущений в отношении среды развертывания приложения, которая на деле оказывается гораздо сложнее. Разделение информации о работающем приложении между сотрудниками, которые занимаются поддержкой системы, и коллективом программистов и тестировщиков могло бы способствовать более быстрому и эффективному разрешению проблемных ситуаций, совершенствованию приложения как в ходе тестирования, так и по окончании разработки.

IBM предложила для этого два новых пакета — Problem Resolution Toolkit for Rational Application Developer и Performance Optimization Toolkit for Rational Performance Tester. Оба решения используют возможности Tivoli Monitoring Transaction Performance (TMTP), инструмента мониторинга работающего приложения, которое обеспечивает диагностику, фиксацию и изоляцию проблем производительности прикладной системы. Problem Resolution Toolkit предоставляет разработчику доступ к данным о проблеме, накапливаемым в TMTP, с помощью которых он сможет определить источник проблемы на уровне исходных кодов и исправить ситуацию. Можно надеяться, что в результате такой кооперации разработки и мониторинга время простоя приложения в случае сбоя окажется минимальным. Performance Optimization Toolkit позволяет интегрировать с Tivoli инструментарий тестировщиков приложений. При возникновении проблемы на этапе тестирования система задействует средства самоуправления Tivoli, которые предложат возможную причину и варианты решения. Если причина связана с исходными кодами приложения, информация передается разработчику для дальнейшего анализа.

Как поясняют специалисты IBM, работы по интеграции Rational со средствами мониторинга Tivoli были начаты практически сразу же после слияния двух компаний. Майские анонсы — первые результаты этой планомерной деятельности, которая будет продолжена по множеству направлений. Например, разделение информации между системами Tivoli и Rational Portfolio Manager позволит на этапе планирования проекта разработки оценить возможную эффективность эксплуатации будущего приложения. На этапе развертывания разумно интегрировать инструмент конфигурационного управления Rational ClearCase и средства управления конфигурациями и развертыванием в Tivoli. Если в только что выпущенных продуктах системы Rational становятся потребителями информации, которую накапливает Tivoli, то в будущем должна появиться и обратная связь: Tivoli будет использовать данные об архитектуре приложения, создаваемые Rational на этапе проектирования и моделирования, для оптимизации процессов мониторинга и управления. Наконец, возможна интеграция на уровне определения процесса. Сейчас в IBM создается методология организации процессов работы ИТ-службы на базе ITIL, которая получила название Tivoli Unified Process (TUP). Аналогия с RUP здесь отнюдь не поверхностная — в TUP для описания оперативных ИТ-процессов используются те же понятия и правила, на которых базируется методология определения процессов разработки RUP, и так же, как RUP реализуется с помощью инструментария Rational, TUP будет поддерживаться средствами автоматизации управления Tivoli.

Разработка сервисов

Конечно, на форуме обсуждалась тема сервис-ориентированных архитектур (Service-Oriented Architecture, SOA). Сабба подчеркнул важность средств разработки в реализации SOA, поскольку прежде чем развернуть приложение в среде, где все его компоненты организованы как взаимодействующие сервисы, эти сервисы надо построить. Сейчас основная работа в области SOA в IBM сосредоточена под маркой Websphere, где уже есть инструменты реализации корпоративной сервисной шины, базы для поддержки сервис-ориентированных архитектур. Однако, как отметил Сабба, эти инструменты вторичны по отношению к средствам разработки компонентов-сервисов для SOA. Работа над такими средствами в IBM Rational только начинается, но, безусловно, станет одним из главных направлений деятельности подразделения на ближайшие годы. На конференции были анонсированы ресурсы для реализации SOA, которые предоставляются разработчикам в рамках программы developerWorks. Это расширение RUP для SOA, определяющее процесс спецификации сервисов, и построенные в соответствии с ним UML-профайлы для моделирования и представления программных сервисов. А в одном из докладов была представлена информация о SOA Integration Framework (SOIF) — пакете продуктов и услуг. В него войдут инструменты создания программной модели SOA и разработки сервисов, инфраструктурные возможности по поддержке среды SOA в реальном времени и средства управления сервисами, а также консалтинг сервисного подразделения IBM по проектированию и развертыванию сервис-ориентированных архитектур для предприятий различных отраслей. SOIF еще не анонсирован официально, но, похоже, станет стратегическим оружием IBM в борьбе за рынок SOA.

Плодотворный союз

В своем выступлении Гради Буч проанализировал природу инноваций в компьютерном мире. Революционные прорывы в области ИТ последние полвека совершались, как правило, по одному из трех возможных сценариев. Например, путем адаптации и перевода на новый качественный уровень накопленного практического опыта — так, по словам Буча, был сформулирован RUP, систематизировавший в стройную методологию лучшие практики организации процессов разработки. Другой вариант — неожиданно яркий эффект от рутинной, на первый взгляд, работы, и здесь в качестве примера Буч привел Rational Rose, популярнейшую систему моделирования, появившуюся на свет в процессе выработки единого стандарта для проектирования объектно-ориентированных систем. И, наконец, систематические научные исследования, которыми всегда была сильна IBM. Буч назвал научно-исследовательскую работу, сосредоточенную в международной сети центров IBM Research, секретным оружием Rational. Проекты по созданию новых технологий разработки в рамках инициативы Eclipse с привлечением ресурсов сообщества Open Source, развитие парадигмы разработки на базе моделей, исследования по созданию сред совместной разработки, совершенствованию возможностей визуализации, анализу жизненного цикла дефектов программного обеспечения и ряд других в перспективе найдут воплощение в конкретных реализациях под маркой Rational.

Значимость исследовательского потенциала, который Rational приобрела в результате слияния с IBM, проявится с годами, но союз двух компаний уже приносит вполне конкретные плоды. Сабба подчеркнул, что одним из важнейших направлений развития линейки Rational на ближайшие годы будет дальнейшая интеграция с другими программными семействами IBM, прежде всего, Tivoli для взаимосвязи разработки и оперативной поддержки приложения, Lotus для создания коллаборативной среды разработки, Websphere для реализации сервисно-ориентированной архитектуры. Кроме того, новое руководство IBM Rational намерено сосредоточить свои усилия на оптимизации использования обширного инструментария Rational. Решения компании всегда были ценны тем, что давали не только практические инструменты моделирования и управления командой разработчиков, но и методологию разработки. Не умаляя значения RUP и UML, Сабба отметил, что сегодня важно понимать контекст их использования в различных средах разработки и предлагать клиентам ту совокупность продуктов и услуг, которая будет точно отвечать их потребностям. На это нацелен ролевой подход к организации средств разработки, который реализует IBM Rational в новой платформе SDP. В этом направлении будет и дальше развиваться семейство IBM Rational в сотрудничестве с партнерами IBM и с привлечением широкой аудитории разработчиков.


Непрерывность и замкнутость

Разработка, направляемая бизнесом, понимается в IBM Rational как интеграция традиционных процессов итерационной разработки с процессами основного бизнеса и ИТ-управления


От ALM к ITLM

Выступая на конференции, Гради Буч отметил значительную эволюцию, которую претерпела программная инженерия за годы своего существования, но подчеркнул, что, несмотря на все достижения и усовершенствования, процесс разработки программного обеспечения был, есть и всегда будет очень сложным. В стремлении преодолеть эту сложность инструментарий разработчика поднимался на все более и более высокий уровень абстракции, переходя от ассемблера к языкам высокого уровня, от разрозненных средств к интегрированным средам разработки. Однако за пределами таких сред, объединивших базовые функции — редакторы кода, компиляторы, средства создания пользовательского интерфейса и отладчики, — оставались другие важные этапы цикла разработки, такие как определение требований, моделирование, различные виды тестирования, управление изменениями и развертывание готовых программ. Аналитики, архитекторы, программисты, тестировщики не имели электронной среды сотрудничества, без которой продуктивность их взаимодействия в процессе создания сложных программных систем, очевидно, снижается. Правда, такое состояние дел вполне соответствовало методологии разработки по принципу «водопада», в соответствии с которой отдельные этапы процесса следуют строго друг за другом. Однако «прогрессивные силы» в сфере разработки программ, среди которых всегда в первых рядах были специалисты Rational, вели непримиримую борьбу с этими методами, доказывая, что подобный производственный конвейер не отвечает современным требованиям повышения производительности и сокращения затрат на разработку программных продуктов. При использовании «водопадного» метода весьма вероятны неоправданное увеличение времени реализации, превышение бюджета и риск полного срыва проекта из-за накопления ошибок от этапа к этапу.

Разработка программного обеспечения — создание уникального продукта, который совершенствуется от версии к версии, цикличный процесс, в котором разные, не всегда последовательные фазы могут влиять друг на друга. Этот цикл начинается с идеи и приводит к разработке первой версии программной системы, которая затем развивается и совершенствуется, вновь и вновь проходя этапы уточнения требований, моделирования, разработки, тестирования и развертывания. Так определяется ход разработки в итеративной методике, которая подразумевает постоянное сотрудничество между различными функциональными группами в команде и тесную взаимосвязь между разными этапами жизненного цикла приложения. Принцип итеративности декларируется как основополагающий в методологии Rational Unified Process (RUP), которая получила на сегодняшний день самое широкое распространение в среде профессиональных разработчиков. Идеи итеративности придерживаются и апологеты различных облегченных, так называемых agile-методик разработки. Но, хотя итерационные методы одерживают убедительную победу над устаревшими подходами к разработке уже далеко не первый год, реальную инструментальную поддержку они начали получать лишь в последнее время, когда ведущие поставщики интегрированных сред разработки выдвинули идею управления жизненным циклом приложений (Application Life Cycle Management, ALM).

В среде ALM предоставляется инструментарий для всех этапов жизненного цикла приложений и обеспечивается интеграция средств для разных этапов, благодаря чему поддерживается взаимодействие всех участников разработки. Первопроходцем в этой области и изобретателем термина ALM стала компания Borland, которая, благодаря приобретению целого ряда компаний, смогла около двух лет назад представить на рынке пакет интегрированных систем для управления жизненным циклом приложений. По тому же пути пошла IBM. Средства разработки на Java, которые развивались в рамках программного семейства IBM WebSphere, в результате слияния с компанией Rational были дополнены инструментарием для моделирования программных архитектур, управления требованиями, тестирования и поддержки командной разработки. Решающий шаг к реализации управления полным жизненным циклом приложений был сделан в прошлом году, когда IBM анонсировала проект под кодовым названием Atlantic, в рамках которого разрабатывались новые средства моделирования программных систем и проводилась интеграция инструментальных средств для разных этапов жизненного цикла в единую платформу разработки приложений Software Development Platform (SDP).

SDP реализует ролевой подход к автоматизации процесса создания ПО — все системы под маркой Rational отнесены к той или иной роли специалистов, участвующих в жизненном цикле приложения, включая менеджера проекта, аналитика, архитектора, разработчика и тестировщика. Инструментарий для разных ролей интегрирован на базе платформы разработки с открытым кодом Eclipse, что обеспечивает два важных преимущества. Во-первых, широкая поддержка и развитие Eclipse сообществом Java-разработчиков позволяет говорить о потенциале использования средств Rational на разных платформах. (Надо отметить, что SDP дает возможность работать и с .Net, но на других принципах, пока не поддерживая интеграции разработки в среде Microsoft c средами разработки на Java). Второе преимущество — интеграционные механизмы Eclipse Modeling Framework (EMF), которые обеспечивают более тесную — семантическую — интеграцию инструментария SDP на базе общих метаданных, что является несомненным шагом вперед по сравнению с интеграцией с помощью интерфейсов API, существовавшей раньше в семействе Rational.

С приобретением в прошлом году компании SystemCorp и выпуском на основе ее продуктов системы управления портфелем программных проектов Portfolio Manager платформа разработки SDP была дополнена ролью руководителя высшего звена, координирующего процессы создания программных продуктов с общими бизнес-целями компании. Наконец, последние анонсы, посвященные интеграции инструментария Rational с системами мониторинга приложений семейства Tivoli, говорят о том, что участниками жизненного цикла приложения, автоматизированного на базе SDP, становятся менеджеры по развертыванию и эксплуатации прикладных систем. Фактически IBM Rational первой среди конкурентов удалось замкнуть этот цикл, предложив полную линейку средств поддержки его этапов. И поскольку в него оказываются вовлечены не только традиционные участники процесса разработки приложений, но и бизнес-менеджеры, и сотрудники ИТ-службы, в IBM вместо ALM предпочитают говорить об управлении жизненным циклом ИТ — IT Lifecycle Management (ITLM).