Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Апплеты и сервлетыОпределениеАпплеты - это программы на Java, которые, как правило, предназначены для того, чтобы загружаться посредством браузера, а затем работать в окне браузера. Они могут использоваться для создания богатых графикой и интерактивными возможностями пользовательских интерфейсов, которые не способны выразить средствами обычного языка разметки HTML. Сервлеты - программы на Java, которые работают на Web-серверах Java или серверах приложений Java. Как и программы CGI, сервлеты могут доставлять Web-службы непосредственно в браузер или действовать как промежуточное ПО, которое связывает браузер с серверными службами. Когда появился язык Java, настоящими звездами этого шоу стали апплеты. И уже тогда было ясно, что HTML-браузер представляет собой превосходную универсальную прикладную платформу, хотя и не отличается богатством выразительных возможностей. Апплеты обещали стать почти идеальным со всех точек зрения решением: не требуют затрат на установку, соответствуют лозунгу сторонников чистого HTML (<написано однажды - работает везде>) и отличаются богатым <родным> графическим пользовательским интерфейсом. Но до сих пор эти надежды не сбылись. Проведенный недавно опрос, касающийся использования апплетов Java, показал, что они применяются менее чем на 2% из 500 самых популярных Web-сайтов. Почему? Некоторые разработчики неверно оценили накладные расходы при интерпретации байт-кода в виртуальной машине Java. У других множество нареканий вызывает защита, основанная на принципе <песочницы> (sandbox), который не позволяет Java использовать в полной мере локальные и удаленные службы. Третьи отмечают различия между виртуальными машинами основных браузеров, имеющихся на рынке. Так или иначе по прошествии пяти лет апплеты не оправдали ожиданий, и Web-приложения на базе HTML не были вытеснены Web-приложениями с равным уровнем переносимости и мобильности, но функционально более мощным графическим пользовательским интерфейсом. Тем не менее, хотя апплеты не заслуживают той шумихи, которая была поднята при их появлении, они делают немало полезного. Вот несколько ярких примеров.
Сервлеты - восходящая звездаХотя Java на стороне клиента не оправдал возложенных на него надежд, использование Java на сервере, похоже, имеет неплохие перспективы. Сейчас серверы Java-приложений предлагают огромное и продолжающее расти число Web-служб. И их lingua franca - это API-интерфейс для сервлетов, который определяет, как сервлет Java взаимодействует с хостом на базе Java. Подобное решение применяется очень широко, и хотя Enterprise JavaBeans постепенно превращается в стандарт, намного более простой API сервлета создает общую основу для взаимодействия серверных компонентов Java. Поскольку сервлеты написаны на Java, они предлагают превосходную платформу для сетевых служб. Программисты Java не управляют памятью напрямую, поэтому сервлеты не порождают ошибки переполнения буфера, которые приводят к изъянам в защите ПО, написанного на Си или C++. Простые механизмы Java для обработки исключений и многониточных программ способствуют разработке надежных и оперативно реагирующих сетевых служб. ![]() Сервлеты также имеют преимущества с архитектурной точки зрения, которые позволяют им в полной мере использовать все присущие Java достоинства. Если апплет, посланный по сети, окажется в несовместимой с ним виртуальной машине Java, то он, скорее всего, корректно работать не будет. Сервлет развертывается в более управляемой среде. Так как параметры JVM известны, проблем совместимости не возникает. Более того, среда, которая окружает данную виртуальную машину, может увеличивать производительность сервлета. Некоторые серверы Java-приложений могут компилировать сервлеты в <родной> для себя код и тем самым значительно увеличивать скорость выполнения. Другие серверы запускают параллельно несколько JVM, иногда в различных процессах хостовой ОС. Эти стратегии увеличивают масштабируемость и отказоустойчивость службы. ![]() Апплеты Java еще могут оправдать надежды. Спрос на более богатый возможностями графический пользовательский интерфейс Web растет, и ни одна из технологий пока не готова предложить кроссплатформенные возможности, сравнимые с возможностями Java. В то же время, однако, сервлеты Java, безусловно, имеют успех. |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Рейтинги
|