oldi

И снова о Delphi…

Часть 1

Прошел год с того момента, когда подразделение CodeGear, отвечающее за создание таких всемирно известных инструментов, как Delphi, C++Builder и JBuilder, а также СУБД Interbase, и благодаря этим продуктам сделавшее в свое время невероятно популярной компанию Borland, стало частью компании Embarcadero Technologies, известной своими инструментами для проектирования и администрирования баз данных. Это событие означало завершение периода неопределенности и беспокойства за судьбу инструментов, любимых многими разрабочиками, и особенно российскими. О том, что нового произошло в работе CodeGear и чего ожидать в области развития ее инструментов, мы в очередной раз попросили рассказать Дэвида Интерсимоне, вице-президента по связям с разработчиками и главного евангелиста компании Embarcadero Technologies. Почему «в очередной раз»? Просто это далеко не первое интервью, которое Дэвид, невероятный энтузиаст, великолепный докладчик и просто интересный собеседник, любезно согласился дать нашему изданию.
Сегодня мы публикуем первую часть этого интервью, а вторую его часть вы найдете в следующем номере нашего журнала.

КомпьютерПресс: Дэвид, как вы и ваши коллеги чувствуете себя в новой компании?

Дэвид Интерсимоне: Я счастлив, как и все, кто занимается созданием инструментов для разработчиков. Мы счастливы снова быть частью компании, которая заботится о разработчиках, так же как были счастливы много лет назад, когда компания Borland выпускала в первую очередь средства разработки. К сожалению, в компании Borland со временем начались изменения — она сосредоточилась на продуктах для управления жизненным циклом приложений, на крупном корпоративном рынке, на управлении крупными проектами или множеством проектов, и деятельность, связанная с разработкой приложений, стала для нее менее значимой. Нельзя сказать, что ненужной, но основные усилия уже не были сосредоточены на этом направлении.

 

Рисунок

Для нас, тех, кто создает средства разработки, это здорово — быть частью компании Embarcadero, которая тоже производит инструменты. Хотя это инструменты для создания и администрирования баз данных, но ведь они тоже используются разработчиками. Президент и генеральный директор этой компании Уэйн Уильямс был когда-то разработчиком.

Вообще все, происходящее с нами сегодня, очень похоже на то, что было в старые времена в Borland, когда компания была сосредоточена на средствах разработки и базах данных — dBase, Paradox, библиотеках Paradox Engine и Database Engine. В те времена мы выпускали инструменты для архитекторов и разработчиков баз данных. Сейчас большинство инструментов для создания баз данных используется разработчиками для профилирования серверного кода, управления изменениями, отладки хранимых процедур. В Delphi вы просто выполняете метод и наблюдаете за происходящим с помощью отладчика. Иметь такую же функциональность, выполняя хранимую процедуру на сервере баз данных, не отказался бы ни один разработчик, создающий приложения с базами данных.

КП: На самом деле очень многим разработчикам часто нужны разнообразные инструменты для проектирования и администрирования баз данных, для разработки серверного кода. Не могли бы вы подробнее рассказать, что может предложить разработчикам компания Embarcadero, помимо собственно средств разработки CodeGear?

Д.И.: Мы создаем инструменты UML-моделирования, с помощью которых можно хорошо спроектировать приложение и его объекты. ER/Studio предоставляет инструменты для качественного моделирования данных, отлично подходящие и разработчикам кода, и специалистам, проектирующим информационные системы. Большинство приложений, которые создаются с помощью Delphi, — это приложения с базами данных. Да, есть разработчики, которые создают встроенные приложения или научные и инженерные приложения, автоматизируют производство, но большинство разрабатывает бизнес-приложения — клиент-серверные, настольные, многозвенные, и все они используют базы данных. Имея интегрированные средства UML-моделирования и средства интеграции с ER/Studio, разработчик может осуществить и прямое и обратное проектирование базы данных. С помощью RapidSQL разработчики могут разрабатывать и отлаживать хранимые процедуры, а с помощью Change Manager — осуществлять контроль изменений исходного кода и изменений в базе данных.

Мы производим инструменты для профилирования приложений, созданных с помощью JBuilder, и у нас есть партнеры, поставляющие средства профилирования приложений, созданных с применением Delphi. Теперь же у нас есть такой инструмент, как DBOptimizer, предназначенный для профилирования и настройки баз данных.

Если вы создаете код в Delphi, то можете получать подсказки о том, какие методы вы можете использовать. Инструменты Embarcadero, предназначенные для создания серверного кода в базах данных, тоже подсказывают имена операторов, которые можно применять, и хранимых процедур, которые можно вызывать. Способы работы обоих типов инструментов очень похожи. Поэтому сейчас мы думаем о том, как позволить разработчикам использовать вместе оба набора инструментов. Повторюсь — великолепно быть частью компании, которая заботится о том же, о чем и мы, и создает продукты, принципы работы которых похожи на принципы работы наших продуктов.

КП: Что произошло за год в области интеграции двух семейств продуктов — CodeGear и DatabaseGear? Есть ли у компании Embarcadero какие-то планы на будущее в этой области?

Д.И.: Мы стали частью Embarcadero первого июля прошлого года. А в июне того же года у нас состоялось несколько стратегических встреч, на которых обсуждалось, что мы могли бы сделать, став частью Embarcadero. В этих встречах участвовали главные инженеры, архитекторы, менеджеры по продуктам, и на них мы рассматривали все базовые технологии обеих компаний, например способы доступа к базам данных, общие структуры средств разработки и средств работы с базами данных. Это делалось для того, чтобы понять, с чего мы могли бы начать интеграцию функциональности двух семейств продуктов. После двух дней встреч было придумано несколько примеров того, как могла бы осуществляться подобная интеграция.

Даже если бы мы впоследствии не смогли придумать ничего нового, этих примеров хватило бы за глаза. Вот один из них. Предположим, вы отлаживаете код Delphi и вызываете из него хранимую процедуру; обратившись к ней, вы могли бы продолжить отлаживать ее код (может быть, в отдельном окне), но уже с помощью технологий Embarcadero. Когда вы пишете SQL-предложения, окно такого отладчика может подсказывать вам, какие конструкции данного диалекта SQL можно использовать — ведь подобный инструмент должен «знать» о различиях в диалектах SQL для разных СУБД. Собственно, продукт компании Embarcadero, носящий название Rapid SQL, обладает подобной функциональностью: если с его помощью писать процедуру для Oracle, подсказки при написании кода предлагают использовать конструкции, характерные для этой СУБД, а если с помощью данного инструмента создавать код Microsoft SQL Server, то расширения Oracle для SQL будут недоступны, зато вместо них станут доступны расширения, характерные для SQL Server.

За прошедший после объединения компаний год мы сумели многое сделать в области интеграции наших продуктов, в частности в плане интеграции продуктов, основанных на платформе Eclipse. Если раньше JBuilder, наш инструмент для Java-разработки, был интегрирован со средством профилирования Java-приложений JOptimizer, то сегодня он интегрирован и с инструментом оптимизации баз данных Embarcadero DB Optimizer. Это означает, что теперь можно совместно оптимизировать Java-приложения и базы данных, которые они используют. Для продуктов, основанных на других платформах, процесс интеграции окажется чуть более длительным, но и для них у нас есть много идей повышения эффективности процесса разработки и улучшения взаимодействия между кодом и базами данных.

При этом мы продолжаем развивать наши продукты: недавно мы выпустили новую версию Delphi 2009 с полной поддержкой Unicode, мы продолжаем совершенствовать и все инструменты для работы с базами данных, и JBuilder, и Delphi for .NET (Delphi Prism).

КП: Каковы планы по дальнейшей интеграции продуктов обеих компаний на ближайшие несколько лет?

Д.И.: В феврале мы анонсировали новое решение, которое назвали All-Access. Оно позволяет с помощью одной-единственной лицензии получить доступ ко всем инструментам компании для работы с базами данных и программирования. В аналогичных системах других производителей, например MSDN, для каждого продукта, лицензируемого подобным образом, нужно использовать разные лицензионные ключи. В нашем же случае ключ один, и он обеспечивает доступ к нужному инструменту на нашем сервере в тот момент, когда вам это нужно. Кроме того, для применения решения All-Access в локальных сетях мы предоставляем сервер, распространяющий в локальной сети дистрибутивы и лицензии.

Приложения, доступ к которым реализован с помощью решения All-Access, могут быть установлены обычным способом. Но можно также просто запустить продукт, не устанавливая его, с помощью технологии InstantOn — она виртуализирует реестр и файловую систему, а сам продукт просто загружается в память и работает в так называемом закрытом окружении, не внося никаких изменений в конфигурацию компьютера. Можно также загрузить продукт в память с USB-носителя — с помощью такого носителя с нужным набором продуктов консультанты, посещающие разных клиентов, могут «чинить» базы данных или обновлять имеющиеся у клиентов продукты.

 

Рисунок

Так выглядит панель выбора продуктов для конечного пользователя решения All-Access

КП: Правильно ли я понимаю — решение All-Access использует одну из технологий виртуализации?

Д.И.: Да, сервер All-Access поставляет виртуализованные исполняемые файлы. Это не VMware и не другие полнофункциональные системы виртуализации операционных систем — мы просто берем выполняемый образ продукта и «упаковываем» его надлежащим образом со всем требуемым окружением. И затем этот образ можно просто взять с сервера или с внешнего устройства, загрузить в память и использовать. И если вы администратор базы данных или разработчик — у вас есть все необходимые продукты. При этом те из них, что вы используете чаще всего, можно установить как обычно. К примеру, вы можете установить Delphi, поскольку вам, возможно, нужны VCL-компоненты независимых производителей. Но также можно полностью сконфигурировать среду Delphi, а затем с помощью технологии InstantOn создать новый образ, который можно загружать в память и применять.

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

КП: А что планируется сделать в области дальнейшего развития средств разработки?

Д.И.: В середине мая мы анонсировали планы развития Delphi на ближайшие несколько лет. После выхода Delphi 2009 нами было сделано очень многое — с тех пор мы выпустили три или четыре обновления. Сейчас у нас одновременно выполняется четыре-пять разных параллельных проектов, связанных с развитием Delphi. Первый из них называется Weaver, и его цель — создание ряда нововведений для Delphi и C++Builder. Одно из таких нововведений — поддержка Windows 7. К моменту выхода этой операционной системы данные инструменты будут поддерживать ее прикладной программный интерфейс, будут обновлены и драйверы баз данных.

Из уже доступных нововведений отметим обновление технологии создания многозвенных систем Datasnap, которое было включено в Delphi 2009. Технология Datasnap 2009 позволяет использовать протокол TCP/IP для доступа к сервисам бизнес-логики среднего звена, поддерживает протоколы HTTP и HTTPS, а также асинхронные обратные вызовы.

Из наиболее интересных ожидаемых обновлений библиотеки Visual Component Library (VCL) стоит отметить средства поддержки жестов и дисплеев с технологией multi-touch (сенсорных экранов, поддерживающих несколько точек нажатия и их движение). Подобные средства актуальны не только для применения в Windows 7, но и при разработке приложений для мобильных устройств, в том числе еще не созданных. Мы предполагаем поддерживать около 30 предопределенных жестов (движение налево, направо, по кругу и т.д.) непосредственно в VCL.

В операционных системах семейства Windows (таких как Windows 2000 и Windows XP) фактически применяются (и соответственно поддерживаются в VCL) определенные немногочисленные типы жестов, такие как нажатие клавиш мыши или ее перемещение. Если же разрабатывается приложение для операционной системы с поддержкой точечного нажатия на экран, то можно с помощью соответствующего программного интерфейса поставить в соответствие этим нажатиям доступные в VCL жесты. Классы VCL всегда поддерживали события OnClick, OnDoubleClick, OnKeyDown и OnMouseDown, а теперь будут поддерживать еще и событие OnGesture. И, используя это событие в Delphi и C++Builder, мы предлагаем механизм опознания жеста с помощью API, предоставляемого операционной системой. Иными словами, при распознавании жестов можно будет применять ту же логику, что и при обработке событий мыши и клавиатуры.

Более того, мы также можем расширить распознавание жестов за счет распознавания речи и изображений. Представьте себе: вы размахиваете руками перед камерой, даже не прикасаясь к устройству, и приложение распознает ваши жесты. При создании подобных приложений мы сможем использовать все тот же механизм распознавания жестов.

КП: И когда мы сможем воспользоваться средствами поддержки распознавания жестов?

Д.И.: Очень скоро. Мы ориентируемся на выход Windows 7 во второй половине этого года. Но точную дату выхода средств поддержки распознавания жестов я пока назвать не могу — прежде чем их выпустить, мы должны быть уверены, что они корректно работают на достаточно большом количестве устройств.

Помимо перечисленных нововведений, в рамках проекта Weaver предполагается создание средств поддержки Direct3d, а также много других новшеств.

Хочу заметить, что компания Еmbarcadero делает серьезные инвестиции в развитие Delphi. Когда мы были частью Borland, средства, заработанные на продаже средств разработки, шли не столько на их развитие, сколько на другие проекты, а развитие Delphi было главным образом последовательным. Мы реализовывали какую-то функциональность, и только после завершения этих работ команда начинала решать следующую задачу, и никаких параллельно идущих проектов не предполагалось. Сейчас же у нас несколько проектов по развитию Delphi идут одновременно, и мы очень быстро продвигаемся вперед.

 

Это была первая часть интервью Дэвида Интерсимоне нашему изданию. Во второй части, которая будет опубликована в следующем номере журнала, вы узнаете о том, что нового должно произойти в мире компиляторов и в области технологий развертывания приложений, а также о том, что сейчас делается компанией Embarcadero для поддержки сообщества разработчиков в мире в целом и в России в частности.

 

Вопросы задавала Наталия Елманова

 

В начало В начало

КомпьютерПресс 7'2009