Революция Internet прокатилась по Novell, перевернув все вверх дном, но компании удалось устоять на ногах. И, если Novell удастся реализовать свои планы, она может преуспеть и при новом порядке.
MICROSOFT УБЕДИЛА ЗАКАЗЧИКОВ В ТОМ, ЧТО ИМ НУЖНО БОЛЬШЕ,
ЧЕМ ПРОСТО ФАЙЛОВЫЙ СЕРВЕР
Цена сервера приложений
МНОГОЗВЕННЫЕ КЛИЕНТ-СЕРВЕРНЫЕ ПРИЛОЖЕНИЯ
Вопреки принятым правилам
Такой знакомый мир Internet претерпел за последние год или два несколько крупномасштабных изменений. Во-первых, рост Internet поднял уровень ожиданий в отношении предоставляемых сетью сервисов (ключевые слова - Web и TCP/IP). Во-вторых, атаке подверглась целая группа устоявшихся мнений о том, какова наилучшая архитектура для реализации сетевых приложений (ключевые слова - многозвенный клиент-сервер). В-третьих, многие застарелые проблемы, в том числе трудность разработки программного обеспечения для нескольких платформ, трудность разработки надежных многократно используемых кусков программного обеспечения и трудность развертывания и модификации программного обеспечения, наконец-то вроде бы нашли свое разрешение (ключевые слова - Java, объектно-ориентированное программирование и ActiveX).
Novell, по-прежнему являющаяся основным поставщиком серверов файлов и печати, по-прежнему обладающая крупнейшей инсталлированной базой клиентов службы каталогов и по-прежнему занимающая лидирующую позицию в разработке решений по обмену сообщениями и программного обеспечения коллективной работы, адаптировалась к этим изменениям весьма плохо. Уолл-Стрит не имеет уважения к былым заслугам: цены на акции упали до рекордно низкого уровня, а финансовая пресса всякое упоминание имени Novell сопровождает эпитетами вроде бедная и несчастная. Некоторые заказчики Novell задаются вопросом, насколько их собственные инфраструктуры, строящиеся вокруг продуктов компании, способны воспринять эти глубинные изменения.
Ясно, что Novell осознала важность Internet с опозданием. Однако надо помнить, что до 1995 года компания имела крупнейшую в мире инсталлированную базу клиентов TCP/IP - продукты LAN Workplace и LAN Workgroup. Уже давно серверы NetWare умели маршрутизировать IP-трафик, поэтому пользователи могли иметь доступ в Internet и выполнять приложения Internet, даже когда они применяли IPX для доступа к файлам и печати, если стек протоколов IPX был установлен вместе со стеком TCP/IP. Продукты Novell поддерживали также и такие протоколы Internet, как Network File System (NFS) и SNMP. Так что вовсе не протоколы застали Novell врасплох, а тот темп, с которым World Wide Web стала базой для разработки приложений и местом для открытого, недорогого, да к тому же полезного программного обеспечения и информации. И прежде чем обрушиваться с критикой на Novell, смеем напомнить, что Microsoft тоже едва не прозевала этот момент - в конце концов, немного времени прошло с тех пор, когда ученые мужи предрекали, что Билл Гейтс окажется не у дел при новом мировом порядке.
КАКОЙ ДОЛЖНА БЫТЬ КОМПАНИЯ В МИРЕ INTERNET?
Наверно, вначале следует определиться с тем, что мы вправе ожидать от компании, успешно реагирующей на изменения, происходящие в результате появления Web и других технологий Internet. Иными словами, необходимо определить, что такое Internet-компания.
Во-первых, только программистские компании можно оценивать с точки зрения подверженности влиянию Internet. Никому не придет в голову обвинять Cisco, 3Com, Compaq или Dell в замедленной реакции на Internet, потому что их продукты прозрачны для протоколов и программного обеспечения, составляющих феномен Internet. Сетевая или серверная операционная система, поддерживающая средства соединения TCP/IP, также прозрачна для Web и Internet.
Суть феномена Web и Internet надо искать в прикладном программном обеспечении и информационном наполнении, в особенности в независящих от места распределенных приложениях. Для того чтобы быть принятой в открытый клуб Internet вместе с Netscape, Yahoo, Netcom и Microsoft, компания должна развернуть весьма шумную рекламную компанию, а это никогда не было сильной стороной Novell.
Кроме того, к несчастью для Novell, распределенные приложения имеют тенденцию привлекать внимание к тем платформам, на которых они создаются, причем некоторые из них включаются в операционную систему. Очень немногие из популярных приложений Internet созданы на платформе Novell. Дело, однако, не в том, что такие продукты нельзя построить на базе NetWare и других продуктов Novell. Проблема здесь старая: разработка приложений на платформе NetWare вообще.
Сила NetWare всегда была в обеспечении быстрой, компактной и надежной службы файлов и печати. В отличие от Unix, Windows NT и OS/2, NetWare никогда не была операционной системой общего назначения. Многозадачность NetWare не вытесняющая, а графический интерфейс для консоли сервера отсутствует по большому счету. Да, NetWare хорошо работает на процессорах Intel, но опять же, к сожалению для Novell, быстрые, эффективные и надежные сервисы печати и файлов не рассматриваются как первостепенные в мире Internet.
Традиционный способ написания распределенных приложений для доступа к сервисам NetWare состоял в использовании C или C++ и комплекта разработчика программного обеспечения NetWare для создания загружаемых модулей NLM. Число NLM довольно велико: здесь и программное обеспечение резервного копирования ARCserve компании Cheyenne Software, и утилиты для управления системой компании BindView Development, Lotus Notes, Oracle 7, и собственные утилиты и расширения Novell вроде ManageWise и GroupWise. Но даже Novell не станет утверждать, что разработка, отладка и тестирование NLM простое дело. Кроме того, разработка NLM - весьма опасное занятие, поскольку, в отличие от ОС общего назначения, NetWare не обладает адекватной встроенной защитой от некорректных приложений. Ошибки в NLM приведут к краху NetWare с большей вероятностью, чем аналогичные недочеты в приложениях для ОС общего назначения. Novell имеет хорошо продуманную программу тестирования и сертификации NLM, однако сама необходимость в дополнительном тестировании и сертификации затрудняет разработку.
Novell хорошо осведомлена о своем отставании от Windows NT и, возможно, Unix на рынке серверов приложений (см. врезку "Цена сервера приложений"). Трудность разработки программ для NetWare, специализированность самой сетевой ОС и неудача в популяризации NetWare среди разработчиков привели к относительной нехватке привлекательных приложений, а также прохладному отношению к ожидаемым программным продуктам. Одной из попыток было создание среды разработки AppWare по типу объектно-ориентированных базовых классов Microsoft. Приобретя в 1993 году технологию AppWare, Novell столкнулась с проблемами превращения данной технологии в своего рода межплатформенную объектно-ориентированную среду разработки, каковой сегодня является Java или Active X. Тогдашний руководитель Novell Рэй Ноорда исповедовал стратегию противодействия Microsoft на всех фронтах - с альтернативной версии DOS и комплекта настольных приложений до сетевых операционных систем и инструментария для разработки программного обеспечения.
Почему AppWare прекратила свое существование в 1995 году? Потому что Novell поняла, что она не располагает необходимыми ресурсами для создания полнофункциональной среды разработки на базе AppWare, способной конкурировать с Visual Basic компании Microsoft, С++ компании Watcom, Delphi компании Borland и изобилием иных языков программирования, библиотек классов, отладчиков и других инструментов. Кроме того, Novell приобрела Unix System Labs (USL), обладателя одной из истинных версий Unix, - операционной системы общего назначения, обеспечивающей всю поддержку, какая только может потребоваться для распределенных приложений. В целях создания SuperNOS c быстрыми сервисами файлов и богатыми функциональными возможностями Novell решила объединить NetWare с полнофункциональным Unix.
С технической и организационной точек зрения, SuperNOS оказалась суперпровалом. Склеивание Unix с NetWare замедлило развитие NetWare и поставило под угрозу функциональность Unix. Инженеры NetWare вели бесконечные окопные войны с инженерами Unix. То, что изначально казалось многообещающим способом задействования средств разработки Unix, обернулось угрозой всему сообществу пользователей NetWare. В конце концов Novell продала USL компании Santa Cruz Operation, другому поставщику Unix, в результате сделки, в соответствии с которой Hewlett-Packard должна была встроить средства NetWare в новую 64-разрядную версию Unix. Кроме того, Novell потеряла кучу денег при продаже WordPerfect компании Corel, а расставшись с WordPerfect, компания простилась и с надеждами обогнать Microsoft в области настольных приложений.
К концу 1995 года Novell отказалась от идеи противодействия Microsoft на всех фронтах и приняла агрессивный, но реальный план расширения и совершествования NetWare. Она признала необходимость интерфейсов API для создателей программного обеспечения и объявила план их реализации. Служба каталогов Novell Directory Service до сих пор остается наиболее совершенной и широко используемой службой каталогов, и Novell все еще контролирует свыше 60% инсталлированной базы клиентов в локальных сетях. Похоже, что кровотечение остановлено, и компания переориентировалась на предоставление широкого спектра сетевых сервисов, а своевременное исполнение планов должно вернуть Novell если не прежнее полное господство, то доминирующую позицию в сетевом мире.
Однако время опасностей еще не прошло. Значительная часть верхнего управленческого звена покинула компанию. Каждый может решить для себя сам, что это - симптом или причина сумятицы в Novell. Любопытно, что компании удалось тем не менее придерживаться заявленного плана выпуска продуктов. Программное обеспечение для коллективной работы ManageWise появилось одновременно с агентом для управления NT Server. Клиент-серверная редакция GroupWise запоздала на несколько месяцев, но это ничто в сравнении с опозданием в сроках появления других клиент-серверных почтовых механизмов. Осенью 1996 года Боб Франкенберг, председатель, исполнительный директор и президент, отказавшийся от USL и WordPerfect и положивший начало возрождению компании, был изгнан советом директоров. Джо Маренги, исполнительный вице-президент по продажам, занял пост президента, а место исполнительного директора осталось вакантным.
INTRANETWARE = NETWARE++
На первый взгляд, IntranetWare, последняя редакция сетевой ОС Novell, представляется просто попыткой обогнать конкурента за счет более привлекательной цены и массы дополнительных возможностей. А название - так это просто прямая попытка связать в сознании людей Novell с золотым "эльдорадо" Internet/Intranet. Но если взглянуть поближе, то становится ясно, что IntranetWare может послужить надежным фундаментом для решения краткосрочных проблем Novell в области разработок приложений.
Novell начала продажи сервера Web на базе NetWare в 1995 году и отказалась от него летом 1996, еще до появления IntranetWare (он был изначально разработан American Internet). Сервер Web - это квинтэссенция распределенных приложений Internet даже несмотря на то, что он теперь поставляется бесплатно с каждой из двух ведущих сетевых ОС. В своем первоначальном воплощении сервер Web предназначался исключительно для рассылки файлов HTML в ответ на запрос HTTP Get - эта задача как раз для NetWare, как транспортного механизма доставки файлов.
Совершенствование браузеров привело к необходимости расширения функций серверов Web. Novell Web Server, поставляемый с IntranetWare, не вполне соответствует современным требованиям. Он не поддерживает Secure Socket Layer (SSL), представляющий собой наиболее общий метод шифрования информационного наполнения при его передаче между браузерами и серверами. (Конечно, если IntranetWare развертывается исключительно в защищенных сетях, то отсутствие SSL не проблема.) IntranetWare поддерживает удаленный и локальный общие шлюзовые интерфейсы (CGI) для создания динамических страниц Web, например посредством выполнения сценария поиска записи в базе данных. Инструментарий IntranetWare для написания сценариев включает интерпретаторы NetBasic (лицензирован у HiTecSoft), Perl и Basic. Набор инструментов для быстрого установления связи IntranetWare Web Server с другой программой пока отстает от возможностей аналогичных средств в средах NT и Unix, но все же Novell продвинулась здесь далеко вперед.
Сервер Web превратился в широко распространенную среду разработки. Пока неясно, насколько удастся преодолеть недостатки HTML и HTTP для того, чтобы серверы Web стали доминирующей платформой для многозвенного клиент-серверного программного обеспечения, но это вполне возможно (см. врезку "Вопреки принятым правилам"). Сегодня Novell не лидер на рынке, но компанию слишком рано сбрасывать со счетов.
Novell много сделала, чтобы NetWare стала базовой платформой для выполнения приложений Java. Строго говоря, Java не имеет непосредственной связи с Internet, и приложения Java не обязательно загружать в реальном времени. Однако загрузка в реальном времени может оказаться весьма полезной во многих ситуациях, а Internet предлагает очевидный, практически общедоступный путь для этого. Приложения Java, выполняемые на сервере, будут наверняка находиться там, а это обеспечивает дополнительную гибкость. Например, если сервер перегружен, то клиент может загрузить некоторую часть приложения для его быстрейшего выполнения. Среда для выполнения приложений Java и комплект разработчика прилагаются непосредственно к IntranetWare, а бета-версия следующей версии Java и появившийся как раз вовремя компилятор начали поставляться разработчикам под IntranetWare в декабре 1996 года. Novell также заявила о поддержке элементов управления Active X в среде IntranetWare.
Другие добавления к NetWare носят более стратегический характер, чем это кажется поначалу. Шлюз IPX/IP может обеспечить доступ к Internet всем пользователям сервера IntranetWare без необходимости устанавливать стек TCP/IP на каждом клиенте и выделять адреса Internet каждому из них. Поддержка протокола динамической конфигурации хоста DHCP позволяет системе выделять IP-адреса клиентам по мере необходимости, благодаря чему адресное пространство используется более эффективно, а администрирование становится проще. С помощью нового сервера ftp можно разделять файлы с любым клиентом TCP/IP, а не только с клиентами IntranetWare. Включение многопротокольного маршрутизатора, продаваемого ранее отдельно, позволяет подключать IntranetWare непосредственно к интерфейсу глобальной сети для доступа, например, к оператору Internet.
ВОСХОДЯЩАЯ ЗВЕЗДА СЛУЖБЫ КАТАЛОГОВ
Боб Меткалф, основатель 3Com, утверждает, что сложность сети растет как квадрат числа пользователей. То же самое правило применимо, по-видимому, к службе каталогов. Если это предположение верно, то существует критическая масса, при которой NDS становится просто необходимой широкой аудитории сетевых пользователей, причем ее распространение будет расти взрывообразно.
Novell упорно работает над накоплением, так сказать, критической массы. Наиболее крупный недавний успех - это соглашение с Sun Microsystems о реализации NDS в среде Solaris до конца 1997 года. С UnixWare в руках SCO и обязательством HP внедрить NDS в будущие версии операционной системы, NDS станет вскоре доступна практически на всех наиболее распространенных платформах Unix. Компания обещает начать поставки NDS для Windows NT Server в середине 1997 года.
Novell начала предлагать бесплатно исходные тексты NDS и лицензии на распространение разработчикам операционных систем. Кроме того, Novell собирается предлагать лицензии на распространение двоичного кода для NDS на базе NT.
Один из вопросов, касающихся будущей среды, состоящей из распределенных компонентов, заключается в том, как клиенты смогут их найти. Брокеры объектных запросов упрощают взаимодействие между объектами, а Internet обеспечивает связь. Однако в большинстве ситуаций запуск механизма поиска для нахождения компонентов приложений вряд ли будет приемлем с практической точки зрения. Каталога программных компонентов может оказаться вполне достаточно для этих целей, в особенности в случае наличия всеобъемлющего межплатформенного каталога, который можно расширить для отслеживания программных объектов.
Другая область, в которой NDS может найти широкое применение, - это международные телефонные компании. Несмотря на разговоры о том, что AT&T "потопит" Novell Connect Services, AT&T включила их в WorldNet Intranet Connect Service и, по отзывам, с успехом. Nippon Telegraph и Telephon, вторая крупнейшая телефонная компания в мире, начала предлагать аналогичные сетевые сервисы под управлением NDS. И Deutsche Telekom, третья по счету в этой области, начала испытания схожей службы Intralink Service. Тот факт, что эти компании являются, кроме того, одними из крупнейших операторов Internet - не простое совпадение.
Из-за того, что не все клиенты данных телекоммуникационных компаний имеют доступ к NDS, в Internet зияет пустота там, где должна быть надежная служба каталогов. Доменная система имен (Domain Name System, DNS), предназначенная в первую очередь для преобразования IP-адреса в удобопонятные имена, и обратно, не является и никогда не будет службой каталогов. Весьма возможно, что NDS окажется по плечу роль сервера каталогов Internet, особенно благодаря вышеупомянутым альянсам.
Novell добилась значительных успехов в 1996 году, причем это успех не только в представлении новых продуктов и создании новых альянсов, но и в чисто коммерческом плане - продажи IntranetWare начались весьма успешно. Компании предстоит еще выполнить немало данных ранее обещаний и ответить на немало вызовов, главнейшие из которых - восприятие компании рынком и способность представить в выгодном свете свои достижения. Технические проблемы, стоящие перед Novell, также непросты. Корень существительного revolution (революция) тот же, что и у глагола revolve (вращаться). Революция Internet прокатилась по Novell, перевернув все вверх дном (и вытряся немало денег из карманов), но компании удалось устоять на ногах. Как и другие конкурирующие - и сотрудничающие - компании, оказавшись в условиях радикально нового порядка, Novell сможет преуспеть, если ей удастся следовать своим же собственным планам.
Стив Штайнке - старший редактор LAN Magazine. С ним можно связаться по адресу: ssteinke@mfi.com.
MICROSOFT УБЕДИЛА ЗАКАЗЧИКОВ В ТОМ, ЧТО ИМ НУЖНО БОЛЬШЕ, ЧЕМ ПРОСТО ФАЙЛОВЫЙ СЕРВЕР
Цена сервера приложений
Если Novell изобрела концепцию файлового сервера и использовала ее для убеждения заказчиков в том, что простой сервер дисков не отвечает их потребностям, то Micrsoft позиционировала Windows NT Server как сервер приложений, причем такой, который, кроме того, адекватно решает задачи по обслуживанию файлов. Каковы преимущества сервера приложений?
NetWare - это многозадачная операционная система, но ее многозадачность кооперативная, а не вытесняющая. Вытесняющие ОС, такие как OS/2, Windows NT и Unix, ограничивают время, в течение которого одно задание может выполняться, и берут на себя управление в случае, если это происходит слишком долго. Такой подход весьма хорош, когда нет уверенности в том, что каждое задание будет выполняться как надо. NetWare же исходит из предположения, что отдельные задания не узурпируют процессор, а это возлагает дополнительную ответственность на разработчиков в части тестирования загружаемых модулей.
Получается, что вытесняющая многозадачность заведомо лучше? Не совсем так, особенно если для вас важна скорость выполнения. NetWare отказывается от допуска на защищенность в обмен на повышение производительности. Все хорошо, когда вы работаете только с самой NetWare, потому что ее компоненты доказали свою надежность. Однако загружаемые модули других разработчиков далеко не всегда столь же надежны даже при условии прохождения программы тестирования и сертификации Novell. Windows NT и Unix часто более дееспособны в "отлавливании" нестабильных процессов и закрывании их без последствий для самой ОС.
Большую часть портфеля для серверов приложений составляет Back Office. Серверные продукты Microsoft, не будучи полностью взаимозависимы, все же дополняют и усиливают друг друга. Средства администрирования NT Server являются по большей части достаточными для обслуживания других компонентов. Сервер управления системами SMS сохраняет данные в базе данных SQL. Информационный сервер Internet тесно связан с SQL Server (особенно это касается создания динамических страниц Web). Разработчики программного обеспечения имеют, вообще говоря, доступ к любому из этих совокупных сервисов. Для сравнения, только начиная с версии 5.0, выпущенной в ноябре 1996 года, GroupWare, основной продукт для обмена сообщениями компании Novell, стал наконец-то использовать при администрировании каталоги.
В конце концов сервер приложений может называться таковым, если для него достаточно приложений. Число же приложений будет расти, если разработчики будут уверены, что они могут сделать на этом деньги, что маловероятно, если рынок окажется слишком маленьким, а разработка слишком сложной. NetWare удерживала львиную долю серверного рынка в продолжение 10 лет и даже более, однако разработка была непростым делом, в особенности после появления NDS. Разработчики жаловались на неадекватность документации, избирательность в подходах, текучку и высокомерие. Если Oracle, Sybase и некоторые другие крупные компании все же создавали приложения на базе NetWare, то лишь немногие корпоративные производители отваживались на это. Приложения для вертикального рынка были нацелены всего на несколько областей, в частности на интеграцию компьютера и телефона, и к ним Novell проявляла особый интерес. Решение Novell открыть многочисленные новые пути для разработчиков должно в конце концов привести к тому, что наступит день, когда IntranetWare будет рассматриваться как сервер приложений.
Сервер приложений выглядит особенно привлекательно, когда несколько заданий надо одновременно выполнить на одной машине. Он может найти применение в филиалах и небольших компаниях, так как крупные организации предпочитают выделять сервер под конкретную задачу. Крупной компании вряд ли имеет смысл ставить почтовый сервер в зависимость от количества запросов к базе данных или другой нагрузки.
Такое явление, как Internet, тоже оказывает свое влияние на предназначение сервера приложений. Во многих случаях открытость и повсеместность TCP/IP позволяет выбирать сервер приложений вне зависимости от его платформы. Сочетание почтового механизма Unix, Web-сервера NT и файловой службы IntranetWare далеко не обязательно не будет работать, в особенности если в их основе лежит общая служба каталогов. В пост-Internet'овском мире приложения и сервисы станут во многом взаимозаменяемы, при этом они должны будут преуспевать в выполнении своих задач и без проблем взаимодействовать с другими приложениями и сервисами.
МНОГОЗВЕННЫЕ КЛИЕНТ-СЕРВЕРНЫЕ ПРИЛОЖЕНИЯ
Вопреки принятым правилам
Клиент-серверная модель выглядела поначалу весьма заманчиво. Одним из привлекательных моментов было то, что она предоставляла альтернативу старомодному старому мэйнфрейму с множеством журналов незавершенных приложений и неинтеллектуальных символьных терминалов, высокой ценой приобретения и эксплуатации, а также толстыми бумажными отчетами, в которых пользователи искали ответы на свои вопросы. Но когда клиент-серверная модель достигла стадии практического воплощения, то все оказалось не так гладко.
Опирающаяся на стандарты клиент-серверная архитектура рассматривалась как открытая, но оказалось, что стандарт SQL недостаточен для обеспечения открытости. Кроме того, вам следовало решить, где реализовать бизнес-правила, воплощенные в приложении. Все операции можно было сосредоточить на клиенте и оставить за сервером только обслуживание базы данных - это модель толстого клиента. Такой подход ведет к тому, что даже малейшие изменения в пользовательском интерфейсе означают необходимость обновления программного обеспечения каждого конечного пользователя. В этом случае надо быть очень осторожным: если какой-либо пользователь по тем или иным причинам не сможет обновить программное обеспечение, то он в результате станет использовать иные, отличные от всех остальных, бизнес-правила (например заказчикам будут предлагаться старые скидки вместо новых). Толстым клиентам требуются, вообще говоря, более мощные машины в случае многофункциональных приложений.
Альтернатива здесь - толстый сервер. При этом подходе пользователь применяет либо триггеры, либо записанные процедуры, либо те или иные сценарии для реализации бизнес-правил на сервере, а клиент в этом случае предоставляет только удобный интерфейс. Вся загвоздка в том, что вы просто-напросто еще раз изобрели мэйнфрейм. В итоге данные, предполагаемые независимыми, оказались смешаны с бизнес-правилами, так что время разработки и производительность снова встали на повестку дня. Не лучше ли поместить эти бизнес-правила на их собственный сервер?
Архитектура клиент-серверных приложений с тремя или более звеньями прекрасно вписывается в мир Internet - инструментов межплатформенных разработок, подобных Java, заменяемых программных компонентов и множества серверов, часть которых предоставляет только одну специализированную функцию (например выделение адресов или службу каталогов), а другая часть - разнообразные дополнительные функции. В такой среде мы будем иметь дело со своего рода естественным отбором, когда приложения станут жить постольку, поскольку они справляются со своими задачами лучше других. И Novell, и Netscape, и Microsoft, и IBM, и JavaSoft, и вообще любой, кто хочет попробовать свои силы, окажутся вынуждены добиваться этого посредством обеспечения производительности и взаимодействия.