Java RMI

  • 23 дек. 2012 г.
  • 4482 Слова
Лекции учебного курса «Методы и средства построения распределенных программных систем с использованием технологии Java»

Использование Java RMI
Введение
Технология, рассмотренная в предыдущем разделе предполагает существенный объем программирования для реализации взаимодействия компонентов. Следующая рассматриваемая технология – RMI – позволяет существенно упростить разработку распределенныхсистем. RMI дает возможность выполнять объекты Java на различных компьютерах или в отдельных процессах, взаимодействуя друг с другом посредством удаленных вызовов методов. Технология RMI основана на более ранней подобной технологии удаленного вызова процедур (RPC) для процедурного программирования, разработанной в 80-х годах. RPC позволяет процедуре вызывать функцию на другом компьютере столь желегко, как если бы эта функция была частью программы, выполняющейся на том же компьютере. RPC выполняет всю работу по организации сетевых взаимодействий и маршалинга данных (т.е. пакетирование параметров функций и возврат значений для передачи их через сеть). Но RPC не подходит для передачи и возврата объектов Java, потому что она поддерживает ограниченный набор простых типов данных. Есть и другойнедостаток у RPC – программисту необходимо знать специальный язык определения интерфейса (IDL) для описания функций, которые допускают удаленный вызов. Для устранения этих недостатков и была разработана технология RMI. RMI представляет собой реализацию RPC на Java для распределенных коммуникационных взаимодействий Java-объект — Java-объект. Объект Java регистрируется для удаленного доступа, что даетвозможность клиентам получать удаленную ссылку на этот объект, которая позволяет использовать этот объект дистанционно. Синтаксис вызова метода идентичен синтаксису вызова методов других объектов в той же программе. RMI обслуживает маршалинг данных через сеть и дает возможность программам на Java передавать законченные объекты Java с помощью механизма сериализации объектов Java. В составе J2SE имеютсяинструментальные средства создания требуемого кода для сетевых взаимодействий из определенных интерфейсов программы, это означает, что RMI не требует от программиста знания языка IDL. Кроме того, никакого нейтрального к языку IDL интерфейса не требуется - так как RMI поддерживает только Java; достаточно собственных интерфейсов Java.

Создание распределенной системы с помощью RMI
В последующих разделах будетрассмотрен пример, использующий RMI. При этом предлагается несколько вариантов решения поставленной задачи. В примере выполняются четыре основных действия:  определение удаленного интерфейса с объявлениями методов, которые клиент может вызвать у удаленного объекта;  определение реализации удаленного объекта для удаленного интерфейса;  определение клиентского приложения, которое использует удаленнуюссылку, чтобы взаимодействовать с реализацией интерфейса;  компиляция и выполнение удаленного объекта и клиента.
Кафедра МО ЭВМ. Нижегородский государственный университет им Н.И. Лобачевского Курс подготовлен при поддержке Sun Microsystems Правила использования материалов опубликованы на www.sun.ru

Лекции учебного курса «Методы и средства построения распределенных программных систем сиспользованием технологии Java»

Первый пример
Решать предложенную задачу мы будем поэтапно – постепенно наращивая сложность наших программ, при этом иллюстрируя те или иные особенности применяемых технологий. Для начала рассмотрим совсем простую задачу – создадим систему, функционально состоящую из двух компонентов – сервера (процессингового центра) и клиента (касса). Будем предполагать, что сервер в системе один(именно он обладает всей информацией о зарегистрированных картах и их балансах), а касс много и на них проходят операции регистрации новых карт, а также операции изменения баланса карт (соответственно - оплаты и занесения наличных). На данном этапе мы никак не будем учитывать то, что связь между нашими объектами неустойчивая – более того, мы будем...
tracking img