Restlet - это инфраструктура Java, которая обеспечивает единый интерфейс (насколько это возможно) для ряда протоколов . Модель API основана на HTTP, но может использоваться с другими протоколами. Однако некоторые функции могут быть недоступны напрямую в зависимости от используемого протокола.
Существуют также библиотеки, использующие XMPP.
Однако, чтобы принципы REST работали, полезно придерживаться одного и того же протокола, иначе два "мира" не смогут иметь единый интерфейс (с точки зрения протоколов, а не API).
[...] но не полагайтесь на HTTP в качестве основного транспорта.
Я должен добавить, что HTTP - это не протокол транспорта , а протокол передачи : "Протокол передачи гипертекста" . Это принципиальная разница, когда дело доходит до отдыха. (Он может использоваться для передачи по другим протоколам, например, SOAP, но это фактически неправильное использование.)