Java как центр архипелага - [2]

Шрифт
Интервал

по карману.

Сети персональных компьютеров существенно  дешевле  централизо-

ванных систем, они оставляют за поставщиком необходимую свободу

управления  информацией,  однако потребителям приходится искать

необходимые данные на множестве  машин,  среди  большого  числа

приложений (рис. 4).

Рис. 4. Получение информации из сети персональных компьютеров

Рядовому  пользователю  работать в такой разнородной прикладной

среде крайне неудобно.

Способ разрешения указанных проблем, к которому прибегают веду-

щие компании, состоит в построении информационной структуры ор-

ганизации по образу и подобию Интернет, с  Web-сервисом  в  ка-

честве концептуальной основы (рис. 5).

Рис. 5. Универсальный клиент Web-сервиса

Возможность  хранения  данных  различных типов (текст, графика,

аудио, видео) в сочетании с механизмами связывания  информации,

расположенной в разных узлах компьютерной сети, позволяют расс-

редотачивать  информацию в соответствии с естественным порядком

ее создания и потребления, осуществлять  единообразный  доступ,

отправляясь  от  небольшого числа известных "корней". Тем самым

поставщик может эффективно готовить и  контролировать  информа-

цию, а потребитель в состоянии без труда найти необходимые дан-

ные именно тогда, когда они стали нужны.

Средства  Web,  помимо  связывания  распределенных данных, осу-

ществляют еще одну очень важную функцию. Они позволяют рассмат-

ривать информацию с нужной степенью детализации, что существен-

но упрощает анализ больших об®емов данных. Можно  быстро  отоб-

рать  самое  интересное,  а затем изучить выбранный материал во

всех подробностях.

Таким образом, Web-серверы и Web-навигаторы могут и должны  ис-

пользоваться не только в "мировом масштабе". Web - это инфраст-

руктурный сервис, необходимый каждой организации со сколько-ни-

будь заметными информационными потоками.

В  то  же время, Web-сервису присущи и определенные недостатки,

вытекающие из отсутствия состояний в HTTP-протоколе. Во-первых,

клиент по существу лишен средств управления внешним представле-

нием об®ектов на  просматриваемой  WWW-странице  (единственное,

что он может сделать, это сменить WWW-навигатор).

Во-вторых,  Web-страницы  статичны. При использовании протокола

HTTP, на клиентскую систему передаются только пассивные данные,

но не методы об®ектов. Из общих соображений очевидна ограничен-

ность подобного подхода. Данный недостаток, разумеется,  связан

с первым. Об®ект сам должен знать, как себя показывать - точнее

говоря,  он должен это выяснить, проанализировав клиентское ок-

ружение.

В-третьих, Web-сервис обладает весьма ограниченными интерактив-

ными возможностями, которые сводятся к заполнению пользователем

чисто текстовых форм с последующей отправкой на  сервер.  Такая

форма общения вполне устраивала пользователей терминалов ЕС ЭВМ

лет 15 назад. Сейчас ее явно недостаточно.

Java-технология  позволяет устранить все отмеченные недостатки.

Как именно - будет ясно из последующего изложения. В результате

Web-сервис, и без того имевший огромную  популярность,  получил

как  бы новый импульс. Этот экспресс понесся вперед с удвоенной

скоростью, увлекая за собой и Java.


3. Java, Joe, NEO

В узком смысле слова Java - это об®ектно-ориентированный  язык,

напоминающий  C++,  но более простой для освоения и использова-

ния. В более широком смысле Java - это целая  технология  прог-

раммирования,  изначально рассчитанная на интеграцию с Web-сер-

висом, то есть на использование в сетевой среде, Поскольку Web-

навигаторы существуют практически для всех  аппаратно-программ-

ных платформ, Java-среда должна быть как можно более мобильной,

в идеале полностью независимой от платформы.

С  целью решения перечисленных проблем были приняты, помимо ин-

теграции с Web-навигатором, два других важнейших постулата.

- Была  специфицирована  виртуальная  Java-машина,  на  которой

должны выполняться (интерпретироваться) Java-программы. Опреде-

лены  архитектура, представление элементов данных и система ко-

манд Java-машины. Исходные  Java-тексты  транслируются  в  коды

этой машины. Тем самым, при появлении новой аппаратно-программ-

ной  платформы в портировании будет нуждаться только Java-маши-

на; все программы, написанные на Java, пойдут без изменений.

- Определено, что при редактировании внешних связей  Java-прог-

раммы  и  при работе Web-навигатора прозрачным для пользователя

образом может  осуществляться  поиск  необходимых  об®ектов  не

только на локальной машине, но и на других компьютерах, доступ-

ных  по  сети  (в частности, на WWW-сервере). Найденные об®екты

загружаются, а их методы выполняются затем на машине  пользова-

теля.

Несомненно, между двумя сформулированными положениями существу-

ет  тесная связь. В компилируемой среде трудно дистанцироваться

от аппаратных особенностей компьютера, как трудно (хотя и  мож-

но)  реализовать  прозрачную  динамическую  загрузку по сети. С

другой стороны, прием об®ектов извне требует  повышенной  осто-

рожности при работе с ними, а, значит, и со всеми Java-програм-

мами. Принимать необходимые меры безопасности проще всего в ин-

терпретируемой,  а не компилируемой среде. Вообще, мобильность,


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

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