В то время как во многих компаниях отделы информационных технологий уже «распробовали» Java, разработчики склоняются к тому, что эту технологию лучше всего использовать не на клиенте, а на платформах промежуточного уровня и на серверах.
Подразделение Java Software компании Sun Microsystems подготовила последнюю бета-версию комплекта инструментальных средств разработчика JDK 1.2, которая обеспечит долгожданное повышение производительности и качества клиентской части Java. Тем не менее корпоративные разработчики не спешат внедрять клиентские приложения Java.
Нежелание использовать Java обычно мотивируют тем, что этой технологии недостает производительности, безопасности и согласованности. К тому же она до сих пор недостаточно испытана. В ответ на это представители Java Software утверждают, что сочетание принципа тонкого клиента с такими технологиями, как подключаемый модуль Java Activator VM, делает клиентскую часть Java жизнеспособным вариантом.
Недавно подразделение Java Software выпустило четвертую, «функционально полную» бета-версию JDK 1.2 (выход окончательного продукта намечен на лето). В ее состав входят компилятор JIT Compiler 3.0 компании Symantec, основные элементы виртуальной машины HotSpot, базовые классы Java (JFC), Java 2D API, расширенные средства защиты и поддержка CORBA.
По словам Джона Раймера, аналитика консультационной компании Upstream Communications, поставщики инструментов включат поддержку четвертой версии в свои продукты и получат соответствующие лицензии на виртуальную машину Java (JVM) не раньше чем через полгода.
Из-за этого отставания в принятии JVM (а также из-за того, что некоторые компании в целях безопасности блокируют Java-апплеты в своих брандмауэрах) многие пользователи для написания клиентской части используют не Java, а обычный язык HTML.
Производительность Java как языка и написанные на нем модули для разных серверных платформ делают его естественным выбором для серверов приложений, использующих промежуточное программное обеспечение.
В компании розничной торговли Home Depot в качестве серверов используются и мэйнфреймы и Unix-системы. Начальник отдела информационных систем Брэд Элберс сказал, что для его компании язык Java важен потому, что он подходит для машин обоих типов и сотня разработчиков сможет на одном языке написать все приложения, которые будут работать поверх уже имеющегося ПО. Экономически это очень выгодно, поскольку не приходится отказываться от имеющихся систем или работать на нескольких языках.
«Расширить нашу CORBA-инфраструктуру до MVS относительно легко, - сказал Элберс, - но решение использовать Java определялось не системными, а деловыми требованиями».
«Едва ли не самым большим стимулом применения Java на серверах является интеграция. Java-серверы динамичны, они могут загружать классы «на лету», а это значит, что они способны менять свое поведение в зависимости от запросов, - сказал Раймер. - Это очень эффективно при интеграции нескольких баз данных по одному запросу».
На прошедшем недавно в Нью-Йорке собрании в поддержку Java некоторые заказчики Sun говорили, что создают клиентские части на Java для своих узкоспециальных приложений. Так, Гэйл Смит, старший вице-президент по работе информационных систем банка Scotiabank из Торонто, сказал, что его специалисты пишут на Java систему ввода заказов для инвестиционного фонда и проводят опытную эксплуатацию машин JavaStation в офисах фонда, расположенных по всей Канаде.
«Java на клиенте - это путь, по которому следует идти, если вам это по плечу. Но за все приходится платить, - сказал Джонатан Клэй, старший менеджер по производству компании Nevo Technologies. - С загрузкой кода связаны накладные расходы, а у языка Java все еще недостает возможностей, чтобы легко взаимодействовать с разными платформами».
Разработчики занимаются в основном вопросами производительности на серверах, но нельзя забывать и о мучительных проблемах с переносимостью Java в серверной среде.
«Внедрение Java на всех уровнях станет значительно проще через шесть-девять месяцев, когда разные поставщики выпустят инструменты для полномасштабного тестирования распределенных приложений», - считает Лью Таккер, занимающий в подразделении Java Software пост начальника отдела по связям с разработчиками.
Однако даже средняя переносимость на серверах - это уже шаг вперед.
Старший менеджер центра перспективных разработок Ernst & Young Джозеф Ларицца сказал, что клиенты его компании, такие как Standard & Poor's Rating Service, считают самым ценным качеством Java возможность использовать его на серверах для доступа к унаследованным базам данных. Например, применение Java и компонентной модели CORBA обеспечивает Standard & Poor's широкий выбор серверного оборудования и программного обеспечения Web-серверов.
«Поскольку само по себе приложение стандартно, нашим клиентам не придется переходить на другие платформы, - сказал Ларицца. - Это важное соображение на сегодняшнем быстро меняющемся рынке информационных технологий».