0

作为Service builder的一部分,我多次使用本地服务,但我从未使用过远程服务。我从以下教程中阅读了远程服务http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/writing-the-remote-service-class-liferay-portal-6- 1-开发指南-en

我仍然没有完全理解我们使用这些远程服务的目的和具体位置。

任何人都可以通过简单的实时示例解释我们在哪里以及为什么使用这些远程服务。

4

1 回答 1

2

本地服务只能由 Liferay 本身或 Liferay 应用程序(例如,由 Liferay portlet)调用。任何可以访问 Liferay 门户(例如,通过互联网)的应用程序都可以调用远程服务。

因此,例如,如果您想创建一个可以访问 Liferay 的 Bookmarks API 的桌面或移动应用程序,您需要调用 Bookmarks 远程服务:http://localhost:8080/api/jsonws?contextName=bookmarks

同样,如果您通过服务构建器创建自定义 Liferay 实体,并且您希望允许开发人员创建可以与您的实体交互的桌面或移动客户端(例如,对您的实体执行 CRUD 操作),那么您需要创建远程服务.

此外,Liferay 的最佳实践和惯例是不对本地服务添加权限检查,而仅对远程服务添加权限检查。即使您没有预料到任何非 Liferay 应用程序将需要访问您的服务,您仍然应该考虑创建远程服务,如果只是为了添加权限检查。(您的远程服务将包含权限检查代码,然后调用本地服务。这是 Liferay 中的常见模式。)

有关更多信息,请参阅https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-2/creating-remote-services

于 2015-08-04T16:45:22.123 回答