В последний день 1996 г. Чарльз Неттлз подойдет к одной из пяти рабочих станций своего офиса, нажмет клавишу “Return” и пустится в самое рискованное предприятие за все время своей 20-летней карьеры в области информационных технологий (ИТ).
Новый год он встретит в авангарде борцов за технологию распределенных объектов (ORB), которую пользователи лучше всего знают по разнообразным брокерам запросов к объектам, инструментальным программам разработки приложений и протоколам Internet. Выход на передовые рубежи не был санкционирован работодателем - корпорацией McKesson (Сан-Франциско, шт. Калифорния), поставщиком фармацевтических продуктов с годовым оборотом 21 млрд. долл. Однако Неттлз, директор по технологиям ее подразделения информационных служб, уверен, что поступил правильно, заложив объектно-ориентированный фундамент в основу Supplynet - сети с подключением по телефонным каналам, снабженной разнообразным инструментарием, помогающим клиентам McKesson принимать решения при планировании расходов.
На перекрестке
Возможно, последние 25 лет объектно-ориентированное программирование не всегда оправдывало возлагаемые на него надежды, но сегодня оно приобретает все большую популярность среди независимых поставщиков ПО и корпоративных разработчиков. Что же изменилось на этот раз? Ответ, казалось бы, прост: появилась Internet, а с ней - новый мир стандартных транспортных механизмов, браузеров и распределенных приложений.
Но внимательный наблюдатель обязательно отметит, что распределенные объекты не просто обрели жизнеспособность, но и стали весьма привлекательными благодаря пересечению трех тенденций развития продуктов.
- Во-первых, произошло удивительно быстрое распространение так называемых “легких объектов”, создаваемых с помощью языка Java фирмы Sun Microsystems и технологии ActiveX корпорации Microsoft (Редмонд, шт. Вашингтон). Разрабатывать их гораздо проще, чем “чистые” структуры на языках Си++ или Smalltalk, к тому же язык Java уже сегодня является межплатформным, а ActiveX движется в этом направлении.
- Во-вторых, началось бурное развитие объектно-ориентированной компонентной архитектуры приложений масштаба предприятия. Главная ее идея состоит в повышении функциональности за счет особых подключаемых расширений, начиная от модулей plug-in для Navigator корпорации Netscape Communications и кончая картриджами для пакета R/3 фирмы SAP для соединения его с WebServer корпорации Oracle. Об использовании подобного подхода и создании функциональных компонентов для собственных приложений подумывают и корпоративные подразделения по ИТ.
- В-третьих, ORB-клиенты стали намного доступнее. Netscape, например, ведет разработку новой версии Navigator под условным названием Galileo, выпуск которой намечен на конец I кв. 1997 г. В нее будет включен ORB-посредник фирмы Visigenic Software, поддерживающей протокол IIOP (Internet Inter-ORB Protocol). Учитывая распространенность этого браузера, можно предсказать, что к середине года число клиентов CORBA (Common Object Request Broker Architecture общая архитектура посредника запросов к объектам) достигнет 20 млн. Это настоящая революция в области распределенных объектов, ведь ранее такая архитектура находила применение лишь в приложениях звена “сервер - сервер”, работающих под Unix.
“Распределенные объекты уверенно выходят на первый план, - убежден Джон Стренд, директор по планированию и интеграции технологий корпорации Sprint (Оверленд-Парк, шт. Канзас). - Игнорируя их, вы рискуете отстать от жизни”.
Мы внезапно оказались в прекрасном новом мире распределенных объектов. Пользователя Galileo не будет интересовать местонахождение требуемого объекта. Чтобы выйти на него, достаточно обратиться на совместимый с IIOP посредник запросов к объектам. Такая схема не просто снимает некоторые ограничения, свойственные двухуровневым клиент-серверным сетям, она вселяет надежду на беспрепятственное подключение к нескольким хост-компьютерам, что особенно важно для “инкапсулированных” унаследованных систем.
“Многие пользователи годами мечтали о подобных возможностях, однако не могли воплотить их в жизнь, - уверен Эрик Шмидт, руководитель технического отделения фирмы Sun (Маунтин-Вью, шт. Калифорния). - Сети не были связаны между собой, а клиент-серверные приложения создавались под конкретные платформы. Положение резко изменилось после появления Internet, Java и CORBA”.
Как бы то ни было, прогнозы развития технологии распределенных объектов становятся все более оптимистичными. По оценкам корпорации International Data (Фреймингхем, шт. Массачусетс), в 1996 году мировой рынок связующего объектного ПО был достаточно скромен и составил всего 122 млн. долл., однако, практически удваиваясь ежегодно, в 2000 г. он достигнет отметки 1,6 млрд. долл.
Планы на 2001 год
В 1996 г. был момент, когда под руководством Неттлза над многомиллионным проектом Supplynet работало 70 объектных программистов. Основными инструментами этой команды разработчиков были Smalltalk фирмы ParcPlace-Digitalk, среда разработки объектно-ориентированных приложений онлайновой аналитической обработки Gentia фирмы Planning Sciences и Oracle7. Работы проводились в основном на Unix-платформах. Одна из главных проблем оказалась связанной с согласованием двух совместимых с CORBA посредников запросов к объектам - клиентского VisiBroker фирмы Visigenic и серверного Smalltalk Broker фирмы DNS Technologies.
Пока нельзя сказать, что работа завершена полностью. К концу 1997 г. Неттлз намерен перевести все обслуживание потребителей, включая клиентские и серверные приложения, на язык Java и открыть доступ к Supplynet через “Всемирную паутину”.
Неттлз не просто закладывает гибкую основу, которая позволит повысить функциональность сети за счет последующего добавления новых элементов. Он преследует стратегическую цель - обеспечить возможность широкомасштабной индивидуализированной настройки системы для каждого пользователя, обратившегося к услугам McKesson. А этого, уверен Неттлз, без распределенных объектов достичь невозможно. “Альтернативой могло бы стать только создание отдельных исходных текстов для каждого потребителя, но это выше человеческих сил, - отмечает он. - В противном случае остается лишь одно: придерживаться единого подхода ко всем клиентам, не делая никакого различия между ними”. Но добавляет, что так можно растерять всю клиентуру.
Ставку на распределенные объекты делает и Sprint при разработке объектно-ориентированной системы управления для своих продуктов Sprint ATM и Sonet. Команда разработчиков под управлением Стренда большую часть работы выполняет на языке Си++. Как и Неттлз, они столкнулись с серьезными трудностями. Много времени заняла настройка PowerBroker, ORB на базе CORBA, который никак не хотел вписываться в жесткие стандарты производительности. Эту работу Стренду помог выполнить пакет Expertsoft. Потребители легко смогут оценить главное преимущество объектно-ориентированной системы Sprint: чтобы добавить в нее новые услуги или сетевые элементы, понадобятся считанные часы, а не дни, недели и месяцы, как это было раньше.
Стренд отмечает, что до недавнего времени создание приложений на базе распределенных объектов было просто немыслимо. Причину он видит в том, что “отсутствовал единый способ описания объектов, признанный и используемый всеми разработчиками”. Сегодня благодаря IIOP софункционирование посредников запросов к объектам стало реальностью, но один из прежних недостатков объектной технологии все еще не устранен. Добиться повторного использования разработанных средств, а значит и оправдать затраты на них, очень трудно.
На передовых рубежах
Учитывая такой недостаток и ряд других проблем, легко понять, почему традиционная объектная технология не смогла вызвать энтузиазма в корпоративных кругах. “Эта суперэлитарная технология лишена привычных программистам простых средств разработки”, - замечает Дональд Депалма, аналитик фирмы Forrester Research (Кеймбридж, шт. Массачусетс). По его мнению, объектный подход не смог обрести зрелости, потому что он постоянно изменяется. Так, совсем недавно разработчики переключили свое внимание с повторно используемых исходных текстов на языке Си++ на “взаимозаменяемые компоненты”.
Недостатки свойственны и самим распределенным объектам. Не последнее место в их числе занимает несогласованность посредников запросов к объектам. К тому же в распределенных средах всегда присутствует некоторое число компьютеров, отключенных от сети или оснащенных устаревшими объектами. “Должна существовать единая текущая версия объекта, которая может считаться стандартной”, - отмечает Неттлз.
Однако, когда дело доходит до объектов, каждый разработчик придерживается собственного стандарта. У всех на устах один вопрос: вытеснит ли DCOM (Distributed Component Object Model распределенная модель составных объектов) корпорации Microsoft архитектуру CORBA консорциума Object Management Group или они смогут сосуществовать?
“Пользователям, скорее всего, придется определиться уже в ближайшее время, - утверждает Депалма из Forrester Research. - По мере развития технологии в различных системах и серверах становится все легче поддерживать оба подхода”. Депалма убежден, что, выбирая между подходами Microsoft и Netscape, следует в первую очередь ориентироваться на предъявляемые к системе требования. Если во главу угла ставится интеграция Windows-клиентов с Internet, то предпочтение следует отдать Microsoft. Если же главной заботой является создание совершенно новых Internet-приложений, подключаемых к унаследованным службам, то больше возможностей предоставит Netscape.
Проведенный фирмой Forrester Research опрос показал, что большинство подразделений по ИТ пока еще не сделали выбор. Среди тех, кто уже определился, 24% высказались в пользу DCOM корпорации Microsoft и лишь 14% заявили о поддержке CORBA/IIOP.
Корпорация Oracle (Редвуд-Шорз, шт. Калифорния), которая также сделала ставку на CORBA, рекламирует свою, пока еще не оперившуюся, архитектуру NCA (Network Computing Architecture - архитектура сетевых вычислений). Эта технология для HTTP-серверов должна обеспечить совместную работу ActiveX, OLE, Java, CORBA, IIOP и других программных компонентов. “Объектную модель широко применяет только Microsoft, - считает Питер Рилан, вице-президент Oracle по технологиям для Internet-серверов. - Но корпорация совсем упустила из виду распределенные объекты”.
Сама же Microsoft, включившая DCOM в Windows NT 4.0, придерживается другого мнения по этому вопросу. “Сторонники CORBA упустили свой шанс, - уверяет Джеймс Утцшнайдер, менеджер группы по серверным продуктам. - Им так и не удалось найти рентабельного способа интеграции компонентов”.
На самом же деле и та, и другая сторона несколько поторопились с выводами. Объектное межплатформное ПО корпорации Oracle на базе NCA появится не раньше середины 1997 г., а Microsoft сможет воплотить свою концепцию распределенных объектов DCOM в сервер транзакций Viper уже в начале 1997 г.
Ведущаяся перепалка еще более мешает подразделениям по ИТ сделать выбор. Дать трезвую оценку каждому из участников объектной войны - дело непростое. Вот какое мнение высказал Деннис Джоунз, менеджер по информатизации корпорации Federal Express (Мемфис, шт. Теннеси): “Я не думаю, что можно игнорировать положение на рынке и политику всей отрасли. Структура нашей корпорации весьма разнородна, здесь существуют многочисленные группы, движущиеся параллельными путями. На сегодняшний день мы даже не пытаемся выработать единой стратегии”.
Аннрей Отул, руководитель по технологии фирмы Iona Technologies (Дублин, Ирландия), полагает, что размах объектной войны слишком переоценивается средствами массовой информации. Он уверен, что навести мосты между противоборствующими технологиями способен предлагаемый его фирмой брокер запросов Orbix, равно как и некоторые подобные продукты других производителей. “С помощью нашего продукта возможно организовать мирное сосуществование DCOM и CORBA, - считает Отул. - Именно несовместимость продуктов дает нашей фирме колоссальные возможности”.
Куда мы идем
Совершенно ясно, что перед тем, как технология распределенных объектов станет привычной для большинства корпораций, ей предстоит пройти долгий путь развития. Причина в ее сложности. “Вы едва ли сможете обсудить вопросы управления распределенными объектами с кем-нибудь вне подразделения по ИТ, - сказал Гэри Кертис из фирмы Boston Consulting Group, партнера фирмы Worldwide IT Practice (Чикаго, шт. Иллинойс). - Разъяснить значение объектной технологии для бизнеса очень трудно, и это препятствует ее распространению”.
Мерилин Мартин, партнер и специалист по объектно-ориентированному программированию корпорации Computer Sciences (Уолтем, шт. Массачусетс), считает, что у многих организаций, рассматривающих возможность применения распределенных объектов, не может не возникнуть вопросов относительно производительности и управления транзакциями. “В прошлом нам встречались клиенты, пытавшиеся справиться с задачей, не имея необходимых знаний, - вспоминает она. - Они просто хотели объять необъятное”.
Попытка перейти на распределенные объекты, вне всяких сомнений, возложит на многие подразделения по ИТ тяжелое бремя. Особенно трудно будет найти опытных разработчиков и подходящий инструментарий. Но эта технология не остановится в своем развитии, считает Мартин, потому что “если вы все сделаете правильно, то получите среду следующего тысячелетия”.
Расти Уэстон
Со старшим редактором Расти Уэстоном можно связаться по адресу: rusty_weston@zd.com.
Что вас больше всего тревожит в объектно-ориентированной технологии?
(допускается несколько ответов)
Результаты 1995 г.
Результаты 1996 г.
Подготовка персонала
50%
38%
Отсутствие стандартов
32%
20%
Слабость инструментария
24%
14%
Источник: фирма Forrester Research.
Результаты получены на основе опроса 50 компаний из списка Fortune 1000.
На каком этапе процесса внедрения объектно-ориентированной технологии вы находитесь?
(допускается несколько ответов)
Принимаем решение
28%
Приступили к изучению
24%
Выбрали OLE/ DCOM
24%
Выбрали CORBA
14%
Приступим к изучению в будущем
12%
Источник: фирма Forrester Research.
Результаты получены на основе опроса 50 компаний из списка Fortune 1000.
Какое влияние на вашу объектную стратегию оказала Internet?
Затрудняюсь ответить
4%
Большое
12%
Некоторое
32%
На данный момент - никакого
52%
Источник: фирма Forrester Research.
Результаты получены на основе опроса 50 компаний из списка Fortune 1000.