лет 15 назад. Сейчас ее явно недостаточно.
Java-технология позволяет устранить все отмеченные недостатки.
Как именно - будет ясно из последующего изложения. В результате
Web-сервис, и без того имевший огромную популярность, получил
как бы новый импульс. Этот экспресс понесся вперед с удвоенной
скоростью, увлекая за собой и Java.
В узком смысле слова Java - это об®ектно-ориентированный язык,
напоминающий C++, но более простой для освоения и использова-
ния. В более широком смысле Java - это целая технология прог-
раммирования, изначально рассчитанная на интеграцию с Web-сер-
висом, то есть на использование в сетевой среде, Поскольку Web-
навигаторы существуют практически для всех аппаратно-программ-
ных платформ, Java-среда должна быть как можно более мобильной,
в идеале полностью независимой от платформы.
С целью решения перечисленных проблем были приняты, помимо ин-
теграции с Web-навигатором, два других важнейших постулата.
- Была специфицирована виртуальная Java-машина, на которой
должны выполняться (интерпретироваться) Java-программы. Опреде-
лены архитектура, представление элементов данных и система ко-
манд Java-машины. Исходные Java-тексты транслируются в коды
этой машины. Тем самым, при появлении новой аппаратно-программ-
ной платформы в портировании будет нуждаться только Java-маши-
на; все программы, написанные на Java, пойдут без изменений.
- Определено, что при редактировании внешних связей Java-прог-
раммы и при работе Web-навигатора прозрачным для пользователя
образом может осуществляться поиск необходимых об®ектов не
только на локальной машине, но и на других компьютерах, доступ-
ных по сети (в частности, на WWW-сервере). Найденные об®екты
загружаются, а их методы выполняются затем на машине пользова-
теля.
Несомненно, между двумя сформулированными положениями существу-
ет тесная связь. В компилируемой среде трудно дистанцироваться
от аппаратных особенностей компьютера, как трудно (хотя и мож-
но) реализовать прозрачную динамическую загрузку по сети. С
другой стороны, прием об®ектов извне требует повышенной осто-
рожности при работе с ними, а, значит, и со всеми Java-програм-
мами. Принимать необходимые меры безопасности проще всего в ин-
терпретируемой, а не компилируемой среде. Вообще, мобильность,
динамизм и безопасность - спутники интерпретатора, а не компи-
лятора.
Принятые решения сделали Java-среду идеальным средством разра-
ботки клиентских компонентов Web-систем. Особо отметим прозрач-
ную для пользователя динамическую загрузку об®ектов по сети. Из
этого вытекает такое важнейшее достоинство, как нулевая стои-
мость администрирования клиентских систем, написанных на Java.
Достаточно обновить версию об®екта на сервере, после чего кли-
ент автоматически получит именно ее, а не старый вариант. Без
этого реальная работа с развитой сетевой инфраструктурой прак-
тически невозможна. С другой стороны, при наличии динамической
загрузки действительно возможно появление устройств класса
Java-терминалов, изначально содержащих только WWW-навигатор, а
все остальное (и программы, и данные) получающих по сети.
Здесь уместно отметить замечательную точность в выборе основных
посылок проекта Java. Из минимума предположений вытекает макси-
мум новых возможностей при сохранении практичности реализации.
В то же время, интеграция с WWW-навигатором и интерпретируемая
природа Java-среды ставят вполне определенные рамки для реаль-
ного использования Java-программ (хотя, конечно же, язык Java
не менее универсален, чем, скажем, C++). Например, известно,
что интерпретация, по сравнению с прямым выполнением, примерно
на полтора порядка медленнее. Трудно сказать, насколько могут
улучшить положение компиляция "на лету" и использование специа-
лизированных Java-процессоров, но пока использование Java на
серверной стороне представляется проблематичным.
Далее, хотя технология Интранет, основанная на использовании
Web-сервиса в качестве информационной основы организации, явля-
ется огромным шагом вперед, существуют и другие сервисы, как
унаследованные, так и современные (например, реляционные СУБД),
которые обязательно должны входить в состав корпоративной сис-
темы. Если вся связь между клиентами и упомянутыми серверами
Читать дальше