Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Отдел рекламы
График выхода журнала
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Java готовится к штурму предприятий

Кристина Хаджинс-Бонафилд

«Пишется однажды – работает везде» – такой лозунг был выбран для продвижения технологии Java. На самом деле для программ, созданных на этом языке, пока больше подошло бы: «Пишется однажды – ошибки находят везде». Но, даже если это и так, Java все активнее вторгается в область корпоративных приложений и утверждает себя в качестве неотъемлемой части крупного бизнеса.

Три года назад компания Sun Microsystems добавила в сетевой «первобытный бульон» катализатор — простой язык программирования под названием Java. Поскольку приложения Java могут распространяться в виде не зависящего от платформы байт-кода, это давало надежду, что они будут работать на любых клиентских и серверных операционных системах и аппаратных средствах. Теоретически код программы, написанный для одной машины, должен работать на любой другой. Позиционируя Java не просто как язык программирования, но как вычислительную платформу, Sun стремилась ослабить гегемонию Microsoft в области операционных систем.

Момент был выбран благоприятный. Усложнение настольных систем стимулировало возврат к централизованному администрированию, а развитие Интернет подогрело интерес к высокопроизводительным Unix-серверам. В то же время предприятия, эксплуатирующие сложные приложения на мэйнфреймах, сопротивлялись этой тенденции, не желая переходить от своих испытанных рабочих лошадок к менее надежным клиент-серверным архитектурам. Так удачно подоспевшее «заклинание»: «Пишется однажды — работает везде» — создало эйфорическую атмосферу преувеличенных ожиданий вокруг нового языка.

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

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

  • язык программирования, позволяющий вдвое сократить цикл разработки сложных приложений, обеспечивая при этом боўльшую надежность, чем такие альтернативы, как Cи++. Но его пока нельзя применять повсеместно из-за проблем с производительностью и совместимостью;
  • способ создания переносимого клиент-серверного кода, который пока еще далек от совершенства, но, однако, уже превосходит другие;
  • важный язык для разработки деловых приложений третьими фирмами, несмотря на то что сегодня он получает чрезвычайно низкие оценки от компаний, занятых поиском таких приложений (см. рисунок);
  • серверная платформа, набирающая сейчас небывалый потенциал как средство для объединения корпоративных бизнес-приложений и создания более простых и функциональных пользовательских интерфейсов, которой по-прежнему не хватает критически важной эталонной модели;
  • платформа распределенной обработки, наряду с CORBA (Common Object Request Broker Architecture) продолжающая конкурировать с COM (Component Object Model) компании Microsoft и бороться с растущей зависимостью информационных систем от частных технологий CORBA/ COM, использующих уникальные и фирменные интерфейсы API и платформы;
  • клиент для корпоративных интрасетей (и, что менее вероятно, для сетей extranet), который либо будет стимулировать использование унифицированных 32-разрядных настольных компьютеров, либо приведет к развертыванию упрощенных приложений, использующих JavaPC, чтобы задействовать 486-е машины и устаревшие модели Pentium (см. врезку «JavaPC: живая вода для ``мертвого железа’’»). В сети Интернет клиентские Java-программы потерпели неудачу из-за клиентов, основанных на различных наборах инструментальных средств разработки JDK (Java Development Kit), независимого подхода Microsoft к Java и несоответствия возможностей компьютеров, ограничивающего функциональность инструментария в лучшем случае ранними версиями JDK;
  • замена операционной системе Windows на предприятиях или одна из возможностей избавиться от необходимости покупать дорогие ПК, к чему призывал глава компании Oracle Ларри Эллисон, но его инициатива была отвергнута консервативным руководством крупных предприятий;
  • только еще формируемый набор протоколов Jini для обнаружения и просмотра сетевых ресурсов, делающий возможными распределенные процессы, в том числе автоматизированный доступ через сеть к самым разным устройствам.
Технология Java, может быть, далека от совершенства, но молниеносный взлет — в течение каких-то трех лет — позволяет рассматривать ее как феномен в истории развития языков и платформ программирования.

Согласно данным аналитического центра Gartner Group, Java уже сейчас относится к группе основных средств разработок в 20—30% ведущих организаций в области информационных технологий и готова занять ведущее положение среди аналогичных инструментов. Компания Forrester Research также считает, что почти половина фирм из списка Fortune 1000 уже применяют технологию Java, причем около 20% пользователей рассматривают ее как важную или критически важную. Forrester Research предсказывает, что к 2000 г. будут считать ее важной или критически важной уже около половины компаний из списка Fortune 1000, а пользоваться как основным языком разработки приложений — 80%.

Для Microsoft технология Java, возможно, будет иметь такое же важное значение, как и для Sun. Хотя компания Microsoft предполагает утвердить в качестве единой и универсальной платформы ОС Windows, она тем не менее вынуждена уделять внимание и остальным платформам. А для того, чтобы эффективно внедряться в распределенные сети предприятий, Microsoft нуждается в Java. Пока эта технология существует, Microsoft вынуждена поддерживать свою конкурентоспособность в области Java.

При этом, принимая Java, Microsoft захватила в свои медвежьи объятия некоторые элементы языка, инструментальные средства и виртуальную машину. Но она обнажила свои острые клыки только на своей собственной территории — клиентском интерфейсе Windows и распределенной сетевой архитектуре COM. Эта стратегия частичного принятия Java — внедрение компанией Microsoft своих собственных интерфейсов API и вызова методов распределенной модели вычислений — привела к тому, что компания Sun обратилась в суд, обвиняя Microsoft в нарушении «чистоты» Java (и выиграла иск. — Прим. ред.)

Java на стороне клиента: двигатель будущего или тяжкая обуза?

Самой ощутимой для бизнеса потерей в результате позиционных войн между Sun и Microsoft стали трудности с созданием приложений, способных работать на различных виртуальных Java-машинах (Java Virtual Machine — JVM).

Раскол означает, что компании, нуждающиеся в инструментах создания приложений для Интернет и сетей extranet, скорее всего, будут вынуждены работать с HTML и старыми, широко распространенными версиями JDK (Java Development Kit). Последствия могут сказаться даже на интрасетях, если компания не обеспечивает полной унификации настольных компьютеров.

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

Руководство Sun считает, что поддержка компанией Microsoft интерфейса J/direct вместо Java Native Interface (JNI) — фирменного интерфейса Sun — наносит ущерб переносимости создаваемых приложений. Однако даже некоторые из партнеров Sun не согласны с ее мнением. JNI представляет собой «дыру» в основании Java-платформы, через которую вызываются нижележащие специфичные для конкретной платформы функции. J/direct привязывает приложение к платформе Windows, облегчая разработку Java-приложений, использующих вызовы Win32. Но если вы пишете приложения со специфичными для платформы вызовами функций, то переносимость для вас, вероятно, не важна, утверждают некоторые приверженцы Java.

Однако трудностей с переносимостью клиентских программ хватает и без Microsoft. Одна из наиболее серьезных проблем связана с быстрым развитием технологии Java и одновременным использованием нескольких подверсий одной и той же JDK. Хотя Sun и обещает прямую и обратную совместимость версий JDK (за исключением нескольких особенностей, таких, как интерфейсы в начальной версии JDK), большинство разработчиков считают, что при создании клиентских приложений лучше ограничиться ранними версиями — JDK 1.1 или 1.02.

Некоторые сторонние разработчики, доведенные до крайности, чтобы избавиться от необходимости постоянно «латать» код из-за несовместимости функциональных возможностей JVM, начали переписывать клиентские Java-приложения на HTML.

Большинство менеджеров предприятий заявляют, что более всего, даже больше, чем в производительности, они нуждаются в выполнении компанией Sun своих обещаний обеспечить стабильные API в версии JDK 1.2. Sun, по-видимому, учитывает это пожелание, поскольку, считая необходимым сконцентрировать усилия на тщательной проработке JDK 1.2, выпуск ускорителя виртуальной Java-машины HotSpot отложила до I квартала 1999 г.

Следующая проблема, связанная с языком Java на клиенте, состоит в том, что он разрабатывался в расчете на 32-разрядную архитектуру. Поскольку основная масса (примерно 40—60%) настольных систем на предприятиях нуждается в обновлении, они не вполне подходят для использования JVM. Особенно это сказывается в условиях дополнительной нагрузки на клиенты, связанной

с распределенной обработкой, свойственной технологиям COM (Component Object Model) компании Microsoft или CORBA (Common Object Request Broker Architecture) консорциума OMG (Object Management Group).

В этом отношении показательным является опыт фирмы Concur Technologies, занимающейся разработкой приложений для автоматизации расчетов дорожных расходов. Несмотря на то что 80% ее ПО основано на кодах HTML и JavaScript и лишь 20% — на Java, заказчики хотят иметь версию «совсем без Java». В ответ на это в октябре 1998 г. Concur выпустила версию, базирующуюся только на HTML. По мнению специалистов из Concur Technologies, пройдет не менее двух лет, прежде чем Java на клиенте будет представлена соответствующим образом для широко распространенных деловых приложений, продающихся этой компанией, — печальный факт, поскольку Java предлагает намного более удобный интерфейс и обеспечивает лучший ввод данных.

Сейчас, однако, появилась и другая альтернатива — JavaPC — среда Java, основанная на JavaOS, которая должна быть готова к концу 1998 г. и JavaPC сможет сосуществовать с DOS или Windows 3.1 на компьютерах с 486-м процессором и со старыми Pentium, если на них будут использоваться упрощенные приложения (см. врезку).

Ирония в том, что предприятия, оборудованные настольными компьютерами, стандартизованными для Windows 95, вероятно, лучше всего подготовлены к тому, чтобы воспользоваться преимуществами администрирования, безопасности и переносимости, характерными для Java-клиента компании Sun. Но именно на этих-то компьютерах, скорее всего, как раз и не будет новейших JVМ от Sun. Причина — изъятие Java из браузеров фирм Microsoft и Netscape. Последняя, не успевая оперативно реагировать на новые версии JDK, решила отказаться от трудной работы по переносу JDK на различные платформы и предпочла использовать подход, основанный на API. В результате работа по переносу и распространению новейших версий JVM легла на поставщиков отдельных платформ. Чрезвычайно мало вероятно, что Netscape будет комплектовать свои браузеры виртуальными Java-машинами третьих фирм.

Как может показаться, это дает Microsoft существенные преимущества по внедрению своей JVM. Однако менеджер по платформе Java в Sun Джина Сентони сомневается в том, что предприятия могут полагаться на JVM от Microsoft, как и на многие другие возможности Windows, только потому, что он поставляется вместе с компьютером. Другие поставщики ПО тоже жалуются, что, хотя виртуальная Java-машина Microsoft и оптимизирована на достижение максимальной производительности при работе под управлением Windows, ей не хватает стабильности и надежности, свойственных виртуальной Java-машине компании Sun.

Во избежание таких неприятностей Sun предлагает воспользоваться на клиенте модулем расширения (plug-in) для Java. Когда браузер встречает Java-апплет, эта программа проверяет, правильная ли версия JVM на ней установлена. Если нет, то нужная версия JVM может быть загружена из сети. Это означает, что если установлена JVM от Microsoft, а требуется JVM от Sun, то будет загружена последняя.

Java перебирается на серверы

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

С помощью Java многие компании, особенно из числа наиболее консервативных — тех, что до сих пор используют эмуляцию терминалов, преодолели сразу несколько технологических барьеров. Вместо перехода к новым приложениям и переобучения пользователей некоторые из них используют серверы связующего ПО для работы с мэйнфреймами из браузера, установленного на настольном компьютере. Как следствие, применение средств эмуляции быстро становится обычным явлением на таких серверах. За это, естественно, приходится расплачиваться необходимостью масштабировать серверы, поскольку они «обязаны» заниматься эмуляцией и перекачивать графику на клиентские машины. Некоторые компании находят также очень полезной возможность упростить сложный терминальный интерфейс так, чтобы с ним могли работать не только сотрудники, но и, например, клиенты фирмы.

Простота языка Java во многом объясняет его растущую популярность. Он позволяет легко реализовать сложную логику работы сервера, обеспечивая при этом достаточную производительность. Отрасль едина во мнении, что заказать приложение, написанное на Java, — это все равно, что выписать всей команде разработчиков приложения препарат для стимулирования умственной деятельности. Как утверждают профессиональные программисты, с помощью Java они могут увеличить свою производительность вдвое по сравнению с использованием языков Cи или Cи++ (с опытом, имеющимся в этой области у программистов компании GTE, можно ознакомиться по адресу www.networkcomputing.com/919/919f1.html). И, что самое ценное, из-за отсутствия характерных для языка C проблем с указателями и управлением памятью приложения получаются более стабильными, надежными и модульными.

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

Хотя Microsoft пытается позиционировать Visual Вasic (VB) как функциональный эквивалент Java и Cи, далеко не все крупные пользователи и аналитики согласны с этим. Как отмечает Джим Терли, главный редактор издания Microprocessor Report, настоящие программисты рассматривают VB как нечто, пригодное лишь для обучения безусых юнцов. Если вам 35 лет и вы все еще используете VB, то это «все равно что зарабатывать себе на жизнь раскрашиванием картинок в детских книжках ``Раскрась сам’’».

Однако такое «раскрашивание», по всей видимости, должно приносить немалый доход, учитывая то огромное число программистов, которые выбрали для себя VB благодаря его простоте и считают язык Java слишком сложным. Компромиссный путь, возможно, состоит в использовании новых платформ разработки на Java, таких, как интегрированная среда на основе сервера приложений SilverStream. Он пользуется большой популярностью у программистов, поскольку его среда разработки напоминает язык четвертого поколения. Это так соблазнительно, что даже сторонники Microsoft, в частности Cellular Technologies, выбрали в качестве стандарта Java-продукты SilverStream. Впрочем, ничего удивительного здесь нет, ведь ведущими разработчиками этой компании стали бывшие специалисты из PowerSoft.

Фирма Sun могла бы привлечь к своему языку гораздо больше разработчиков, если бы создала интегрированную среду разработки. В этом случае «чистый» Java от Sun стал бы приемлемым для 80—90% программистов, привязанных к платформе Windows. Но Sun не делает этого, поскольку компьютерное сообщество может истолковать ее действия, как участие в искажении языка Java фирмой Microsoft.

Сейчас дело обстоит так, что Java вряд ли скоро, если вообще когда-либо, удастся взять верх над массовой разработкой на VB. По мнению аналитиков по развитию технологий Интернет из Gartner Group, Java не воспрепятствует продолжению роста использования VB.

Другое дело — язык Cи++. Java в сочетании с используемыми на клиентах HTML и JavaScript, возможно, заменит для независимых разработчиков ПО и предприятий язык Cи++ на больших, функционально насыщенных платформах. Тем не менее, поскольку многие дальновидные руководители предприятий и фирм — производителей ПО используют приложения, основанные на нескольких языках, а сами языки имеют тенденцию пускать глубокие корни, полная замена Cи++ потребует, вероятно, пять—восемь лет. Если она произойдет, то это будет эволюция, а не революция, но эволюция быстрая и ясная. Даже для Windows NT компании Microsoft смесь языков имеет тенденцию сдвигаться к Java и HTML, особенно в отношении Web-приложений. Фирма Strategic Focus, например, по результатам своего обследования 159 предприятий сообщила, что в ближайшие два года 35% разработок для Windows NT будут выполнены на Java и 29% — на HTML. Другие варианты, такие, как VB, Dynamic HTML, JavaScript и Perl, попали в категорию «прочие».

На предприятиях Java применяется тогда, когда важны быстрота разработки или переносимость, а Cи++ — когда опора на динамическое распределение памяти приводит к возникновению проблем с производительностью. Для использования приложения в интрасетях Java может размещаться на клиенте. В Web эта часть приложения может переписываться с использованием HTML, Dynamic HTML или JavaScript. Многие предприятия предпочитают язык Java для создания не перегружающих центральный процессор серверных приложений, реализующих сложную логику. Другая возможность применения Java на сервере — это средства доступа к базам данных.

Специалисты из компании Computer Network Technology (CNT), поставляющей инструменты для реинжиниринга и создания приложений для мэйнфреймов и других унаследованных систем, считают, что наилучшие возможности применения Java — в области серверов. CNT специализируется на таких приложениях, как разработанный для AT&T операторский центр Inbound Call Receive Center, использующий HTML на «тонких» клиентах (на которых работают 400 сотрудников, обслуживающих заказчиков) и Java — на сервере для доступа к записям о заказчиках и другим данным. Хотя компания CNT ориентируется в основном на продукты связующего ПО, не использующие Java, ожидается, что это новое, основанное на Java решение менее чем через год составит 25% продаж компании.

Предприятия используют Java также для разработки новых приложений, которые по соображениям масштабирования могут в один прекрасный день оказаться совсем на других серверах, нежели сейчас. Переносимость Java далека от совершенства, однако Джон Неффенджер, руководитель и основатель компании Volano, поставляющей ПО для интерактивного обмена сообщениями (chat), настаивает на том, что продукт Volano, работающий под управлением 23 операционных систем на 10 виртуальных Java-машинах и 17 компьютерных платформах, подтверждает тезис: «Пишется однажды — работает везде».

«Люди думают, что могут написать программу и совсем не тестировать ее, — говорит Неффенджер. — Они считают, что, однажды написанный ``на коленках’’ код Java для Windows 95 без каких-либо усилий будет сразу работать везде. Хотя это далеко не так, Java использовать намного лучше, чем создавать код для каждой платформы, на которую вы ориентируетесь, и держать огромную команду, занимающуюся переписыванием специфических для конкретной платформы функций». Единственное, но довольно серьезное ограничение состоит в том, что поскольку продукт фирмы Volano работает в Web, то пока необходимо использовать лишь самый популярный JDK версии 1.02.

(Продолжение следует)





  
1 '1999
СОДЕРЖАНИЕ

колонка редактора

• Ирония судьбы, или NDS по осени считают

локальные сети

• Хорошая проводка - это оптимальный кабель, бережливость, изобретательность

• Как построить высокопроизводительную сеть Ethernet

• Портативные приборы для тестирования сети

• Выбираем высокопроизводительный сетевой принтер

• Недорогая кластерная технология

• Парад коммутаторов Gigabit Ethernet (часть вторая)

бизнес

• Стратегия-партнерство

• Nortel продолжает интеграцию

• Newbridge сегодня: масштабируемость, управляемость, надежность

интернет и интрасети

• Java готовится к штурму предприятий

• Бизнес-планирование в электронной коммерции

• NAT: маскировка в пределах прямой видимости

корпоративные сети

• Распределенная файловая система Microsoft

• IP-телефония на вашем предприятии

• Раскроем тайну РРР

услуги сетей связи

• Европа на перекрестке технологий

• Внимание-границе

• Новые продукты для эффективного использования полосы пропускания

• Все услуги - по одной линии

• IP - телефония: все дело в дополнительных услугах

• WiseWan - новое поколение систем сетевого управления

защита данных

• Охота за вирусом: взять живым или мертвым

новые продукты

• Распределенная маршрутизация от RADLAN; Новый оптический соединитель LightCrimpPlus компании AMP; FibeAir 1500: по воздуху - как по волокну; Тестер DST 2000 - прибор нового поколения



 Copyright © 1997-2007 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх