Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

Инструменты пользователя

Инструменты сайта


uniphone:modelapi

Модель взаимодействия

В UniPhone API применяются две модели взаимодействия между участниками:

  • Publish & Subscribe (PubSub)
  • Remote Procedure Calls (RPC)

Publish & Subscribe

В модели PubSub отправители и получатели сообщений не связаны друг с другом напрямую. Отправитель предоставляет информацию в абстрактной «теме» (topic), а получатели принимают сообщения объявив о своей заинтересованности к соответствующей теме. Направление потока сообщений может быть один-ко-многим, многие-к-одному и многие-ко-многим. Отправителя обычно называют издателем (publisher), а получателя - подписчиком (subscriber).

Типы объектов модели

Ниже перечислены типы объектов, используемых в модели PubSub.

  • Тема (topic). Именованный ресурс, в которой передаются сообщения от издателя.
  • Подписка (subscribe). Внутренний ресурс, формирующий поток сообщений от одной конкретной темы, к заинтересованному в данных приложению.
  • Издатель (publisher). Внешний по отношению к системе источник информации. Издатель формирует сообщения и помещает их в соответствующую тему через механизм публикации.
  • Подписчик (subscriber). Внешний по отношению к системе приемник информации. Подписчик выражает свою заинтересованность в выбранной им теме и принимает сообщения по мере их появления.
  • Сообщение (message). Сочетание данных и (необязательно) атрибутов, которые передаются от издателя к подписчику.

Допускается публикация сообщений от нескольких издателей в одной теме. Например, при наличии в инфраструктуре организации двух IP АТС, сообщения могут доставляться с обеих через единый информационный канал.

Remote Procedure Calls

Модель RPC подразумевает получение интересующей информации по средством обращения к ее поставщику. Выполнение запроса и его обработка выполняется асинхронно. Сервер UniPhone выступает посредником при вызове удаленной процедуры и возврате результата выполнения.

Принцип работы

В вызывающей удаленную процедуру программе (Caller) подготавливается запрос (Response). Вызов процедуры выполняется через посредника (RPC Dealer). Посредник передает запрос в вызываемую программу (Callee) передает управление вызываемой процедуре (doSomething). По окончанию выполнения процедура возвращает ответ (Response). Ответ передается в процедуру, которую вызывающую программа определила для его обработки (onComplete).

Удаленная процедура должна быть предварительно зарегистрирована на сервере UniPhone. Не допускается двойная регистрация процедур с одним именем.

Именование ресурсов

UniPhone API использует URI формат для именование ресурсов включая «темы», зарегистрированные процедуры и ошибки. Все они образуют единую, глобальную иерархию имен:

  • /provider.* - пространство имен ресурсов провайдера.
  • /provider.topics.* - пространство имен тем публикуемых провайдером.
  • /provider.methods.* - пространство имен удаленных процедур реализованных на стороне провайдера.
  • /crm.* - пространство имен ресурсов CRM-системы.
  • /crm.topics.* - пространство имен тем публикуемых CRM-систой.
  • /crm.methods.* - пространство имен удаленных процедур реализованных на стороне CRM-системы.

Например, обозначение ресурса call как «темы» в пространстве имен провайдера выглядит так:

/provider.topics.call
uniphone/modelapi.txt · Последние изменения: 2016/03/18 14:54 — mcvet