RESTful Webservice с Jersey в Java и модел на наблюдател

Опитвам се да внедря n-tier архитектурно приложение за училищен проект. Комуникацията между клиентите и сървъра се осъществява с RESTful Webservice. Използвах Jersey, за да внедря това в Java. Единственият въпрос, който имам, е как да регистрирам клиентите на сървъра, за да получават известия за промени (както обикновено се прави с модела на наблюдател или модела слушане/публикуване). Трябва ли да внедря услуга и от страна на клиента и след това да регистрирам URL адреса, който да бъде извикан от сървъра, и след това да извикам тези URL адреси, когато настъпят промени?

Благодаря за вашата помощ!


person J-Hit    schedule 31.03.2014    source източник


Отговори (1)


Обикновено в базираната на http схема клиент-сървър сървърът винаги отговаря на заявка. Няма начин сървърът да изпрати нещо (известие), без клиентът да го поиска. Но има случаи на използване на сървъра, който изпраща данните към клиента, без клиентът да поиска и следователно Server-Push се появи на снимката.

Джърси осигурява изпращане на сървъри под формата на Изпратено от сървъра Събития (SSE). В документацията се казва,

Изпратените от сървъра събития (SSE) са механизъм, който позволява на сървъра да изпраща асинхронно данните от сървъра към клиента, след като връзката клиент-сървър е установена от клиента

Моля, имайте предвид, че клиентът трябва първо да установи връзка със сървъра. Можете да наречете тази първа клиентска заявка като Регистрация. След като връзката бъде установена, сървърът може да изпраща/избутва данни към клиента. Свързаното споменаване също има работещ пример.

person Santosh    schedule 31.03.2014