Jump to content

Проект Каджо

Проект Cajo — это платформа , которая позволяет нескольким Java -приложениям , разбросанным по нескольким машинам, работать вместе как одно прозрачно и динамично. Эта платформа полезна как для открытых/бесплатных , так и для частных приложений, которым необходимы возможности распределенных вычислений. Его можно использовать практически на любой платформе, оснащенной Java ( JRE / JME 1.2 или выше) ( мобильные телефоны , мейнфреймы , серверы , встроенные устройства и т. д.). Это «встраиваемая» среда, поскольку она не накладывает никаких ограничений. структурные требования или изменения исходного кода и являются 100% чистой Java без кода XML. Он также не зависит ни от каких других платформ и может работать за NAT , межсетевыми экранами и даже через HTTP- прокси .

Проект Cajo был выпущен с использованием номера порта IANA 1198 и многоадресного адреса UDP 224.0.23.162.

Лицензия

[ редактировать ]

Исходный код бесплатен по лицензии LGPL , а документация бесплатна по лицензии GFDL .

Использование

[ редактировать ]

Используя Cajo Project, обычные немодифицированные объекты Java можно удаленно удалить с помощью одной строки кода: [ 1 ]

Itemserver.bind(someObject, "someName")

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

Использование статического удаленного объекта

[ редактировать ]

Использование статического удаленного объекта обычно выполняется, когда к объекту имеется один или несколько интерфейсов, определяющих, как клиент может его использовать, что известно во время компиляции . Например:

публичный интерфейс SomeInterface { ... // сигнатуры методов}

Удаленный объект реализует этот интерфейс и, возможно, другие, а затем удаляет объект, как показано ранее.

Использование статического удаленного объекта обеспечивается через TransparentItemProxy. [ 2 ] Пользователь удаленного объекта может создать ссылку на этот объект, которая фактически реализует общий интерфейс, следующим образом:

SomeInterface si = (SomeInterface)TransparentItemProxy.getItem("//someHost:1198/someName", новый класс[...] {SomeInterface.class} )

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

Динамическое использование удаленных объектов

[ редактировать ]

Использование динамического удаленного объекта обычно выполняется, когда интерфейс объекта определяется во время выполнения. Это часто происходит при использовании удаленных объектов Cajo в сценариях . [ 3 ] Машина динамически использует ссылку на удаленный объект следующим образом:

// получаем ссылку

Object object = Remote.getItem("//someHost:1198/someName");

// обычно получается во время выполнения

Строка someMethod = "someMethod";

// также получено во время выполнения

Object someArgs = новый Object[...] {someArgs, ... };

Результат объекта = Remote.invoke(object, someMethod, someArgs);

Этот фрагмент кода вызывает метод удаленного объекта, предоставляя аргументы (если таковые имеются) и возвращая результат. (если есть)

Платформа cajo может позволить машине удаленно обращаться к своему объекту с помощью UDP с многоадресной рассылкой IP . [ 4 ] Этот метод позволяет машинам, заинтересованным в использовании удаленных ссылок, просто слушать объявления. Это обеспечивает механизм связи «один ко многим» , при котором пользователям удаленного объекта не нужно знать адрес TCP/IP хост-машины.

Удаленные графические интерфейсы пользователя

[ редактировать ]

Проект Cajo также используется для удаленных графических интерфейсов пользователя. [ 5 ] Это позволяет приложению запускать свое представление на машинах, отдельных от его модели , и даже на объектах контроллера .

См. также

[ редактировать ]
  1. ^ «Добавление кахо в существующие приложения» . Проект Каджо. 04 августа 2007 г. Архивировано из оригинала 25 сентября 2006 г. Проверено 19 января 2008 г.
  2. ^ «Использование удаленных объектов, как если бы они были локальными» . Проект Каджо. 04 августа 2007 г. Архивировано из оригинала 23 декабря 2007 г. Проверено 19 января 2008 г.
  3. ^ «Почему сценарий каджо?» . Проект Каджо. 04 августа 2007 г. Архивировано из оригинала 3 января 2008 г. Проверено 19 января 2008 г.
  4. ^ «Использование многоадресной рассылки cajo» . Проект Каджо. 04 августа 2007 г. Архивировано из оригинала 23 декабря 2007 г. Проверено 19 января 2008 г.
  5. ^ «Использование механизма прокси-сервера cajo» . Проект Каджо. 04 августа 2007 г. Архивировано из оригинала 23 декабря 2007 г. Проверено 19 января 2008 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c39364180c52e2f5406e17a42e145fea__1719895200
URL1:https://arc.ask3.ru/arc/aa/c3/ea/c39364180c52e2f5406e17a42e145fea.html
Заголовок, (Title) документа по адресу, URL1:
Cajo project - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)