ОБЗОРЫ
Современный компьютерный мир вот уже почти десять лет развивается под знаком борьбы двух основных конкурирующих архитектурных линий - Java и COM/.NET. Однако при всех достоинствах Java у этой концепции до недавнего времени был один существенный изъян. Дело в том, что ее авторы (Sun Microsystems) сделали в свое время основной акцент на модель исполнения Java-приложений, оставив без внимания вопросы разработки ПО. В результате на рынке появился довольно широкий спектр непохожих друг на друга Java-инструментов различных поставщиков. Такая ситуация объективно препятствовала процессу консолидации Java-сообщества и явно ослабляла фронт разношерстных Java-средств перед лицом монолита в образе MS Visual Studio .NET. И это при том, что повышение эффективности создания ПО и объединение усилий Java-разработчиков остаются крайне актуальными вопросами.
Именно на решение этих задач был нацелен инициированный семь лет назад корпорацией IBM проект Eclipse, который получил мощную поддержку ИТ-отрасли и сегодня представляет собой важнейшую ветвь развития технологий построения информационных систем корпоративного уровня. В начале марта в Берлингейме (США) прошла конференция EclipseCon’2005, обозначившая дальнейшие перспективы развития данного направления.
От среды Java-разработки к экосистеме Eclipse
Проект Eclipse был начат корпорацией IBM в 1998 г. с целью создания интегрированной среды Java-разработки нового поколения. Однако довольно быстро руководство компании поняло, что для построения конкурентоспособного решения нужно действовать в кооперации с другими поставщиками Java-инструментов. В результате в ноябре 2001-го был сформирован первый совет управляющих проектом Eclipse.org, в состав которого вошли компании Borland, IBM, MERANT, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft и Webgain. В последующие два года к этой работе подключились многие другие ведущие ИТ-поставщики, в том числе Sybase, Fujitsu, Hitachi, Oracle, SAP и Intel.
В начале 2004-го IBM сделала окончательный шаг по преобразованию проекта Eclipse из частного в отраслевой, представив Eclipse Platform в виде ПО с открытыми исходными кодами. Соответственно в феврале того же года совет управляющих был преобразован в некоммерческую организацию Eclipse Foundation, открытую для участия всем желающим (www.eclipse.org). Это позволило привлечь к работам самый широкий круг заинтересованных сторон: основных технологических вендоров, заказчиков, университеты и научно-исследовательские институты, органы стандартизации, индивидуальных ученых и программистов. Таким образом, уже более года Eclipse развивается как независимый открытый проект, хотя IBM безусловно занимает в нем позицию первой среди равных.
Стратегические вопросы работы фонда решаются советом директоров Eclipse Board, среди которых есть четыре категории участников: стратегические разработчики (Strategic Developers), стратегические потребители (Strategic Consumers), поставщики расширений (Add-in Providers) и руководители проектов Open Source. В состав основателей фонда, имеющих статус стратегических разработчиков и потребителей, в феврале 2004 г. вошли компании Ericsson, HP, IBM, Intel, MontaVista Software, QNX, SAP и Serena Software. В августе в качестве Strategic Developer в него вступила Actuate, а в марте 2005-го - BEA Systems, Borland Software, Computer Associates, Sybase и Wind River Systems.
Оперативным управлением работой Eclipse Foundation занимаются три совета - по требованиям, архитектуре и планированию, а сами разработки ведутся в виде проектов Eclipse Open Source. В настоящее время при поддержке более пятидесяти компаний - членов организации выполняются шесть основных проектов (под руководством соответствующих комитетов).
- Eclipse. Это первый и самый главный проект фонда, в рамках которого создается собственно открытая индустриальная платформа для разработки интегрированных инструментов и функционально насыщенных клиентских приложений.
- Eclipse Tools. Целью этого проекта является координация разработок в области инструментов для Eclipse Platform. Здесь решаются вопросы минимизации дублирования работ, создания и использования общих компонентов, обеспечения совместимости продуктов. Eclipse Tools Project играет важную роль с точки зрения практической оценки создаваемой платформы и определения путей ее развития.
- Eclipse Technology. Миссия данного направления - обеспечить возможность участия в работе фонда широкого круга разработчиков, ученых, преподавателей и студентов, поддерживая проведение исследований, обучение и инновационные проекты.
- Eclipse Web Tools Platform. Разработка общей инструментальной платформы для создания специализированных J2EE- и Web-ориентированных решений. Одна из задач проекта - демонстрация возможностей базовой платформы.
- Eclipse Test & Performance Tools Platform. Формирование интегрированного набора технологий для создания инструментов, позволяющих проводить полный цикл тестирования ПО. Здесь создаются эталонные варианты инструментов, используемые в том числе и для разработки базовой платформы Eclipse.
- Business Intelligence & Reporting Tools. Создаваемые тут инструменты адресованы широкому кругу Java-разработчиков для решения задач бизнес-аналитики и управления отчетами.
За семь лет существования проекта Eclipse было выпущено три версии базовой платформы, а сама концепция переросла свои первоначальные рамки. Сегодня речь уже идет о построении многофункциональной технологической платформы для создания (различными вендорами) широкого спектра инструментов, покрывающего полный жизненный цикл разработки ПО, включая поддержку моделирования, развитие программных сред для Java, C/C++ и других языков, тестирование, развертывание и эксплуатацию. Более того, осуществленный год назад выпуск версии Eclipse 3.0 обозначил выход этого проекта за пределы собственно разработки ПО и положил начало применению данной платформы для решения более широкого круга задач - поддержки ИТ-ресурсов предприятия, создания приложений для функционально насыщенного клиента и различных встроенных разработок.
Так будет выглядеть архитектура Eclipse к концу 2005 г.
Eclipse позволяет создавать многоязычные, многоплатформенные, мультивендорные инструментальные решения. Уже сейчас это ПО поддерживается для широкого круга клиентских ОС, включая Linux, HP-UX, AIX, Solaris, QNX, OSx и Windows. В то же время ориентация на архитектуру Java представляет собой изначальную особенность проекта: Eclipse Platform написана на этом языке.
Нужно подчеркнуть, что Eclipse не подразумевает разработку коммерческих продуктов для конечных пользователей (те же средства разработки ПО). Цель проекта - создание технологической платформы для интеграции различных инструментов, на базе которой компании - как поставщики, так и пользователи ИТ - могут создавать собственные решения. Именно поэтому в качестве ключевого принципа реализации Eclipse выбрана модель Open Source. Помимо чисто технологических аспектов это подчеркивает идейное и организационное единство Eclipse с другим архитектурным направлением современных ИТ - операционной системой Linux (а также с такими разработками, как Apache и MySQL). Использование кода Eclipse Platform регулируется моделью Common Public License, которая в последующем позволит распространять его на некоммерческой основе. Фактически проект Eclipse сегодня перерос свои чисто технологические рамки: он сейчас затрагивает вопросы бизнеса участников ИТ-рынка (вендоров и заказчиков), и поэтому применительно к нему нередко используется термин "экосистема".
Перспективы и проблемы развития
Проект Eclipse за последние пару лет превратился в один из решающих факторов развития рынка средств разработки. Не случайно презентация вице-президента Forrester Research Карла Цайта на конференции EclipseCon’2005 называлась "Как Eclipse меняет игру". Он, в частности, отметил растущую популярность этой платформы: опрос, проведенный среди четырехсот руководителей ИТ-подразделений, выявил, что 65% организаций уже сейчас в той или иной мере применяют Eclipse. Причем вполне вероятно, что популярность этой платформы еще выше, - ведь многие программисты используют такие инструменты, не ставя в известность свое начальство.
До недавнего времени продвижение Eclipse на рынок коммерческих инструментов осуществлялось в основном усилиями IBM, которая сделала эту технологию базовой при создании своих продуктов для разработчиков и конечных пользователей - Software Development Platform (см. PC Week/RE, N 1/2005, с. 26) и Workplace (см. PC Week/RE, N 5/2005, c. 24). Однако к этой деятельности (в качестве стратегических разработчиков проекта Eclipse) подключился еще ряд ведущих поставщиков, и теперь они могут существенно расширить сферу применения Eclipse. В частности, Borland будет использовать данную технологию в своей платформе управления жизненным циклом разработки, Computer Associates - в продуктах для управления ИТ-ресурсами, BEA Systems - в средствах разработки и интеграции приложений.
На EclipseCon’2005 был представлен план развития технологий Eclipse, который включает работы по следующим направлениям (см. рисунок):
- расширение спектра решений по управлению жизненным циклом разработки ПО. Речь идет, в частности, о новых проектах по управлению требованиями, моделированию, управлению данными, развертыванию ПО и администрированию систем. Кроме того, базовый каркас Eclipse будет адаптирован к таким новым технологиям, как Web Services и Service-Oriented Architectures. Расширится и поддержка различных языков программирования;
- повышение возможностей Rich Client Platform (RCP) - технологии создания и менеджмента приложений с насыщенным пользовательским функционалом. RCP впервые появилась в рамках Eclipse Platform 3.0 в июне 2004 г. В нынешнем марте была обнародована RCP 3.1, которая включает улучшенные средства управления сценариями, более мощную графику и эффективное управление таблицами. Будущее развитие этой платформы связано с повышением безопасности, расширением спектра поддерживаемых операционных систем и клиентских устройств, более гибким управлением обновлениями и самой интегрированной средой;
- применение для встроенных решений. Это новое направление применения Eclipse для одного из самых динамично развивающихся сегментов ИТ-рынка;
- многоязычная поддержка. До настоящего времени Eclipse ориентировался на работу с Java и С/С++. Теперь ставится задача адаптировать инструментальную среду для работы с более широким спектром языков программирования, как компилируемых, так и скриптовых;
- технологии для вертикальных рынков - возможность использования Eclipse для создания специализированных прикладных решений.
Говоря об успехе Eclipse, эксперты называют целый набор причин - такие, как принципы Open Source, удачная схема управления проектом, эффективная модель обновления версий (Agile development, с выдачей обновлений через каждые шесть недель), нейтральность по отношению к вендорам, платформам и языкам программирования. Однако есть еще один, самый главный фактор - противоборство с Microsoft Visual Studio. Не вызывает сомнений, что само появление проекта Eclipse и последующая консолидация вокруг него Java/Linux-поставщиков объясняется растущим влиянием платформы .NET.
При этом, сравнивая концепции Eclipse и Visual Studio, можно найти очень много общего в данных технологиях. Ключевое же различие лежит в используемых бизнес-моделях реализации проектов - мульти- и моновендорной.
В своем выступлении Карл Цайт сделал очень меткое замечание: "Я не знаю, кто среди ИТ-поставщиков сегодня может игнорировать Eclipse. Разве что только Microsoft". Впрочем, к этому проекту пока не подключилась и Sun Mycrosystems, которая занимается развитием собственной платформы NetBeans. Однако возможность сотрудничества Sun с Eclipse в недалеком будущем представляется весьма реальной.
Что же касается Microsoft, то ее участие в Eclipse Foundation видится совершенно невероятным. Правда, представитель Microsoft Джейсон Вебер, ведущий программный менеджер Visual Studio, присутствовал на EclipseCon’2005 и заявил там о готовности рассмотреть технические вопросы интеграции Eclipse и Visual Studio.
Да и подавляющее число участников Eclipse совсем не готовы сделать ставку исключительно на этот проект. Даже IBM подтверждает намерение продолжать поддержку Visual Studio в выпускаемых средствах разработки, а Borland, объявляя недавно о расширении своего участия в Eclipse Foundation, подчеркнула, что это не означает снижения ее активности на поле .NET.
В то же время, констатируя динамичное развитие Eclipse, наблюдатели задают один очень важный вопрос: как этот проект повлияет на рынок инструментальных средств? В своем комментарии по этому поводу вице-президент Borland по взаимоотношениям с разработчиками Дэвид Интерсимоне отметил положительный момент: "Eclipse может положить конец постоянной модернизации инструментария при каждом изменении базовых технологий".
Но что хорошо для пользователя, то не всегда выгодно для производителя. Например, не приведет ли распространение модели Open Source к противоречию с коммерческими интересами участников процесса? Большинство экспертов сходятся во мнении, что вендорам, для того чтобы продолжать успешный бизнес на инструментальном рынке, придется внести серьезные коррективы в стратегию и тактику создания и продвижения своих продуктов.
В качестве потенциальной проблемы нужно отметить и такую: удастся ли членам Eclipse Foundation сохранить внутреннее единство и обеспечить целостность проекта? Ведь многие из них являются конкурентами... Впрочем, ответ на этот вопрос в общем-то известен - перед лицом внешней угрозы (Visual Studio) внутренние противоречия отходят на второй план.