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

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

этом Joe берет на себя все (или почти все) технические  пробле-

мы, связанные с работой в распределенной об®ектной среде, обес-

печивая  в то же время для Java-программ полноценное взаимодей-

ствие с произвольными об®ектными сервисами.

В предыдущих выпусках Jet Info была опубликована шутливая "Эво-

люция программиста". Мы добавим к ней еще два  раздела.  Первый

из  приводимых  ниже примеров написан на языке Java и можеи ис-

пользоваться в составе обычных, локально работающих аплетов.

1  import java.awt.Font;

2  import java.awt.Color;

3  public class JAVAhello extends java.applet.Applet {

4    Font f = new Font ("Timesъoman", Font.BOLD, 36);

5    public void init () {

6      resize (150, 25);

7    }

8    public void paint (Graphics g) {

9      g.setFont (f);

10     g.setColor (Color.blue);

11     g.drawString ("Hello, World!", 50, 25);

12   }

13 }

Теперь модифицируем программу для Joe, чтобы обеспечить возмож-

ность работы в среде клиент/сервер.

1  import sunw.services.*;

2  import java.awt.Graphics;

3  import java.awt.Font;

4  import java.awt.Color;

5  public class JOEhello extends sunw.services.JOEApplet {

6    sunw.corba.Objectъef obj;

7    Hello.HelloWorldъef hiThere;

8    Font f = new Font("Timesъoman", Font.BOLD, 36);

9    public void init () {

10     super.init ();

11     resize (150, 25);

12     obj = find ("HelloWorldServer");

13     hiThere = Hello.HelloWorldStub.narrow (obj);

14   }

15   public void paint (Graphics g) {

16     g.setFont (f);

17     g.setColor (Color.red);

       // Получим строку из удаленного об®екта, реализованного на C++,

       // и выведем ее.

18     g.drawString (hiThere.sayHello (), 50, 25);

19   }

20 }

Поясним смысл новых строк, появившихся во втором варианте прог-

раммы.

В строке 1  импортируется  описание  предоставляемых  об®ектных

сервисов.

В  строке  5  об®является,  что  класс  Hello будет наследником

JOEApplet.

В строке 6 декларируется обобщенная (не типизированная)  ссылка

на NEO-об®ект. Она будет использована для сохранения результата

поиска об®екта по имени.

В строке 7 описана типизированная ссылка на NEO-об®ект, которая

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

частности, для вызова методов) средствами языка Java.

В строке 12 мы получаем от службы имен NEO ссылку на нужный нам

серверный об®ект.

В строке 13 выполняется операция приведения обобщенной ссылки к

типизированному виду.

Наконец, в строке 18 выполняется вызов метода удаленного об®ек-

та, написанного, вообще говоря, не на языке Java (например,  на

C++).  Впрочем, вид этого оператора не зависит ни от удаленнос-

ти, ни от языка реализации об®екта.

Процесс разработки программ в среде Joe довольно прост. Он сос-

тоит из следующих этапов:

- Трансляция интерфейса к NEO-об®ектам,  написанного  на  языке

IDL (Interface Definition Language), в класс на язык Java. Этот

этап  поддержан  входящим в состав Joe компилятором IDL - Java.

Результат трансляции содержит суррогатные  методы,  которые  во

взаимодействии  с брокером об®ектов обеспечивают взаимодействие

с удаленными об®ектами, не отличающееся от локального случая. В

свою очередь, брокер об®ектов, входящий в состав Joe,  прозрач-

ным  для клиентской стороны образом загружается в WWW-навигатор

вместе с Java-аплетами.

- Написание клиентского кода на  языке  Java  с  использованием

сгенерированного  интерфейса и средств Joe для взаимодействия с

удаленными об®ектами.

Дальше Java-программа компилируется и выполняется обычным обра-

зом.

Подчеркнем, что описанная об®ектная среда  обеспечивает  полно-

ценное,  двустороннее взаимодействие между клиентом и сервером.

В частности, удаленные серверные об®екты могут вызывать  методы

в об®ектах-клиентах. Для обеспечения этой возможности в составе

Joe имеется транслятор Java-классов в IDL-интерфейсы.


        6. Заключение

Интранет  и Java - вот два ключевых слова, символизирующих сов-

ременный этап развития информационных технологий. Интранет поз-

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

сами, что в  огромной  степени  увеличивает  производительность

труда отдельных работников и компаний в целом. Кроме того, тех-

нология  Интранет позволяет добиться невиданной ранее масштаби-

руемости - от локальной сети до Интернет.

Java снимает ограничения Web-сервиса, делая последний  интерак-

тивным и об®ектно-ориентированным. Java вводит новый - абсолют-

ный  - стандарт на переносимость программного обеспечения. При-

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

дятся при полном сохранении информационной безопасности.

В  сочетании  с  продуктами Sun Microsystems - Joe и NEO - Java

обеспечивает распространение концепции Интранет на произвольные

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

тивных информационных систем нового поколения.

------------------

Артур ван Хофф получил образование в Голландии, затем работал в

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

начиная с 1993 года, работал в Sun Microsystems. Артур ван Хофф

принимал  участие  в  разработке  языка  Java, в проектировании

программного интерфейса для приложений на Java, им написан пер-


Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Pro Git

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


Java 7

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


Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий Delphi».В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием.


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

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


Как пасти котов. Наставление для программистов, руководящих другими программистами

«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.