Spec-Zone .ru
спецификации, руководства, описания, API
|
Платформа Java Standard Edition, v1.4, обеспечивает Посредника запросов к объектам (ШАР) и две модели программирования CORBA, которые могут использовать Java ШАР CORBA и Интернет Протокол InterORB (IIOP). Эта тема обсуждает эти опции для создания и распределения технологии CORBA.
Технология CORBA является неотъемлемой частью платформы Java. Это состоит из Посредника запросов к объектам (ШАР), API для модели программирования RMI, и API для модели программирования IDL.
Для получения дополнительной информации по которому спецификации реализуются в этом выпуске платформы Java, видят документ соответствия.
Стандарты CORBA обеспечивают доказанную, взаимодействующую инфраструктуру для платформы Java. IIOP (интернет-Протокол Межшара) управляет передачей между объектными компонентами то питание система. Платформа Java обеспечивает переносимую объектную инфраструктуру, которая работает над каждой главной операционной системой. CORBA обеспечивает сетевую прозрачность, Java обеспечивает прозрачность реализации.
Посредник запросов к объектам (ШАР) является частью Платформы Java Standard Edition, начиная с версии 1.3. ШАР является компонентом времени выполнения, который может использоваться для распределенных вычислений, используя передачу IIOP.
ОТМЕТЬТЕ: Хотя это - истина, что ШАРЫ, записанные на различных языках, должны быть в состоянии говорить с друг другом, мы не протестировали функциональную совместимость ШАРА Java с ШАРАМИ другого поставщика.
Группа по управлению объектами (OMG) является отраслевым консорциумом, который создает и публикует спецификации для CORBA. Поставщики реализуют спецификации, чтобы произвести продукты, известные как Посредники запросов к объектам (ШАР). Хорошие новости для разработчиков - то, что Платформа Java™ Standard Edition, v1.2 и выше включает ШАР, который доступен в каждом развертывании Платформы Java Standard Edition. Для получения дополнительной информации см. ORB class.
ШАР CORBA Java поддерживает и RMI и модели программирования IDL, обе из которых могут использовать базовый IIOP протокол на проводном уровне для передачи.
В 1997 Удаленный Вызов метода, или RMI, был представлен в JDK 1.1. Первоначально, RMI был расположен как естественный продукт Вызовов удаленной процедуры (RPC), строго для того, чтобы позволить вызовам быть сделанными между объектами Java в различных виртуальных машинах, и даже на различных физических машинах.
В 1998, прибыл JDK 1.2, который представлял IDL Java, API Java для функциональной совместимости и интеграции с CORBA. IDL Java, включенный и основанный на Java ШАР, который поддерживал IIOP, и компилятор IDL к Java, idltojava, для того, чтобы генерировать клиентские тупики и скелеты серверного кода. ШАР поддерживает и RMI по IIOP и модели программирования IDL Java.
В 1999 RMI по расширению стандарта IIOP платформы Java был представлен для JDK 1.1.6 и 1.2. Теперь, когда RMI по IIOP интегрируется в версию 1.3 J2SE и выше, дополнительная загрузка была end-of-lifed, но все еще доступна от архивов.
Завершенные модификации OMG его спецификации IIOP так, чтобы это поддерживало бы большую часть JDK 1.1 функциональности RMI. RMI по IIOP был представлен как стандартное расширение JDK 1.2. Это позволяло удаленным объектам, записанным в языке программирования Java быть доступными с любого языка через IIOP.
J2SE, v.1.3 представлял новый, 100%-ый Чистый Java™, компилятор IDL к Java, idlj, наряду с поддержкой интерфейсов краткого обзора IDL и типов значения. Также в v.1.3, RMI по IIOP включается в JDK.
J2SE v.1.4, текущая версия, был представлен в 2001, и включает поддержку Переносимого Объектного Адаптера, Переносимых Перехватчиков, Взаимодействующей Службы Именования, GIOP 1.2, и Динамического Аниса. J2SE v.1.4 также включает Демона Посредника запросов к объектам (ORBD), который используется, чтобы позволить клиентам прозрачно определить местоположение и вызвать персистентные объекты на серверы в среде CORBA, и servertool, который предоставляет интерфейс командной строки прикладным программистам, чтобы зарегистрироваться, незарегистрироваться, запуститься, и завершение работы персистентный сервер. Для получения дополнительной информации по новым функциям в J2SE v.1.4, см. Изменения в Функциях CORBA Между J2SE 1.3 и 1.4.
Межъязыковой, функциональная совместимость перекрестного поставщика достигается через Интернет Протокол InterORB, или IIOP. IIOP является транспортным протоколом для распределенных приложений, записанных или в IDL или в Java RMI.
При использовании модели программирования IDL интерфейс - все! Это определяет точки записи, которую можно вызвать от удаленного процесса, такого как типы параметров, которые вызванная процедура примет, или параметр значения/вывода возвращенной информации. Используя IDL, программист может сделать точки входа и типы данных, которые передают между действием коммуникационных процессов как стандартный язык.
CORBA является нейтральной языком системой, в которой значения аргументов или возвращаемые значения ограничиваются тем, что может быть представлено на включенных языках реализации. В CORBA объектная ориентация ограничивается только объектами, которые может передать ссылка (сам объектный код нельзя передать от от машины к машине), или предопределяются в полной платформе. Переданные и возвращенные типы должны быть объявленными в интерфейсе.
С RMI интерфейс и язык реализации описываются на том же самом языке, таким образом, Вы не должны волноваться об отображении от одного до другого. Объекты на уровне языка (код непосредственно) можно передать от одного процесса до следующего. Значения могут быть возвращены их фактическим типом, не объявленным типом. Или, можно скомпилировать интерфейсы, чтобы генерировать тупики IIOP и скелеты, которые позволяют Вашим объектам быть доступными с других CORBA-совместимых языков.
Что является Моделью программирования RMI
Модель программирования RMI является общей объектной моделью для распределенных вычислений через API rmi. Можно хотеть работать полностью в пределах языка программирования Java, используя Java Удаленный Протокол Метода (JRMP) или работать с другими CORBA-совместимыми языками программирования, используя Интернет Протокол InterORB (IIOP).
Модель программирования RMI является частью Платформы Java™ Standard Edition, и состоит и из Посредника запросов к объектам (ШАР) и из компилятора rmic. Компилятор rmic используется, чтобы генерировать тупики, скелеты, и связи для удаленных объектов, используя или JRMP или протоколы IIOP. Компилятор rmic может также генерировать IDL OMG. Для получения дополнительной информации об использовании rmic, ссылки к rmic - Java Компилятор Тупика RMI.
RMI по Руководству Программиста IIOP обсуждает различия между использованием RMI с JRMP или IIOP.
Когда я должен использовать модель программирования RMI вместо модели программирования IDL?
Скорости модели программирования RMI распределенная разработка приложений, разрешая разработчикам работать полностью в языке программирования Java. При использовании модели программирования RMI, чтобы произвести Java основанные на технологии распределенные приложения, нет никакого отдельного Языка определения интерфейсов (IDL) или отображающийся, чтобы учиться. Модель программирования RMI обеспечивает гибкость, разрешая разработчикам передать любой сериализуемый объект Java (Объекты Значением) между компонентами приложения. Как модель программирования IDL, модель программирования RMI основана на открытых стандартах, определенных с помощью участия сотен поставщиков и пользователей в Процессе Сообщества Java (JCP). Как модель программирования IDL, модель программирования RMI может использовать интернет-Протокол Межшара (IIOP) в качестве его протокола связи. IIOP ослабляет унаследованное приложение и интеграцию платформы, позволяя компоненты приложения, записанные в C++, Smalltalk, и другом CORBA поддерживаемые языки связаться с компонентами, работающими на платформе Java.
С моделью программирования RMI разработчики могут записать удаленные интерфейсы в языке программирования Java и реализовать их просто использование технологии Java и Java API RMI. Эти интерфейсы могут быть реализованы на любом другом языке, который поддерживается отображением OMG и поставщиком предоставленный ШАР для того языка. Точно так же клиенты могут быть записаны на других языках, используя IDL, полученный из удаленного Java основанные на технологии интерфейсы.
Где может, я узнал больше о модели программирования RMI
Что является Моделью программирования IDL
Модель программирования IDL, известная как IDL Java™, состоит и из Java ШАР CORBA и из компилятора idlj, который отображает IDL OMG на привязку Java, которая использует Java ШАР CORBA, так же как ряд API, которые могут быть исследованы, выбирая префикс org.omg из раздела Пакета API, индексируют.
IDL Java добавляет CORBA (Общая Архитектура Посредника запросов к объектам) возможность на платформу Java, обеспечивая основанную на стандартах функциональную совместимость и связь. IDL Java позволяет распределенным Поддерживающим сеть приложениям Java прозрачно вызвать операции на удаленные сетевые службы, используя IDL промышленного стандарта (Язык определения интерфейсов Группы по управлению объектами) и IIOP (интернет-Протокол Межшара) определенный Группой по управлению объектами. Компоненты времени выполнения включают ШАР Java для распределенных вычислений, используя передачу IIOP.
Чтобы использовать модель программирования IDL, Вы определяете удаленные интерфейсы, используя Группу по управлению объектами (OMG) Язык определения интерфейсов (IDL), затем компилируете интерфейсы, используя компилятор idlj. Когда Вы выполняете компилятор idlj по своему файлу определения интерфейса, он генерирует версию Java интерфейса, так же как файлы кода class для тупиков и скелетов, которые позволяют Вашим приложениям сцепиться в ШАР.
IDL Java™ является частью Платформы Java Standard Edition, v1.2 и выше. Чтобы разработать приложения с IDL Java, используйте Компилятор IDL Java™, idlj, который включается в каждую установку J2SE v1.3 и выше.
Когда я должен использовать модель программирования IDL вместо модели программирования RMI?
IDL OMG (Язык определения интерфейсов) является просто декларативным языком, разработанным для того, чтобы определить независимые от языка программированием операционные интерфейсы для распределенных приложений. OMG определяет отображение от IDL до нескольких различных языков программирования, включая Java, C, C++, Lisp, Python, Smalltalk, КОБОЛ, и Аду. Когда отображено, каждый оператор в IDL OMG преобразовывается в соответствующий оператор в предпочтительном языке программирования. IDL Java является реализацией спецификации CORBA. Например, Вы могли использовать Компилятор IDL Java, idlj, чтобы отобразить интерфейс IDL на Java и реализовать клиент class в Java. Если Вы отображаете тот же самый IDL на C++, используя компилятор IDL к C++ и ШАР C++, и реализуете сервер на том языке, клиент Java и сервер C++ взаимодействуют через ШАР.
ОТМЕТЬТЕ: Хотя это - истина, что ШАРЫ, записанные на различных языках, должны быть в состоянии говорить с друг другом, мы не протестировали функциональную совместимость ШАРА Java с ШАРАМИ другого поставщика.
Где может я узнавать больше о модели программирования IDL
Есть несколько сценариев, которые определят, как Вы будете хотеть создать распределенные приложения CORBA. Вот некоторые из них:
В дополнение к IDL Java и RMI по IIOP, J2EE включает Предприятие технология JavaBeans™ (EJB™).
EJBs используют RMI по IIOP для их распределенной объектной модели, и используют Службу Транзакции Java (JTS) для их модели распределенной транзакции. Когда Предприятие, JavaBeans реализуются, используя RMI по протоколу IIOP для функциональной совместимости EJB в неоднородных серверных средах, стандартном отображении архитектуры EJB к CORBA, включает следующей функциональной совместимости: