Visual Studio 2005 Team System: коллективная разработка

22 сентябрь, 2005 - 23:00Вячеслав Колдовский

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

Несмотря на традиционно сильные позиции Microsoft на рынке инструментальных средств, где она представлена семейством продуктов под маркой Visual Studio, ее решения для коллективной разработки ПО не снискали достаточной популярности. Основная причина, возможно, состояла в том, что до сих пор компания уделяла слишком мало внимания их адаптации к конкретным методологиям. К тому же ее система контроля версий Visual Source Safe, которая для подобных решений является одним из ключевых компонентов, довольно блекло выглядела по сравнению с продуктами конкурентов и вынуждала искать адекватную замену у сторонних поставщиков (itc.ua/20425).

Visual Studio 2005 Team System коллективная разработка
Инструменты различной сложности для удовлетворения потребностей разного уровня – в Microsoft это называют «персонализированной продуктивностью»

На этом фоне конкуренты активно развивали свои решения для коллективной разработки, успешно осваивая данный сегмент рынка. К примеру, корпорация Borland приобрела несколько компаний, выпускавших продукты для управления жизненным циклом ПО, а после интегрировала все имеющиеся в своем распоряжении инструменты под эгидой собственной методологии разработки (ALM, Application-Lifetime Management) и поставки программных решений (SDP, Software Delivery Platform).

Однако переоценить потенциал Microsoft вряд ли возможно, ведь в ее распоряжении имеются все необходимые технологии: для разработки (Visual Studio), управления проектами (Microsoft Project), контроля версий (Visual Source Safe), и уж тем более – для обеспечения коллективной работы (Exchange, SharePoint). Кроме того, Microsoft располагает собственными методологиями разработки (MSF – Microsoft Solutions Framework) и поставки и сопровождения решений (MOF – Microsoft Operations Framework). Таким образом, оставалось лишь интегрировать все это «богатство», что и будет сделано в анонсированной версии Visual Studio 2005, которая в редакции Team System, по замыслу корпорации, должна буквально совершить переворот на рынке средств коллективной разработки ПО и существенно потеснить вольготно обосновавшихся на нем конкурентов.

Семейство продуктов Visual Studio 2005

Выход Visual Studio 2005 запланирован на ноябрь, однако познакомиться с новой версией и оценить ее возможности можно уже сейчас. Microsoft предлагает всем желающим получить Visual Studio 2005 Team System Beta 2, официально объявленную последней «бетой» данного продукта. Соответственно, и финальный релиз не должен заметно отличаться по своим возможностям. Кроме того, в сентябре появится Visual Studio 2005 RC, в которой в основном будут исправлены обнаруженные ошибки, повышены надежность и быстродействие. Следует также отметить, что нынешняя бета-версия распространяется в рамках лицензии Go-Live, позволяющей создавать с ее помощью коммерческие решения (подробнее см. www.microsoft.com/Rus/Msdn/News/ Visual2005.mspx).

На самом деле под общим названием Visual Studio 2005 Microsoft планирует продвигать обширное семейство продуктов:

  • упрощенные инструменты Express Edition, ориентированные на начинающих программистов и любителей. Отдельно выделяется продукт Visual Web Developer Express Edition, предназначенный для визуального создания Web-сайтов;
  • редакцию Visual Studio 2005 Standard Edition, рассчитанную на создание обычных «настольных» приложений, в частности, на нее Microsoft рекомендует мигрировать разработчикам, использующим устаревший Visual Basic 6, поддержка которого прекращается. С ее помощью можно также создавать приложения для портативных устройств и ориентированные на применение Web-сервисов;
  • Visual Studio 2005 Tools for the Microsoft Office System, представляющую собой средство для создания решений различного уровня сложности с применением Microsoft Office System, в том числе и на основе активно продвигаемой Microsoft в настоящее время концепции «умных» клиентов (smart clients);
  • Visual Studio 2005 Professional Edition – наиболее функциональный пакет, адресованный профессиональным разработчикам. Имеющиеся в нем инструменты позволят создавать обширный спектр приложений – от мобильных и настольных до серверных и Web-сервисов;
  • редакция Visual Studio 2005 Team System, включающую в себя клиентские версии Visual Studio 2005 Professional и принципиально новый для семейства Visual Studio компонент – Team Foundation Server. Именно она в наибольшей степени ориентирована на коллективную разработку, и ее возможности мы рассмотрим детальнее.

Несколько особняком стоит Visual Source Safe 2005 – обновленная система контроля версий от Microsoft. Корпорация рекомендует использовать ее индивидуальным разработчикам и небольшим командам, а на более крупные коллективы рассчитаны новые службы контроля версий, интегрированные в Team Foundation Server. Похоже, что Microsoft решила постепенно свести со сцены скомпрометировавший себя в предыдущих версиях VSS, что вполне оправданно с маркетинговой точки зрения. Несмотря на первоначальные планы принципиально обновить данную систему, в дальнейшем Microsoft отказалась от этой идеи и не стала распылять ресурсы – все предполагаемые кардинальные усовершенствования перекочевали в модуль контроля версий из Team Foundation Server.

Нововведения Visual Studio 2005

Visual Studio 2005 базируется на новой версии среды исполнения приложений на основе управляемого кода .NET Framework 2.0, которая войдет в стандартную поставку будущей операционной системы для рабочих станций – Windows Vista, но сможет устанавливаться на все официально поддерживаемые версии Microsoft Windows. В ней Microsoft реализовала много изменений, в том числе и касающихся базовых языков программирования. Так, в C# появились: средства для создания обобщенных алгоритмов (generics), итераторы, анонимные методы, возможность разбиения кода одного класса по нескольким файлам (partial types), упрощенный синтаксис инициализации делегатов. Расширена и переработана также иерархия классов .NET Framework, повышено быстродействие исполнения кода под управлением данной среды.

Visual Studio 2005 Team System коллективная разработка
Активное использование Web-служб и множества собственных технологий Microsoft – отличительные черты архитектуры Team Foundation Server

Еще одно интересное нововведение .NET Framework 2.0 – служба уведомления об ошибках приложений, которая, по обещаниям Microsoft, будет доступна сторонним разработчикам через сайт корпорации – они смогут подписаться на получение сообщений об ошибках своих приложений, предварительно поступающих в Microsoft.

Обращает на себя внимание курс компании на применение «умных» клиентов, представляющих современную альтернативу «тонким» и «толстым» клиентам, одновременно обладая преимуществами и устраняя недостатки и тех, и других. В качестве таковых сегодня рассматриваются не только традиционные программы, соответствующие определенным критериям (распространяющиеся и обновляющиеся через сеть, кэширующие и синхронизирующие данные, не требующие для своей установки прав администратора и т. д.), но и мобильные приложения на основе .NET Compact Framework, и даже решения на основе Microsoft Office System.

Конечно, время покажет, насколько подобные утверждения соответствуют действительности, однако, по мнению автора статьи, в технологии «умных» клиентов гораздо больше маркетинговой шумихи, чем реальной выгоды. В частности, рабочее место, организованное с применением данной технологии, получается гораздо более дорогостоящим по сравнению с настоящим «тонким» клиентом, основанным на терминальной системе или Web-приложениях (особенно при использовании бесплатной ОС). С другой стороны, преимущества перед полноценным «толстым» клиентом также недостаточно заметны, хотя и очевидно, что технологии вроде ClickOnce и всемерная интеграция программных средств призваны поспособствовать снижению TCO.

Учитывая постоянное усложнение современного программного обеспечения, Microsoft предоставляет разработчикам в Visual Studio множество шаблонов, которые можно использовать как отправную точку для создания достаточно сложных приложений – они доступны на сайте компании и список их будет постоянно расширяться.

Значительным усовершенствованиям в Visual Studio 2005 подверглись инструменты тестирования. В предыдущих версиях они заметно отставали от среды разработки, поэтому тестирование, как правило, проводилось отдельно, с помощью решений других поставщиков. Теперь рабочее место тестировщика в Visual Studio 2005 тесно интегрировано со средствами поддержки жизненного цикла проекта и предусматривает различные варианты тестирования, среди которых стоит особо выделить нагрузочное, т. е. имитирующее одновременный доступ к Web-решению группы клиентов. Также следует отметить, что отныне юнит-тесты являются стандартной возможностью среды разработки и не требуют использования сторонних продуктов.

Имеются в Visual Studio 2005 и другие изменения и усовершенствования, направленные на облегчение и повышение производительности труда разработчиков. Многие из них появились в ответ на реальные запросы специалистов, к примеру, существенно упрощена разработка и отладка приложений на ASP.NET – теперь не потребуется ни установки локального Web-сервера, ни развертывания FrontPage Extensions.

Коллективная разработка

Visual Studio 2005 Team System коллективная разработка
Visual Studio 2005 Team System ориентирует на использование индивидуального набора инструментов, соответствующего роли участника проекта
Visual Studio 2005 Team System коллективная разработка
После создания проекта можно ознакомиться с рекомендациями, которые соответствуют избранной методологии
Visual Studio 2005 Team System коллективная разработка
Каждый проект в Team Foundation Server имеет свой портал на основе Windows SharePoint Services

В Visual Studio 2005 Team System нашел отражение принципиально новый подход к организации совместной разработки приложений. Microsoft больше не собирается предлагать рабочие места по принципу «все-в-одном» – центральная идея состоит в разделении доступных инструментов в соответствии с ролями участников реальных проектов.

Главный компонент Visual Studio 2005 Team System, обеспечивающий все усовершенствования коллективной работы, – Team Foundation Server – выполнен на основе трехуровневой архитектуры:

  • хранилище данных реализуется с помощью MS SQL Server 2005;
  • сервер приложений базируется на IIS из Windows Server 2003, при этом используются ASP.NET, Windows SharePoint Services, а также службы отчетов MS SQL Server 2005;
  • стандартное клиентское ПО оформлено в виде модуля Team Foundation Client, который входит в поставку Visual Studio 2005 Professional (что немаловажно, вместе с лицензией на подключение к Team Foundation Server), кроме того, можно использовать приложения из состава Microsoft Office, браузер и даже командную строку.

В силу интеграции самых разнообразных технологий Team Foundation Server является весьма тяжеловесным приложением, поэтому рекомендуется раздельное развертывание хранилища данных и сервера приложений на отдельных компьютерах. С другой стороны, интегрированный подход весьма положительно сказался на возможностях продукта – например, список активных задач можно просмотреть не только из среды разработки Visual Studio, но и через браузер, а также с помощью Microsoft Excel или Microsoft Project. Подобная гибкость позволяет существенно упростить взаимодействие участников проекта, использующих в своей работе различные инструменты.

Структурно Team Foundation Server представлен несколькими тесно взаимосвязанными модулями, каждый из которых отвечает за определенные задачи:

  • Work Item Tracking осуществляет контроль за элементами проекта (ошибки, задачи, требования), составляющими основу процесса разработки и определяющимися применяемой методологией;
  • Source Code Control предназначен для контроля версий и использует MS SQL Server 2005. По утверждениям Microsoft, этот модуль существенно отличается от Visual Source Safe и лишен его недостатков;
  • Build Automation позволяет по заданному расписанию запускать компиляцию исходных файлов и сборку приложения, а также тесты, обновление метрик и сбор статистики по проекту;
  • Team Communications организует службы обмена информацией. Каждый проект, размещенный на Team Foundation Server, имеет свой портал, построенный на основе Windows SharePoint Services, что дает возможность быстро получать доступ к нужным файлам, принимать участие в обсуждениях, следить за показателями качества и ходом выполнения проекта;
  • Reporting отвечает за службы построения отчетов на основе MS SQL Server 2005 Reporting Services. Стандартно доступен достаточно обширный список отчетов, позволяющих в наглядной форме представить разностороннюю информацию о ходе проекта, который, естественно, можно дополнить в зависимости от существующих потребностей.

Важная особенность Team Foundation Server, выгодно отличающая данное решение от большинства конкурирующих, – это обязательная привязка к определенной методологии разработки. Ее необходимо учитывать при создании проекта, а в дальнейшем она определяет его ход, роли и способы взаимодействия участников, метрики, формы документов и множество других важных вопросов. В комплекте с Visual Studio 2005 будут поставляться шаблоны на основе MSF, которая успешно применяется Microsoft при реализации ее собственных проектов. Однако допускается также подключение дополнительных шаблонов или даже самостоятельная их разработка. Более того, активное использование Web-служб и открытость API позволяют создавать для Team Foundation Server специальные расширения и строить на его основе собственные решения.

Заключение

Таким образом, можно смело утверждать, что Microsoft создала достойное решение для обеспечения коллективной разработки приложений. Пожалуй, впервые за всю историю существования Visual Studio после знакомства с Visual Studio 2005 Team System и использования Team Foundation Server не возникает желания сразу же заняться поиском альтернативы. Решение от Microsoft привлекает функциональностью, простотой применения, органичной интеграцией с различными инструментами.

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

Нельзя также не приветствовать усилий Microsoft, направленных на формирование и поддержку сообщества программистов, использующих Visual Studio. Свободное распространение бета-версий, открытые обсуждения, опросы и сбор отзывов, «блоги» ключевых разработчиков пакета, безусловно, помогли приблизить Visual Studio 2005, особенно в редакции Team System, к тому идеалу, о котором мечтают большинство специалистов. По нашему мнению, этот продукт имеет все шансы осуществить прорыв в своем сегменте рынка, занять на нем достойное место и существенно потеснить конкурентов.

e-mail автора: [email protected]