Borland любит меняться. Помните времена, когда самого этого названия вдруг не стало, а появилось новое — Inprise? За сменой имени стояло стремление отразить новую стратегию компании, связанную с выходом на рынок инфраструктурного программного обеспечения для интеграции корпоративных приложений.
Новое имя не прижилось: компания была и остается компанией для разработчиков, которые уже на протяжении двух десятилетий знают и ценят именно марку Borland. С начала этого года компания вступила в активный диалог с многочисленным сообществом своих пользователей; семинары, презентации, региональные мероприятия не обходят стороной и Россию. В компании происходят, возможно, наиболее масштабные за всю ее историю перемены. Borland купила несколько компаний — разработчиков программных продуктов.
В Borland всегда стремились сохранять независимость от платформ разработки, поддерживать труд программиста в предпочтительной для него среде — Java, Windows, Linux. Оставаясь верной этому принципу, компания только что представила систему разработки C#Builder для платформы Microsoft .Net Framework, а также технологию Janeva для обеспечения взаимной совместимости приложений, разработанных для .Net, и программ, созданных в средах CORBA или EJB. Новые продукты станут составной частью семейства решений для управления жизненным циклом приложений на платформе .Net и позволят создавать программы для .Net, способные интегрироваться в распределенные среды на базе других платформ.
В начале июня Borland провела в Москве семинар, посвященный стратегии компании по реализации управления полным жизненным циклом приложений для Java и .Net. В семинаре принял участие вице-президент Borland по связям с разработчиками Дэвид Интерсимон. О неординарности этой фигуры говорит уже визитка Дэвида, где наряду с официальной должностью указано Chief Evangelist. (В компании Интерсимона в шутку называют вторым СЕО, подразумевая — Chief Evangelist Officer.) C Дэвидом Интерсимоном беседовала редактор журнала «Открытые системы» Наталья Дубова.
Как вы оцениваете первые результаты приобретения новых компаний?
Все эти компании имели долгую историю отношений с нами, и их продукты были интегрированы с нашими решениями еще до приобретения. Одной из мер нашего успеха была скорость, с который мы начали поставлять на рынки новые продукты после приобретений. Так, Together Edition for Jbuilder или обновленный Enterprise Studio for Java появились в течение одного квартала после завершения слияний. Кроме того, в новые продукты CaliberRM (согласование требований) и StarTeam (управление конфигурацией) интегрирована поддержка Java. В плане интеграции новых продуктов и технологий мы решили практически все вопросы. Завершено и организационное объединение специалистов, которые занимались продажами по регионам.
Теперь, когда Borland обладает полным набором инструментальных средств поддержки жизненного цикла приложений, основным соперником компании становится, по всей видимости, IBM Rational. Как бы вы охарактеризовали конкурентные преимущества решений, которые предлагает Borland?
Первое главное отличие — уровень интеграции между различными этапами процесса разработки. У Rational есть набор инструментальных средств, которые покрывают весь процесс разработки, но эти средства никогда не были тесно интегрированы между собой. Второе отличие в том, что наша стратегия ALM охватывает разные платформы. Что касается Rational, то после вхождения этой компании в IBM возникает вопрос, что теперь будет делаться для поддержки платформ, отличных от IBM, будут ли продукты Rational работать с другими прикладными стеками помимо WebSphere. Мы же с самого начала объявили о полном нейтралитете в этой области. И мы обеспечиваем глубокую интеграцию всех этапов процесса. Например, возможна интеграция отдельного продукта Rational XDE for .Net со средой разработки Microsоft Visual Studio. Мы же обеспечиваем полную интеграцию всех продуктов от единого поставщика; кроме того, для тех заказчиков, которые пользуются Visual Studio, мы можем предоставить средства интеграции с этой системой. Но мы не требуем от заказчика, чтобы у него обязательно были те или иные продукты. Мы создаем разнообразную, гибкую среду разработки.
Выступая перед разработчиками, вы отметили, что за 34 года работы в этой сфере сталкивались со всевозможными проблемами, связанными с процессом разработки программного обеспечения? Стратегия поддержки полного жизненного цикла ALM призвана снять большинство проблем групповой разработки. Что остается?
Думаю, существует целый пласт проблем, связанных с модернизацией существующих систем и с обеспечением их дальнейшего развития. Легко добавлять новые свойства, новые функции, делать поэтапные усовершенствования. Но как осуществить перенос всего процесса проектирования, моделирования приложений на новую платформу, допустим, на новый пользовательский терминал с совершенно другим интерфейсом, например, на мобильный телефон? Поэтому мы используем архитектуру MDA — model-driven architecture (она известна также под названием design-driven development — «разработка, определяемая проектированием» — Н.Д.), которая позволяет работать на очень высоком уровне абстракции — на уровне модели приложения, а затем, определив, что необходимо реализовать, спускаться на более низкие уровни. В архитектуре MDA вопросы выбора уровня презентации, языка программирования, базы данных модель решает автоматически. Что касается остального, то, действительно, наш подход ALM настолько тесно интегрирует все этапы процесса разработки, что позволяет решить подавляющее большинство возникающих при этом проблем.
Технология MDA появилась у Borland недавно. Что дает переход к ней?
Действительно, эта технология пришла к нам вместе с компанией BoltSoft. До этого мы какое-то время искали такую модель разработки, которая позволила бы нам работать на более высоком уровне абстракции. Мы пытались найти новый способ разработки, который позволил бы усовершенствовать производительность процесса разработки приложений, сократить расходы, связанные с разработкой, и одновременно повысить ее качество. Эти возможности предоставляет MDA. Разгонять компилятор можно в определенных границах, дизайн пользовательского интерфейса тоже совершенствуется до некоторого предела. Нужен принципиально новый подход. На протяжении всей своей двадцатилетней истории компания Borland всегда стремится найти оптимальные способы повышения производительности труда разработчика. Может сложиться впечатление, что работа на уровне модели снимает необходимость в труде программистов. Конечно, это не так. MDA не уничтожает труд программиста, этот подход понижает сложность работы программистов и позволяет им концентрироваться на наиболее творческих участках.
MDA — ноу-хау Borland, или другие организации тоже продвигают эту технологию?
MDA — спецификации, опубликованные отраслевой организацией по стандартам Object Management Group. Так получилось, что Borland — одна из немногих компаний, у которой уже есть готовый продукт, где эти спецификации реализованы. Речь идет о решении Enterprise Core Objects (ECO) Framework. Другие пока только говорят, что они что-то могут сделать в этой области. Были даже некоторые сообщения о том, что Microsоft заинтересована во вступлении в OMG именно из-за MDA. И это при том, что Microsoft никогда не входила в OMG в силу своей приверженности объектной модели построения распределенных приложений COM/DCOM (OMG продвигает альтернативный стандарт CORBA — Н.Д.).
Новые решения Borland нацелены на групповую разработку. Вы много говорите о том, что продукты компании позволят упростить труд программистов. Найдется ли в этой новой системе место для талантливых индивидуалов?
Я заявляю, что все то, что мы даем группам разработчиков, имеет такую же большую ценность и для индивидуальных разработчиков. Индивидуальный разработчик тоже должен учитывать техническое задание, требования заказчика. Он должен проектировать приложения на высоком уровне абстракции, ему нужно тестировать созданное приложение. Интеграция всех этих этапов процесса разработки облегчает труд индивидуального разработчика, малых групп разработчиков, повышая эффективность их работы, потому что гораздо проще использовать единую среду разработки, чем думать о том, как соединить друг с другом полдюжины разных инструментов, отвечающих каждый за свой этап. В такой ситуации индивидуальный разработчик не сможет обеспечить весь процесс и сосредотачивается на какой-то одной его части (например, на написании кодов). В наше время граница между этапами разработки архитектуры и написания кодов становится очень и очень размытой — так же, как кодирование, компиляция и отладка являются разными, но частями одного процесса, с которым связан программист. Мы предоставляем единую среду разработки, где имеются средства, которыми может пользоваться каждый. Таким образом, мы не забываем о небольших группах разработчиков, не забываем об индивидуальных разработчиках.
Расскажите о новых продуктах для платформы Microsoft .Net — C#Builder, Janеva. Поддерживается ли полный жизненный цикл разработки для .Net?
Среда разработки C#Builder позволяет разрабатывать все виды приложений для .Net. Одним из ключевых свойств этой системы является возможность работать с самыми разными базами данных посредством единого интерфейса. Вам не придется писать отдельные коды для доступа к Oracle, DB2 и т.д. Вторая важная характеристика C#Builder — поддержка всех элементов распределенных вычислений, которые необходимы для работы приложений: Web-службы, Microsoft СОМ+ и .Net Remoting, а также CORBA и EJB. И третье — поддержка технологии разработки МDA, которая позволяет разработчикам не только писать коды, но и делать все остальное. Таковы три основных отличия между C#Builder и, к примеру, среды разработки Microsoft Visual Studio.
Janeva — это технология и продукт, который позволяет приложениям .Net общаться с CORBA и EJB на уровне серверов приложений. С помощью Janeva программист, продолжая работать в привычной ему среде .Net, получает доступ к CORBA и EJB. Тот же интерфейс, те же процедуры определения свойств и вызова методов, т. е. те же самые коды и типы данных. Janeva берет на себя всю работу, необходимую для доступа к объектам в другой среде.
Фактически, Borland уже сейчас в своих продуктах поддерживает полный цикл разработки на платформе .Net. Во втором квартале этого года будет выпущена интегрированная платформа Enterprise Studio for .Net, которая объединит все компоненты для поддержки полного цикла разработки приложений в среде от Microsoft.
В чем суть подхода к разработке, который обозначается термином agile и который сейчас пропагандирует Borland?
Под agile («скорый», шустрый») мы понимаем работу малыми группами, работу над краткосрочными проектами, ускорение разработки, возможность гибко реагировать на изменение ситуации, на действия конкурентов. Agile — это гибкость и скорость, использование в процессах разработки таких методологий, как feature-driven development, экстремальное программирование и др. Скажем, в системе проектирования Together вы можете сами выбрать методику разработки, и Together будет поддерживать вашу работу, независимо от того, какой процесс вы предпочли. Вы получаете возможность работать так, как удобнее вам. Мы не загоняем разработчика насильно в рамки какого-то определенного процесса — это и имеется в виду, когда говорится о гибкости, предоставляемой данным подходом.
Если говорить о краткосрочной стратегии Borland, то это интеграция всего воедино. А в долгосрочной перспективе мы стремимся к созданию такой среды разработки, которая адаптировалась бы к вашему стилю работы. Мы рассчитываем, что через несколько лет появится живая, адаптивная среда программирования, способная реагировать на ваши потребности, адаптироваться к вашему стилю, вашим методам работы, к процессам, которые вы предпочитаете использовать, или к элементам процессов, которые вы выбираете. И если вы захотите, то инструментальные средства в такой среде смогут даже провести вас по всему процессу программирования, направляя ваши действия. Или наоборот, вы будете идти в выбранном вами направлении, а средства разработки будут следовать за вами, отслеживать, что вы делаете, оптимизироваться под ваши действия и иногда что-то рекомендовать. В любом случае вы будете работать так, как вам удобнее. Кроме того, вы сможете поддерживать выработанные в вашей компании стандарты работы в группе и общекорпоративные стандарты разработки. Первые шаги к реализации этих возможностей уже сделаны в семействе продуктов Borland Together, обладающих такими средствами, как Аudits&Metrics, предназначенными для аудита кода, оценки его качества и соответствия заданным метрикам.
Как разработчик с более чем тридцатилетним стажем, человек, который мог следить за эволюцией программирования, что бы вы могли сказать о будущем разработки, какие вы выделяете тенденции в современном мире программирования?
Думаю, что сейчас, разработчикам прежде всего, необходим более высокий уровень абстракции и возможность инкапсуляции всего того, что требуется для создания приложений. Это позволит использовать уже написанные коды повторно при разработке новых приложений. На ближайшие несколько лет главное — обеспечить полную прозрачность и отслеживаемость всех процессов разработки в течение жизненного цикла, чтобы вы могли в реальном времени в любой момент видеть, на каком этапе вы находитесь. Чтобы вы могли оценить все риски, знать, каким образом вы пришли в эту точку и что нужно для того, чтобы отойти на несколько шагов назад, если вы вдруг начинаете двигаться в неправильном направлении. Чтобы вы видели все, что сделали, и могли все это учитывать и отслеживать. Именно для реализации этих возможностей мы и используем подход ALM и технологии тесной интеграции продуктов для поддержки разных этапов жизненного цикла разработки. В будущем мы будем обеспечивать все более высокий уровень повторного использования наработанных кодов. Я думаю, у нас появится архитектура уровня обслуживания, которая позволит находить оптимальные пути, чтобы поддерживать тысячи пользователей, одновременно работающих с одним и тем же кодом, и поможет использовать повторно те коды, которые разрабатывались в рамках расширенного предприятия. Но это все задачи на более дальнюю перспективу. А в течение ближайших двух лет мы сосредоточим свои усилия на интеграции продуктов, обеспечении полного контроля над процессом разработки и реализации возможностей просмотра всего этого процесса в зависимости от той роли, которую вы как программист выполняете.
Новая стратегия Borland — управление жизненным циклом приложений (application lifecycle management, ALM) — пришла на смену реализации отдельных инструментальных средств.
***Мы поддерживаем полный цикл разработки в среде ОС Linux, поскольку у нас есть Jbuilder, мы поддерживаем Java, а Java работает на любой платформе. Пока никаких официальных анонсов по новым продуктам для Linux у Borland не было, но во второй половине года у нас появится много нового.