Введение

Сетевая архитектура для распределённых систем, южнокорейский певец

Jini (произносится как /ˈdʒɪniː/), также известный как Apache River, — это сетевая архитектура для создания распределённых систем из модульных взаимодействующих сервисов. JavaSpaces является частью Jini. Изначально разработанная Sun Microsystems, Jini была выпущена под лицензией Apache 2.0. Ответственность за Jini была передана Apache в рамках проекта "River".

История

Sun Microsystems представила Jini в июле 1998 года, но всегда речь шла только о Jini. Слово "jini" на суахили означает "дьявол"; оно заимствовано из арабского слова, обозначающего мифологического духа, которое, в свою очередь, происходит от латинского genius – источника и английского слова "genie". Jini предоставляет инфраструктуру для сервисно-ориентированной объектно-ориентированной архитектуры (SOOA).

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

Услуги определения местоположения выполняются посредством службы обнаружения. Службы пытаются связаться со службой обнаружения (LUS) либо посредством одноадресного взаимодействия, если им известно фактическое местоположение службы обнаружения, либо с помощью динамического многоадресного обнаружения. Служба обнаружения возвращает объект, называемый регистратором служб, который службы могут использовать для регистрации, чтобы клиенты могли их находить. Клиенты могут использовать службу обнаружения для получения прокси-объекта для службы; вызовы к прокси преобразуются в запрос к службе, выполняются на службе и возвращают результат клиенту. Этот подход удобнее, чем удаленный вызов метода Java, который требует, чтобы клиент заранее знал местоположение удаленной службы.

Ограничения

Jini использует службу поиска для организации взаимодействия между клиентом и сервисом. Это, по-видимому, централизованная модель (хотя взаимодействие между клиентом и сервисом можно рассматривать как децентрализованное), которая плохо масштабируется в очень больших системах. Однако службу поиска можно горизонтально масштабировать, запустив несколько экземпляров, прослушивающих одну и ту же группу многоадресной рассылки.