Если вы собираетесь разрабатывать для своей компании апплеты и приложения Java, то должны быть в курсе последних изменений, которые компания Sun Microsystems внесла в свой комплект средств разработки Java Development Kit (JDK).

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

Хотя компании Sun и JavaSoft привлекли всеобщее внимание к языку Java как новому, объектно-ориентированному методу создания сетевых приложений, сам набор JDK пока еще не получил достаточно широкого распространения.

Это пакет средств программирования объемом 8-10 Мбайт, предоставляющий все необходимое, чтобы приступить к программированию на Java. Компания Sun раздает пакет корпоративным разработчикам и выдает лицензии на него сторонним поставщикам ПО с января 1996 года. Уже загружено около 600 тыс. его копий.

В июне JavaSoft обнародовала самое свежее исправление ошибок, которое поможет снизить уязвимость защиты Java, выявленную учеными из Университета штата Вашингтон, тесно сотрудничающими с Sun.

Пакет JDK содержит базовый набор интерфейсов API, интерпретатор Java для исполнения байт-кода Java и средство просмотра Java-апплетов для проверки их работы. В него также включены стандартные средства программирования, такие как компилятор и отладчик.

Sun поставляет версии JDK для Windows 95 и Windows NT, а также для ОС Solaris; вариант для Macintosh должен быть выпущен осенью. Сторонние производители ПО перенесли JDK и на другие платформы, в том числе - на Windows 3.1, AIX и HP-UX. Недавно компания IBM анонсировала версию для OS/2 Warp 4 и OS/2 Warp Server.

Пользователи считают полезным следить за появлением новых версий, поскольку Sun постоянно вводит в них фундаментальные усовершенствования. "Версия JDK 1.1 не просто включает множество новых элементов, в ней изменен большой объем кода, - объясняет Марк Эленко, консультант компании Fusion Systems Group. - В частности, улучшены средства для создания графических пользовательских интерфейсов".

Усовершенствования в компоненте Event Handler, относящемся к графической части JDK - Abstract Windowing Toolkit (AWT) - позволяют создавать менее громоздкие, более быстрые приложения. По мнению Эленко, это ПО дает разработчикам возможность разделить логику вывода и приложений. "В версии 1.02 разработчики отказались от модели Event Model, взяв на вооружение практику избыточного кодирования, - отмечает Эленко. - Когда пользователь просто двигает мышью туда-сюда, он генерирует огромное количество вызовов процедур обработки событий".

Новая модель Event Model в Java "упрощает изменение существующих компоновок и включение новых", как считает Айзелт Уайт из консалтинговой компании Catalyst Solutions, разрабатывающей приложения на Java для финансовых и страховых компаний.

Компания JavaSoft серьезно отнеслась к обеспечению обратной совместимости между JDK 1.1 и 1.02. Однако многие программисты полагают, что при столь кардинальных изменениях, которые имели место в случае с Event Handler, следует отказаться от прежней версии.

Пользователи, разумеется, вынуждены двигаться дальше - они просто не могут работать по-прежнему после того, как в JDK были выявлены ошибки: ведь запоздай они хоть немного, и написанный ими код может устареть. В этом случае он уже не будет работать с новыми браузерами, совместимыми с JDK 1.1.

Изменения в AWT добавили работы информационному центру Mitsubishi Electric Information Technology Center America, сотрудники которого разрабатывают Java-приложения для внутренного использования и на продажу. У коллектива программистов Mitsubishi перевод Java-приложений с интерфейса, основанного на JDK 1.02, на интерфейс, основанный на версии 1.1.2, занял два дня, как сообщил Майкл Янг, главный инженер центра Mitsubishi.

Переход на JDK 1.1 именно сейчас может показаться неблагодарной задачей, поскольку единственное клиентское ПО, полностью поддерживающее версию 1.1.2, это браузер HotJava компании Sun. "Нам не очень нравится браузер HotJava, потому что он часто вызывает сбой системы, - объясняет Янг. - Однако есть хороший повод для перехода с версии 1.02 - это наша неуверенность в том, что старая модель Event Model будет использоваться долго".

В центре Mitsubishi пакет JDK используется как основной инструментальный набор, хотя здесь задействован и набор для разработки приложений Visual Cafe компании Symantec. Такой подход имеет смысл, как утверждает Джина Сентони, менеджер по продуктам из JavaSoft. По ее мнению, стоит попробовать воспользоваться средствами разработки, которые поставляют такие компании, как Borland International и Symantec.

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


Что нового в JDK?

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

Serialization - гарантирует, что объекты, посланные из одного места в другое, не подвергнутся изменениям при транспортировке.

Remote Method Invocation - позволяет Java-апплетам, работающим на удаленных JVM (Java Virtual Machine), передавать друг другу удаленные вызовы процедур с помощью протоколов TCP/IP.

Исправление ошибки в защите - снимает уязвимость верификатора JVM, вследствие которой враждебный байт-код злоумышленника мог вызвать сбой в совместимом с JDK 1.1 браузере или прочитать содержимое его кэш-памяти.