ИНТЕРВЬЮ

В середине сентября на конференции Lotus Developer Days корпорация IBM официально представила в России новую версию своего известного инфраструктурного продукта Domino/Notes. Наиболее проблемные новшества этого выпуска, а также перспективы платформы в целом мы обсудили с директором по технологиям IBM региона EMEA по направлениям ПО Workplace, порталов и средств collaboration Уффе Сорренсоном.

Уффе Сорренсон

PC Week: Domino 7 была объявлена несколько лет назад, и в ней должно было быть немало новшеств. Однако не все из них оказались полностью проработаны к моменту выхода окончательной версии. Например, многих заинтересовала возможность использовать IBM DB2 как хранилище данных для Domino, но в только что вышедшем продукте она реализована лишь в виде “бета”. Разработчики, с которыми я беседовал, очень хотели узнать, почему это произошло.

Уффе Сорренсон: Хочу сразу же сказать, что мы твердо намерены включить поддержку DB2 в Domino. Изначально это планировалось сделать в выпуске номер семь. Сейчас данный модуль работоспособен, но в ходе бета-тестирования обнаружились некоторые моменты, связанные с масштабируемостью и управлением сложными “видами” (Notes views). Поэтому мы решили проработать его почетче, прежде чем объявлять полностью доступным. Это не вопросы переработки архитектуры, а вопросы оптимизации. Мы над ними активно работаем, но, к сожалению, прогресс здесь не такой быстрый, как мы надеялись. Задача оказалась более сложной, чем предполагалось вначале.

Зато других возможностей было так много, что мы решились выпустить продукт без этой. Все, что мы обещали, уже поставляется, и лишь поддержка DB2 оставлена в виде бета-версии. Полностью она должна появиться в выпуске 7.1. Точной даты, когда это произойдет, я вам не назову, так как она зависит от результатов проводимого сейчас тестирования. Но приблизительно это будет начало 2006 г.

PC Week: Некоторые разработчики указывают, что невозможно полноценно отобразить внутреннюю структуру существенно нереляционной БД NSF в реляционной модели DB2. Какие были побудительные мотивы для перехода на реляционную модель?

У. С.: Совершенно верно, объекты NSF не обязаны быть реляционными. Но некоторые из них являются таковыми. Нужно указать, что мы не меняем элементы дизайна приложения, они остаются как были. Мы просто сохраняем их в DB2. И где их хранить - в стандартном формате или на реляционной платформе, в принципе все равно. Это лишь вопрос, что за основу мы используем. Но есть приложения, для которых эффективнее использовать реляционное хранилище, - например, если они содержат большие таблицы данных.

Другая открывающаяся возможность - это интероперабельность на серверной стороне. Например, традиционное Domino-приложение позволяет отображать данные в видах, но те же данные могут быть использованы и другими программами через обычные реляционные виды. И в этом главное. Мы не хотим заменять NSF, да и не заменяем ее. Она по-прежнему существует. Но теперь вы можете обращаться и к реляционному хранилищу, когда это имеет смысл. Более того, внутри Domino становится доступным язык SQL, и его можно использовать как часть программной среды. Все это открывает новые возможности, упрощает серверную интеграцию.

Сохранение элементов дизайна в DB2 полезно вот еще чем. Для данной СУБД создано самое разное ПО управления архивированием и подсистемами хранения. И ваши объекты, используемые в групповой работе, могут теперь управляться унифицированным корпоративным ПО, а не специализированным.

Но и отказываться от NSF, конечно, не обязательно. Более того, клиент Notes по-прежнему использует NSF.

PC Week: Однако некоторые разработчики, опробовавшие бета-версию, говорят, что для того чтобы воспользоваться преимуществами DB2, приходится переделывать код и архитектуру приложений. Обещания же были таковы, что внутреннюю структуру менять не придется. В связи с этим хочется узнать, сохранится ли такое положение вещей и в окончательной версии.

У. С.: Для использования DB2 в качестве хранилища переделки приложений не требуется. Другой вопрос - эффективность. Общего ответа здесь нет, так как все зависит от приложения. В целом оптимизация Domino-приложений для работы с DB2 не обязательна - заметной потери производительности при простом переходе на DB2 быть не должно. Если в обычном Domino-приложении вы начинаете использовать в качестве хранилища DB2, то оно может потребовать чуть большего количества серверных ресурсов, поскольку здесь добавляется еще один промежуточный слой. Хотя отдельные приложения и в самом деле могли быть созданы так, что после перехода они заметно потеряют производительность.

Оптимизация может быть достигнута за счет переписывания на SQL той части Domino-приложения, что использует табличные данные. Эффективность тогда будет зависеть от того, как настроены индексы и средства оптимизации запросов. И быстродействие может вырасти существенно - гораздо выше первоначального уровня.

Итак, сразу после перехода вы чуть-чуть теряете производительность. Но постепенно адаптируя приложение, вы приобретаете больше, чем потеряли*1.

_____

*1 Комментарий московского представительства. Подобный перенос приложения с v6 на v7 решается администратором Notes. Достаточно поставить галочку в настройках системы. Для приложений на сервере Domino в первом приближении ничего не поменялось. Поэтому репликация и все другие возможности сервера будут доступны. Появятся новые механизмы, которых не было для NSF-файлов. Можно организовать связь между DB2 и NSF. Фактически создана схема NSF-файла в DB2. Раньше его устройство было коммерческой тайной. Теперь его можно изучить средствами NSF. Можно создавать индексы, строя механизмы DB2, а не средствами Domino, что интереснее для тех задач, где нужна большая производительность.

PC Week: Собираетесь ли вы в будущем поддерживать другие СУБД, например Oracle?

У. С.: Да, мы думаем об этом. Если взглянуть на Workplace Сollaboration Services, которые опираются на реляционное хранилище, то здесь уже сейчас может использоваться как DB2, так и SQL Server. Хотя определенных сроков я назвать не могу.

PC Week: Другое обещание, касающееся Domino 7, состояло в том, что после обновления системы на том же оборудовании производительность вырастет на 50-80%.

У. С.: Уточню, что названные 50-80% относятся к масштабируемости, т.е. к числу пользователей, которых можно “разместить” на одном сервере. Речь идет о том, что вы можете взять сервер, на котором стоит Domino 6.5, и он будет обслуживать больше пользователей.

Максимальное же количество пользователей определяется тем, как ведется управление памятью (и потоками), а также потреблением ресурсов процессора. И заранее не известно, какой из этих двух ресурсов вы исчерпаете в первую очередь. Если потолок производительности Domino-приложения определялся исчерпанием памяти, то при переходе на новую версию масштабируемость улучшится на 50-80%. Но если ограничивающим фактором является ресурс ЦП, то выигрыш от перехода составит 25%, поскольку именно на эту величину уменьшится время выполнения определенной транзакции. Итак, в зависимости от того, что было ограничивающим фактором, вы можете на той же аппаратной конфигурации разместить пользователей либо на 25%, либо на 50-80% больше.

PC Week: Перед этим интервью я беседовал с некоторыми разработчиками, и они утверждали, что в предварительных тестах с использованием утилиты Server Load из комплекта Domino на реальных приложениях выигрыша не было.

У. С.: В ранних бета-выпусках версия 6.5 была действительно лучше. Но те цифры, что я привел, касаются “золотой” редакции версии 7. Для нее наблюдается явный рост производительности. Если кто-то в тестах увидит падение производительности “золотой” версии 7 по сравнению с 6.5, то вы мне сообщите, я этим вопросом займусь.

Хотя, конечно, всегда может найтись какое-то приложение, где выигрыш будет не столь заметен. Но я могу сказать об опыте IBM. У нас 50 000 пользователей на восточном побережье США. С Domino 7 они работают уже год. Почта, “рабочие комнаты для групп”, системы поддержки продаж и отслеживания заказов - все это базируется на Domino. И для этой смеси приложений по сравнению с Domino 6.5 эффективность использования ЦП выросла на 35%.

PC Week: Теперь вопрос по поводу открытости платформы Domino. Она несколько улучшилась, в частности появилась поддержка веб-сервисов. Но эта поддержка касается только открытого API. Заметная часть функциональности системы “зашита” в так называемых шаблонах, например в почтовом шаблоне. И она осталась так же труднодоступна для использования в программах, как и раньше. Собирается ли IBM как-то переписать эти шаблоны, и делается ли что-то в этом направлении?

У. С.: Вы можете экспортировать функциональность Domino как веб-сервис, но это не происходит автоматически. В дизайн приложения нужно вставить элемент, отвечающий за веб-сервис, который вы хотите опубликовать. А что делать с уже существующими шаблонами, например почтовым? Как обеспечить и их доступность подобно веб-сервисам? Например, что нужно сделать, чтобы Inbox стал доступным как сервис? Пока мы эту возможность не реализовали, хотя проводили подобные эксперименты. В первую очередь мы хотели дать инструмент разработки для создания веб-сервисных оберток.

Что касается открытия шаблонов, то это требование уже выдвинули некоторые пользователи. И мы будем работать в данном направлении. Например, можно сделать папку с почтой, которая будет относиться к определенной теме, доступной для портала. Или же открыть интерфейс для назначения встречи через календарь. Пока мы изучаем разные подходы, чтобы понять, как это лучше сделать.

PC Week: Следующий вопрос хотелось бы задать касательно Domino Designer. Аналогичный продукт, Workplace Designer, развивается очень быстро. А вот Domino Designer - нет. Чего можно ожидать в будущем? Появятся ли столь желанные для разработчиков возможности вроде графического формирования структуры классов LotusScript? Как утверждают пользователи, в существующем продукте она работает неважно. Будут ли инструменты унифицированы на основе Eclipse? Улучшатся ли средства групповой разработки?

У. С.: Сейчас у нас четыре инструмента для построения приложений. Domino Designer останется ключевым инструментом для построения Domino-приложений, и мы будем его развивать. Workplace Designer, предназначенный для построения компонентов Workplace, аналогичен Domino Designer. В нем также используется скриптовый язык JavaScript. Он также использует и артефакты (формы и виды), и эти визуальные объекты можно импортировать из проекта Domino Designer в Workplace Designer. В обоих продуктах могут применяться и @-формулы. Иначе говоря, оба продукта используют и частично общую кодовую основу. Правда, в Workplace Designer используется JavaScript вместо LotusScript - т. к. он более естественен для Java-ориентированных сред. Третий инструмент - из семейства средств быстрой разработки Rational - позволяет осуществлять сложное Java-программирование.

Наконец, созданный указанными выше средствами код сводится воедино при помощи инструмента связывания компонентов Workplace Builder. С его помощью делаются композитные приложения.

Эти четыре программы составляют набор, который мы в ближайшем будущем будем развивать и поддерживать. Каждая из них ориентирована на свои специфические нужды. Почему не сделать один инструмент? Потому что есть свои особенности, присущие среде Domino и среде Workplace.

Но Windows-интерфейсы Domino Designer и Workplace Designer сделаны очень похожими; похожи и методы разработки и тестирования в них. Поэтому если вы имеете опыт работы с одним инструментом, то эти навыки пригодятся и для другого. Они создадут разный код, но это просто средства графической разработки, так что стиль их использования может быть одинаков. Создаваемые в них элементы также переносимы между ними.

По поводу LotusScript-классов скажу, что, да, качество работы с ними мы собираемся улучшить.

В области групповой разработки: я не знаю, какие именно возможности вы имеете в виду, - но мы продолжим развитие Domino Designer и Workplace Designer. В следующих выпусках мы собираемся расширить возможности групповой разработки, в частности обмена артефактами. Расширения в Domino Designer будут и в версии 7.1, и в 8. Пока, правда, не решено, что конкретно войдет в тот или иной выпуск.

PC Week: Некоторое время назад IBM пообещала объединить клиенты Notes и Workplaces на основе оболочки Eclipse. Насколько я знаю, этот проект имеет кодовое имя Hannover. Для разработчиков, с которыми я общался, важное значение имеет вопрос, следует ли ожидать, что IBM перепишет клиент Notes полностью на Java или же будет использовать существующий код?

У. С.: Клиент Hannover был анонсирован в июне этого года. Он действительно базируется на среде Eclipse и работает внутри Workplace Managed Client. Могу сказать совершенно точно, что мы не станем переписывать существующий код Notes, а воспользуемся возможностями Eclipse по подключению плагинов на C++ (в целом Notes можно рассматривать как один большой плагин C++).

Однако для того чтобы воспользоваться новыми возможностями Activity Explorer, элементы Notes нужно поделить на идентифицируемые компоненты внутри “контейнера Notes”. Потребуется некоторая “подгонка” пользовательского интерфейса. Мы не станем рисковать и переписывать для новой среды “.NSF-контейнер” или ядро Notes, ведь подход с применением плагина C++ доказал свою состоятельность.

PC Week: Какова сейчас “дорожная карта” для Domino и Workplaces?

У. С.: Это довольно объемный вопрос. Если вкратце, то “карта” включает выход в четвертом квартале 2005-го Workplace Collaboration Services, Workplace Services Express и Workplace Managed Client версии 2.6. Следующий выпуск Workplace Release 3 планируется на конец лета 2006-го. Чтобы удовлетворить соглашения о поддержке ПО Workplace, портала и групповой работы, мы будем выпускать обновления каждые год-полтора.

PC Week: Начало поставок Domino 7 поднимает вопрос, для каких случаев этот переход оправдан. Следует ли его осуществлять клиентам, которые используют только е-mail, или он более разумен для тех, кто использует заказные приложения на базе Domino?

У. С.: Мы считаем, что и пользователи “Notes как почтового сервера”, и те, кто применяет его для приложений коллективной работы, должны при первой же возможности произвести переход. Общее совершенствование сервера, повышение производительности труда и интегрированные возможности Sametime приводят к снижению стоимости владения системой, а это достаточный мотив для апгрейда.

PC Week: И последний вопрос. Многим кажется, что IBM позиционирует Workplace как более перспективную платформу, вкладывает в ее разработку и маркетинг больше денег и усилий, чем в Domino. Должны ли клиенты видеть в Domino 7 только способ сохранения уже сделанных в Domino инвестиций? Или же Domino 7 нужно рассматривать как платформу, ориентированную на будущее, достойную того, чтобы ее приобретали совсем новые заказчики?

У. С.: Если новый заказчик ищет полнофункциональную, высоко масштабируемую, безопасную платформу для совместной работы, которую легко установить и поддерживать, то Domino - это как раз для него. Domino и Notes являются ключевыми элементами стратегии Workplace. И, как уже было сказано выше, гибридный клиент Hannover объединяет в себе и возможности Notes, и возможности Workplace и оказывается естественной модернизацией клиента Notes 7.x.

PC Week: Спасибо за беседу.