Рынок средств разработки ПО в общем-то уже давно не представляет большого интереса для широкой ИТ-общественности, да и для ИТ-аналитиков тоже. Публикации о рейтингах, объемах продаж встречаются все реже*1, и уж во всяком случае их популярность не идет ни в какое сравнение с вниманием, уделяемым ERP-решениям, средствам управления документами, операционным системам...

_____

*1 Об одном из них см. PC Week/RE, N 14/2006, с. 38.

Еще два-три десятка лет назад слово "программист" было почти что синонимом понятия "пользователь компьютера". Сегодня же программисты составляют лишь единицы процентов от общего числа пользователей*1. И тем не менее их значение для развития ИТ-рынка за это время не только не уменьшилось, но, скорее всего, даже возросло (думаю, что этот тезис не требует особых пояснений и доказательств). Уникальность положения разработчиков ПО заключается еще и в том, что, будучи поставщиками решений для потребителей, они и сами входят в число пользователей с самой длинной по времени историей и самых первых в плане освоения появляющихся новинок. Да, сегмент инструментальных средств по объему не очень велик. Но помимо его важности для развития рынка в целом отметим, что он является старейшим в истории вычислительной техники и сам по себе хорошо отражает процессы, происходящие на ИТ-рынке в целом.

_____

*1 По разным оценкам, в мире насчитывается от 10 до 20 млн. разработчиков ПО, которых мы по старинке зачастую продолжаем называть программистами. С учетом “любителей”, для которых средства разработки не являются инструментом прямого зарабатывания денег (включая студентов и научных сотрудников), это число можно, наверное, увеличить в полтора-два раза.

Стратегические тенденции

Говоря о развитии рынка средств разработки, нужно, наверное, выделить несколько определяющих тенденций.

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

Вторая тенденция - разделение платформенных технологий на два лагеря: Microsoft .NET и Java/Open Source. При этом каждый из них использует собственную бизнес-модель работы на рынке: в первом случае речь идет фактически о монопродукте Visual Studio, а во втором - о достаточно широком спектре инструментов, конкурирующих в том числе и друг с другом. Конечно, для борьбы с "внешним врагом" Java-средства неминуемо должны как-то объединяться, что мы и видим на примере проектов Eclipse и NetBeans. Однако такая интеграция идет на пользу прежде всего поставщикам платформенного ПО, а тем, кто специализируется именно на инструментах, приходится очень непросто (достаточно вспомнить Borland).

Говоря о лагере Java, нужно выделить еще одну важную платформенную "подтенденцию": борьбу внутри самого Java/Open Source-сообщества. Да, стратегическим противником Eclipse является, конечно, Visual Studio. Но тактическое острие этого проекта, инициированного еще в начале века IBM, направлено на устранение с лидирующих позиций Java-инструментов корпорации Sun Microsystems, в данном случае - ее "общественного" проекта NetBeans. Конкуренция среди поставщиков Java-инструментов, с одной стороны, вроде бы подрывает единый фронт против .NET. Но в то же время в стратегическом плане именно эта внутренняя борьба служит важным стимулом для саморазвития, способствует появлению новых идей и технологий. Определенную роль тут играет и ряд локальных проектов в стане Open Source, направленных в том числе на обеспечение переноса .NET-приложений в среду других ОС, включая Linux (например, проект Mono).

И наконец, третий важный момент - переход к рассмотрению процесса собственно разработки ПО как одного из этапов управления жизненным циклом приложений (Application Lifecycle Management, ALM). Именно поэтому, если ранее понятие "инструмент" почти полностью ассоциировалось с интегрированной средой разработки (Integrated Development Environment, IDE), включающей редактор кода, компилятор, компоновщик и отладчик, сегодня мы чаще говорим об инструментальной системе, в состав которой входят средства поддержки групповой работы, управления требованиями, тестирования и т. д.

Перечислив долгосрочные направления развития средств разработки, посмотрим теперь на ключевые события и тенденции в этой сфере в 2006 г.

Метания компании Borland

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

Напомним, что в начале 2006-го эта корпорация объявила о намерении полностью сосредоточиться на бизнесе средств управления жизненным циклом приложения (Application Lifecycle Management, ALM) и отказаться от направления интегрированных средств разработки (Integrated Development Environment, IDE), связанного с созданием таких известных инструментов, как Borland Developer Studio (Delphi, C++Builder, C#Builder) и JBuilder (см. PC Week/RE, N 5/2006, c. 1). Судя по всему, поначалу компания действительно хотела продать свой IDE-бизнес. В качестве покупателя аналитики в тот момент называли, например, Oracle, которой было бы неплохо подкрепить свои платформенные амбиции соответствующим инструментальным набором. Но с продажей у Borland ничего не получилось, и тогда она заявила, что просто ищет стратегического инвестора для выделения данного направления в дочернюю, но самостоятельную компанию. Время шло, однако никакой организационной определенности не вырисовывалось, и в этой ситуации участники рынка с заметным недоверием относились к анонсируемым Borland планам по развитию собственных программных продуктов (см. врезку "Чего ожидать разработчикам от Borland?").    

Чего ожидать разработчикам от Borland?

Анна Иванова

Джейсон Вокс, директор по средствам разработки Borland в регионе EMEA, во время своего сентябрьского визита в Москву официально представил планы развития средств разработки и СУБД компании, которые явно не свидетельствовали о закрытии направления IDE. Они включали создание новых версий Delphi, предназначенных для .NET Framework 2.0, Windows Vista, 64-разрядных версий Windows, версии JBuilder 2007, основанной на платформе Eclipse, а также ряда новых версий СУБД Interbase (рис. 1).

Рис. 1. Ближайшие планы развития Borland Developer Studio

Планы в отношении Borland Developer Studio (то есть Delphi, C++Builder и C#Builder) включали развитие средств разработки для Windows, поддержку платформы Win32 и дальнейшее развитие библиотеки VCL (Visual Component Library) с целью создания ее версий для различных платформ. Кроме того, планируется перенос библиотеки VCL с платформы Win32 на Windows Vista, включение в нее поддержки платформ .NET Framework 2.0 и .NET Compact Framework и создание версий Delphi и C++Builder для 64-разрядных версий Windows.

Продолжит свое развитие и такое перспективное направление, как разработка приложений на основе UML-моделей, а также создание приложений на основе архитектуры, управляемой моделью (технология ECO - Enterprise Core Objects). Реализация этого подхода позволяет менять поведение приложения без изменения его кода, что, безусловно, является весьма прогрессивным шагом в области разработки приложений.

Нельзя не отметить недавний анонс семейства продуктов Borland Turbo: 8 августа подразделение средств разработки Developer Tools Group объявило о своих планах выпустить специальные одноязычные версии Borland Developer Studio, воскресив некогда популярную торговую марку Turbo. Набор Turbo включает в себя Turbo Delphi для Win32, Turbo Delphi для .NET, Turbo C++ и Turbo C#. Каждая версия будет доступна в виде бесплатной редакции Turbo Explorer и недорогой редакции Turbo Professional, позволяющей использовать компоненты и модули расширения других производителей. Во всех версиях Turbo можно создавать графические пользовательские интерфейсы, а также приложения для работы с базами данных, Интернетом и веб-службами, а продукты Turbo Delphi для .NET и Turbo C# поддерживают платформы Microsoft .NET и ASP.NET.

В планах дальнейшего развития JBuilder (рис. 2) - выпуск обновлений имеющейся версии, в том числе свободно доступной для загрузки редакции JBuilder Foundation, и создание новой версии JBuilder на основе все более набирающей популярность платформы Eclipse. Перенос JBuilder на эту платформу в первую очередь обусловлен тем, что на рынке сейчас есть огромное количество инструментов для Eclipse (как коммерческих, так и с открытым кодом) - для поддержки коллективной разработки и тестирования, для моделирования, бизнес-анализа и подготовки отчетов, для визуального создания Web-служб и компонентов Enterprise Java Beans. Отметим, что сама компания Borland имеет статус стратегического разработчика организации Eclipse Foundation.

Рис. 2. Перспективы развития Borland JBuilder

Недавно Borland анонсировала выпуск новой версии СУБД - InterBase 2007, поддерживающей двухбайтные строковые данные и позволяющей осуществлять резервное копирование путем обновления предыдущей копии. В дальнейших планах - поддержка создания серверного кода на языке Java и .NET-совместимых языках и расширение набора средств защиты данных.

И лишь в начале нынешнего ноября было официально объявлено: направление Borland Developer Tools Group выделяется в самостоятельное подразделение CodeGear (gear с англ. - упряжь, снасти, механизм привода), которое будет заниматься развитием и продвижением продуктов, связанных с IDE - Developer Studio (Delphi, C++Builder и C#Builder), JBuilder (включая новую версию на базе Eclipse под кодовым названием Peloton), Turbo и Interbase. Обратим внимание: речь идет не об отдельной компании, а о подразделении, результаты работы которого, впрочем, будут отражаться в финансовых отчетах корпорации отдельной строкой (как, например, в случае с IBM Software в IBM).

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

Суть проблем Borland в том, что эта компания - фактически последний крупный "неплатформенный" игрок на рынке средств разработки. И ему приходится очень непросто в условиях прессинга, который действует с нескольких сторон (в первую очередь это коммерческие продукты Microsoft и IBM Rational, а также бесплатный Eclipse). А сейчас, после неудачной попытки выделения его IDE-бизнеса, стало понятно и то, что ввязываться в сражение в этой сфере больших охотников просто нет. Для самой Borland ситуация 2006 г. вызывает ассоциацию с неудачной военной атакой, когда приходится, даже не напугав противника, возвращаться на исходные позиции, но с большими потерями в личном составе.

Впрочем, проведение подобных маркетинговых экспериментов на себе - это в стиле Borland. Вспомним, как в 1998 г. она взяла новое название Inprise, а в 2000-м неудачно пыталась объединиться с Corel. Другая бы компания уже давно не выдержала таких потрясений, но Borland демонстрирует удивительную непотопляемость, в основе которой - как раз те самые качественные средства разработки, пользующиеся популярностью у сотен тысяч профессиональных программистов во всем мире. Это вселяет оптимизм в отношении будущего компании.

AJAX - технология года

Если же говорить о новых технологиях разработки, то тут, наверное, самой горячей можно назвать тему AJAX. Еще в начале нынешнего года эта аббревиатура была знакома лишь узкому кругу гуру по части последних новинок в области разработки Web-приложений, а сейчас она, кажется, превратилась в повседневный термин компьютерных СМИ, в том числе и российских. За развитием этой темы мы следили в течение всего года и сейчас напомним только ключевые моменты.

AJAX - это сокращение от Asynchronous JavaScript + XML. Основная идея тут - новые возможности создания Web-приложений за счет переноса функционала на клиентский компьютер (подробное описание концепции см. в PC Week/RE, N 6/2006, с. 33). Отметим, что тенденция к "утолщению" клиента является общей для современного этапа развития ИТ*1. Еще один важный момент - это постепенное сближение технологий разработки традиционных (настольных) и Web-приложений.

_____

*1 В истории вычислительной техники можно проследить четкие периоды “приливов-отливов” в плане распределения функционала между “центром” и “местами”.

И все же, признавая перспективность самого подхода AJAX, надо сказать, что в прошедшем году эта технология была интереснее всего в плане демонстрации с ее помощью маркетинговых битв за перспективные сегменты рынка (см. также PC Week/RE, N 20/2006, c. 25). На ее примере четко было видно, как поставщики быстро разделились на все те же две противоборствующие группировки: Microsoft .NET и Open Source & Java. Во второй из них, как обычно, ключевые игроки (Google, Apache, Sun, Adobe) стали развивать собственные инструменты, а IBM не просто представила свои средства, а взяла на себя роль организатора сообщества в виде ассоциации OpenAJAX, которая должна выработать единые отраслевые AJAX-стандарты.

Однако еще интереснее было наблюдать за формированием AJAX-сегмента. Его технологическим основателем можно считать Microsoft, впервые реализовавшую поддержку объекта XMLHttpRequest в своем Internet Explorer 5.0 еще в конце 1990-х. И все же в роли Колумба здесь выступила корпорация Google, которая показала практическую возможность применения асинхронной модели работы Web-приложений, - это было сделано в ряде ее интернет-проектов: Google Groups, Google Suggest и Google Maps. Но она использовала технологию сугубо в целях внутренней разработки. А сделали AJAX достоянием гласности на ИТ-рынке разные инициативные группы разработчиков (порой в составе одного человека), которые почувствовали возможность своего выхода на рынок за счет продвижения новых технологий. Именно такой "инициативно-общественный" этап пришелся на 2005 г. (в его начале утвердился и сам термин AJAX).

А в 2006-м начался коммерческий период - в борьбу вступили ИТ-гиганты. Любопытно, что к тому моменту возник уже не один десяток "сообществ" и "инициатив" по развитию и продвижению AJAX. Число небольших "независимых" проектов продолжало расти: если в декабре прошлого года их насчитывалось 90, то уже в мае нынешнего - 134. Из них 58 были реализованы непосредственно на базе JavaScript, остальные - на основе других языков (в том числе по 22 на Java и PHP и 13 - на .NET).

Неужели они хотели составить конкуренцию Microsoft или IBM? Конечно, нет! Тут видится три варианта ответа. Во-первых, новые технологии - это просто интересно, и не надо забывать, что программирование - это в значительной степени творчество. Во-вторых, на первой волне интереса публики можно снять хотя бы и небольшие, но приятные бизнес-сливки. И в-третьих, многие "инициативы" преследовали более серьезные деловые интересы: они были типичными startup’овскими проектами, которые должны привлечь внимание ведущих ИТ-игроков для последующей реализации идей на промышленном уровне.

На примере AJAX в 2006 г. ИТ-отрасль продемонстрировала свое отточенное за последние десятилетия маркетинговое мастерство "разогревать" нужные ей темы. Я далек от того, чтобы назвать AJAX очередным мыльным пузырем типа "проблемы 2000". Наверняка это очень перспективно, поскольку соответствует общей тенденции архитектурного развития распределенных приложений. Но применение данной технологии на практике пока совсем не такое простое дело, как это рисовалось в презентациях ИТ-поставщиков в начале года. Опыт первого известного в России AJAX-решения в исполнении Mail.Ru, представленного нынешним летом (см. PC Week/RE, N 27/2006, с. 1), показывает, что подобные разработки еще весьма трудоемки, а предлагаемые на рынке инструменты пока далеки от совершенства.

После маркетингового "прилива" в первые месяцы 2006-го с лета мы наблюдаем стадию "отлива": число объявлений и публикаций на тему AJAX резко снизилось. Но скорее всего в следующем году начнется очередной подъем этой темы, причем на более высоком и, самое главное, практическом уровне. Как раз в первой половине 2007 г. на рынок выйдут инструменты ведущих поставщиков средств разработки, в том числе IBM и Microsoft, тогда и начнется проверка AJAX на массовом рынке.

На примере AJAX в 2006 г. ИТ-отрасль продемонстрировала свое отточенное за последние десятилетия маркетинговое мастерство "разогревать" нужные ей темы.

SOA - это заманчиво, но пока не очень понятно...

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

Действительно, ключевые идеи SOA выглядят очень привлекательно: компонентный подход, повторное использование готовых модулей, ориентация на потребности бизнеса. Но ведь эти ключевые положения были всегда в основе применения вычислительной техники! В чем же специфика их реализации сегодня, с учетом повышения роли ИТ в деятельности компаний и новых технологических возможностей?

Скорее всего, мы только сейчас подходим к моменту серьезного критического обсуждения самой концепции SOA и практических методов ее реализации, и некоторые подвижки в этом направлении наметились как раз прошедшей осенью, в том числе на конференциях IBM и Sun (см. PC Week/RE, N 44/2006, с. 10 и с. 25).

Но какое отношение SOA имеет к средствам разработки? На мой взгляд, как раз такая увязка вопроса поможет лучше понять суть самой SOA. Ведь SOA можно рассматривать как разработку ПО на некотором качественно новом уровне - в дополнение к привычному понятию "разработка приложений" появляется новое - "разработка информационных систем"*1. Соответственно если раньше информационная система компаний представляла собой набор в общем-то автономных приложений, привязанных к общей ИТ-инфраструктуре предприятия, то теперь стоит вопрос об их объединении на основе общей бизнес-логики. Получается, что на смену "системным интеграторам", как специалистам по реализации ИТ-проектов, должны прийти "разработчики систем".

_____

*1 Точно так же как двадцать лет назад, на смену созданию отдельных исполняемых модулей пришла разработка приложений. Что отразилось и в смене названия профессии: программисты стали разработчиками.

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

Собственно, представленная нынешней осенью в Москве новая платформа Sun Java Composite Application Platform Suite - это хороший пример реализации SOA-инструмента, на котором можно предметно обсуждать практические вопросы применения SOA-концепции. И в недалеком будущем мы наверняка увидим, что сегодняшние лидеры рынка средств разработки будут двигаться именно в этом направлении. И все же завершим данный раздел следующим высказыванием: на пути реализации идей SOA имеется немало проблем (ведь плюсы не бывают без минусов), серьезное обсуждение которых еще впереди.

...И многое другое

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

Одно из них - продолжение расширения возможностей ALM-средств. В этом году здесь отчетливо проявился общий для ИТ-отрасли вектор развития - увязка процесса разработки ПО с задачами основного бизнеса компаний. Именно эта тема рассматривается в статье Алексея Сапегина "Бизнес-ориентированная разработка в технологии IBM Rational" на примере инструментов IBM (с. 34). Реализация этой идеи представляется в виде обеспечения двух уровней управления проектами по созданию ПО. Первый - это управление конкретным проектом, осуществляемое менеджером проекта. Второй, который сейчас выходит на передний план, - управление портфелем проектов на уровне руководителя отдела или компании. Для решения последней задачи в составе выпущенного нынешним летом набора IBM Rational 7 используется новый Portfolio Manager (см. PC Week/RE, N 37/2006, с. 28). Аналогичные средства сейчас появляются и у других поставщиков - например, Microsoft в начале 2007 г. представит Project Portfolio Server 2007, правда, он будет причислен к семейству MS Office.

Одним из ключевых и традиционных элементов ALM-платформы являются разнообразные средства тестирования. В их развитии также происходят любопытные процессы, которые видны на примере приобретения корпорацией HP компании Mercury (см. PC Week/RE, N 28- 29/2006, с. 1). Последняя известна как поставщик средств оптимизации информационных систем, в центре которых находятся инструменты тестирования. Тут ее основным конкурентом выступает IBM Rational, хотя сейчас существует довольно четкая граница, разделяющая сферы влияния двух этих компаний: Rational ориентируется на задачи тестирования в ходе разработки нового ПО, а Mercury - на этапе внедрения готовых средств у конкретного заказчика. Но водораздел тут постепенно стирается, и это отражает как раз процесс сближения концепции SOA с разработкой ПО, о которой говорилось выше.

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

На примере Eclipse мы можем видеть еще одну интересную тенденцию - создание единой технологической платформы для традиционных IDE и для настольных приложений с насыщенной функциональностью (Rich Client). Реализацию этой идеи в собственном исполнении корпорация IBM представила нынешней осенью в виде новой платформы разработки Lotus Expeditor (см. PC Week/RE, N 43/2006, с. 22)*1.

_____

*1 Тут нужно отметить удивительное мастерство IBM, благодаря которому ей удается одновременно продвигать Eclipse как общедоступный Open Source-проект и развивать своt коммерческое семейство Rational, в том числе передавая ряд собственных технологий в общественное пользование и применяя передовые достижения Eclipse-сообщества в собственном инструментарии.

В этой связи, думаю, вполне уместно говорить о выделении самостоятельного направления в области средств разработки - направления специализированных инструментов создания настольных бизнес-приложений. Но как раз тут стоит обратить внимание на свое отечество: здесь мы легко обнаружим подобную систему, хотя и более специализированную, - платформу "1С:Предприятие". Это ПО у нас в стране традиционно воспринимается лишь как набор приложений для решения учетных задач (во многом благодаря маркетинговой политике самой "1С"), но это представление уже давно устарело (см. PC Week/RE, N 34/2006, с. 52). Напомним, что "1С:Предприятие" является сегодня одним из самых массовых средств профессионального программирования в нашей стране - в той или иной степени именно в таком качестве платформу используют порядка 100 тыс. ИТ-специалистов.

В общем-то это тема отдельного разговора, но если посмотреть на "1С: Предприятие" под таким углом зрения, то станет понятным, что ее стратегическим технологическим конкурентом уже являются не только Microsoft Dynamics, а все те же Eclipse, Lotus Expeditor и, конечно, разрастающийся .NET Framework.

Версия для печати