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

Стремительное развитие компонентной технологии создания программного обеспечения расширяет разнообразие возможностей прикладных программ. И те администраторы информационных систем и производители аппаратуры, которые пытаются заглянуть в завтрашний день, уже задумываются о достоинствах разных моделей компонентной архитектуры. Пользуясь ресторанной метафорой, вопрос можно сформулировать так: что лучше - взять комплексный обед или заказать отдельные блюда из меню? Ответ таков: никто этого пока не знает.

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

Компания Lotus Development придерживается того же мнения. В следующем году она намеревается совершить переворот в своей стратегии создания приложений, разбив свой базовый программный комплект для настольных систем, пакет SmartSuite, на целую серию настраиваемых пользователем управляющих директив (OCX), использующих технологию OLE (Object Linking and Embedding - связывание и встраивание объектов). Поскольку этот шаг делает одна из ведущих компаний-разработчиков программ, он может означать воплощение новой концепции построения программ, о которой многие раньше только говорили.

Если Lotus права и компонентная структура - действительно будущее индустрии программного обеспечения, то администраторы информационных систем получат большую свободу для комбинирования компонентов из различных прикладных программ, приобретенных у различных производителей и, возможно, даже взятых из разных операционных систем. Для компаний-разработчиков компонентная структура программ будет означать также сокращение сроков разработки, поскольку некоторые функции, общие для разных приложений, например, такие как вычислительный механизм в Lotus 1-2-3, могут быть прямо встроены в приложения типа сетевых бухгалтерских прикладных программ.

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

"Если все программы будут иметь возможность подстройки под каждого пользователя, то придется еще искать способ, как определить, кому же вы должны платить в конце месяца, - говорит Филлис Кох, консультант в области программных технологий компании Ryder System. - Тогда вам понадобится не только электронная пересылка программного обеспечения, но еще и электронный бухгалтерский учет". Кох очень заинтересован возможностями, которые открывает компонентная архитектура, но ждет, когда прозвучит еще один важный аргумент в ее пользу, а именно, что приложения, созданные по такому принципу, принесут экономию средств.

Многие независимые производители программ надеются, что Internet сможет обеспечить как раз это последнее обстоятельство. Но варианты предоставления и оплаты таких услуг пока еще очень неясны. "Кто знает, что произойдет, когда вы будете использовать World Wide Web в качестве сервера приложений на сравнительно маломощной настольной системе, копируя в нее из сети только необходимые вам прикладные программы? Работа по такому принципу требует выработки совершенно новой концепции", - считает Адриан Боулз, вице-президент компании Giga Information Group, в прошлом консультант в области объектно-ориентированных технологий. "Все согласны, что тут нужна целостная стратегия, но пока ее нет ни у кого", - добавляет он.

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

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

Дежурные блюда

Некоторые аналитики считают, что рынок компонентных программ сегодня ничтожно мал по сравнению с тем, каким он может быть в будущем. По оценке компании Dream IT, занимающейся маркетинговыми исследованиями, ожидается, что доход от продаж компонентного программного обеспечения может возрасти от 100 млн. долл. во всем мире в этом году до 1,65 млрд. долл. к 2000 году.

На сегодняшний день краеугольным камнем в производстве компонентного программного обеспечения стала технология OLE 2.0 компании Microsoft. Она одновременно служит стандартом для соответствующих разработок других фирм и средой (в виде пакетов Microsoft Office и Visual Basic) для их объединения.

Только-только начала делать свои первые шаги технология OpenDoc, которая явилась результатом совместной инициативы компаний IBM, Apple Computer и Component Integration Labs. Она совместима с другой объектной технологией, носящей название CORBA (Common Object Request Broker Architecture - единая архитектура обработчика объектных запросов), которая доминирует там, где используется ОС Unix.

Теперь и Sun Microsystems объединяет силы с компанией Oracle, чтобы предложить еще один потенциальный стандарт - объектно-ориентированный язык Java для создания сетевых прикладных программ.

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

Питательная ценность

Вместо этого разработчики уделяют пристальное внимание рекламе достоинств объектной технологии.

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

Имея базовые программы общего назначения, конечные потребители смогут использовать программные компоненты (причем под этим термином может скрываться многое - от простенького текстового редактора до сложного калькулятора для расчета операций на фондовой бирже) в качестве дополнения к более крупным прикладным программам типа Lotus Notes или WordPro. Так, в частности, считает Джеффри Бей, первый заместитель руководителя отделения бизнес-приложений компании Lotus.

Все согласны, что в скором времени программные элементы, вроде инструментария для создания демонстрационных программ, будут продаваться по отдельности, как настраиваемые пользователем компоненты OCX. Но вот в вопросе о том, должны ли они при этом стоить дороже или дешевле сегодняшних программ, единства мнений нет.

Принесите счет, пожалуйста

Некоторые пользователи придерживаются такой точки зрения: если отдельные компоненты лишь добавляют специализированные функции к уже имеющемуся приложению, то они не должны стоить дорого. "Поскольку добавочные функции основаны на технологии OLE, они не должны иметь ту же стоимость, что и основной продукт", - говорит Брэд Шеллер, главный администратор компании International Systems Services, которая предлагает информационные системы и консультационные услуги в области организации бизнеса крупнейшим американским компаниям. Шеллер считает, что вместо того, например, чтобы тратить деньги на новую версию текстового редактора каждый раз, когда в него добавляются новые возможности, пользователь купит базовую программу и будет добавлять к ней только те специальные дополнительные функции, которые ему необходимы, например, механизм форматирования текстов.

Вот пример такого подхода: недавно образовавшаяся компания AlphaBlox, продает приложения для создания различных перечней и списков а также вспомогательные программы для создания документов малого объема, вроде памятных записок. Ее продукция основана на технологии OLE 2.0 и предназначена для использования в 32-разрядных документах в среде Windows. AlphaBlox называет свою программу OfficeBlox, состоящую из пяти компонентов, дополнением к прикладному пакету Office и оценивает ее всего лишь в 70 долл.

Однако другие смотрят на вопрос более широко, и это неизбежно отражается на ценах. Приведу пример. Пакет компании Visual Components, содержащий OCX-приложения общего назначения, куда входят электронная таблица и текстовый редактор, стоит около 540 долл. - больше, чем платят коллективные пользователи за весь 32-разрядный пакет Microsoft Office. Компания Visual Components хотела бы установить повременную плату за использование компонентов, но полагает, что в данный момент потребители не смогут пойти на такие дополнительные расходы.

Существует также мнение, что розничная цена компонентов не связана напрямую со способом производства и стоимостью приобретения основной программы. Некоторые аналитики считают, что покупка по отдельности базового пакета, освобожденного от множества мелких приложений и необходимых пользователю компонентов, может принести экономию, так как при этом потребители купят лишь то, что им действительно необходимо и не будут занимать место на жестких дисках своих систем совершенно не нужными ресурсами. Кроме того, использование одного и того же компонента общего назначения, например, механизма электронных таблиц, в нескольких специализированных приложениях может означать для компании снижение затрат на обучение персонала. "Мне не хотелось бы, чтобы кто-то думал, будто я предрекаю какое-то резкое падение цен. Выигрыш будет в гибкости и в появлении у пользователей возможности выбирать то, что им нужно и, таким образом, приобретать пакеты с гораздо более богатыми возможностями", - говорит Дж. Бей из компании Lotus.

Специальное блюдо для корпораций

Такая перспектива особенно привлекательна для коллективных разработчиков программного обеспечения. "Используя технологию OLE, коллективные разработчики смогут сконцентрировать внимание на создании своих собственных программ. Встав на этот путь, они откажутся от привычки все от начала до конца делать самим", - считает Фрейд Джордж, президент консультативной компании Flat Irons Group, которая занимается также созданием пользовательских интерфейсов.

Некоторые разработчики вспомогательных программ высокой сложности уже доводят эту мысль до логического конца, разрабатывая специализированные программные элементы, предназначенные для размещения на сервере, а не на жестких дисках пользовательских настольных систем. Например, компания IBM сотрудничает с целой группой страховых компаний с целью создать библиотеки классов Smalltalk, в которых будет храниться около 80 процентов программ, общих для всей страховой индустрии (например, программы для обработки страховых исков). IBM работает над похожим проектом и в области банковского дела.

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

Программные компоненты, хранящиеся на сервере, могут быть настроены под конкретного пользователя, поэтому каждое предприятие сможет иметь свой собственный пакет программ. Но и здесь встает та же проблема: если компоненты подвергаются модификации, то поставщики программ и пользователи должны договориться о разделении прав и обязанностей в отношении программного обеспечения. Такого мнения придерживается Майкл Лайонс, руководитель компании Dynasty Technologies, которая тоже собирается принять участие в разработке бизнес-программ LOBjects. "Распределенные бизнес-программы подразумевают, что в вашем распоряжении имеется хранилище с широкими возможностями управления, которые позволяют вам в реальном времени определять разницу между предлагаемым готовым конфигурационным решением и вашей индивидуальной конфигурацией, так что вы всегда знаете, как распределяются авторские права", - поясняет Лайонс.

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

Карл Вонг, аналитик в области программного обеспечения для ПК исследовательской фирмы Dataquest формулирует свое мнение так: "Я думаю, что возобладает подход, при котором отдельные компоненты будут комбинироваться в различных вариантах и добавляться к уже готовой базовой программе. Этот принцип сродни тому, который действует в ресторане: вы обычно заказываете основное блюдо и, как правило, одно или два дополнительных. Но кроме этого вы всегда получаете хлеб и закуску".

Диапазон цен на программные компоненты очень велик:
Разработчик Продукт Цена
Sylvan Ascents Sylvan Map OCX*, картографическое приложение500 долл.
Data Techniques ImageMan, видеоприложение OCX/VBX 495 долл.
Crescent Software EnQuiry, приложение OCX для запросов к базам данных395 долл.
Visual Components Formula One 3.0, электронная таблица OCX 249 долл.
Sax Software Sax Webster, программа просмотра сети 149 долл.
AlphaBlox OfficeBlox, набор дополнений к пакету Microsoft Office70 долл.
* Настраиваемая пользователем управляющая OLE-программа.


Internet обещает экономию, но детали пока неясны

Производители ПО утверждают, что интеграция небольших программ с возможностями Internet может значительно уменьшить стоимость затрат на производство и распространение программ и составление документации к ним. Все эти накладные расходу сегодня заметно влияют на стоимость программного обеспечения. Уже существуют адреса World Wide Web, из которых можно загрузить настраиваемые приложения OLE и Visual Basic, а также такие компоненты для создания патентованных инструментариев как программа Delphi компании Borland International или PowerObjects компании Oracle. "Это удобно и пользователям, и производителям, поскольку стоимость доставки продукции сводится буквально к нулю, из-за того что программа становится частью инфраструктуры", - отмечает Майкл Митсок, директор по сбыту продукции компании Crescent Software, являющейся отделением компании Progress Software.

Но и в этом случае далеко не все еще ясно. Crescent Software, например, напряженно ищет правильный способ установки цены на свои продукты. Она выдвигает и такой аргумент: если пользователям необходимо удобство, то они должны платить за это больше, даже если доставка программ и документации будет обходиться компании дешевле.

Такие разработчики программного обеспечения как компания Lotus Development говорят, что им еще предстоит разработать способы регистрации и управления распространением бесплатных компонентов по глобальным сетям, чтобы предотвратить пиратское использование программ. Сейчас существуют способы, которые позволяют автоматически отключать программное обеспечение по истечении определенного времени. Но если программный компонент стоит 50-100 долл., то стоимость его защиты таким способом может свести на нет доход от его продажи, особенно если речь идет о небольшой компании, считает Лорэн Пакалин, отвечающий в компании Oracle за электронное распространение программ.

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

Короче говоря, при всей очевидности преимуществ электронного метода распространения программ практическая реализация интерактивного способа закупки организациями больших объемов программного обеспечения все еще дело будущего.