portlet和webservice之间的区别

时间:2013-09-13 15:04:41

标签: web-services portlet saas

我不确定我是否将洋葱与白菜进行比较。但我真的很困惑portlet和一个Web服务。我知道Web服务正在将您的应用程序中的软件组件作为其他应用程序的服务,但对我而言,它类似于响应请求的portlet。我知道我的理解是让你(Portlet和SAAS开发人员)真的很不高兴。但我需要对此有所了解。

为什么我不能将请求响应用于类似于Web服务的portlet工作? 如果是,使用Web服务比使用portlet有什么好处? 如果没有,那么什么是缺乏充当Web服务的portlet?

我是portlet开发的新手。请不要诅咒我这个问题。

请建议。

修改 大多数答案都说portlet是一个UI组件。我的客户要求我在liferay中创建一个web服务。那么将portlet作为Web服务吗?如果是,请提供指针或代码片段吗?

3 个答案:

答案 0 :(得分:2)

专门针对Liferay解决'编辑'......

Liferay插件项目可以在不需要太多工作的情况下公开Web服务。

Liferay Service Builder实际上具有工具,因此您可以创建由Liferay数据库中的表支持的SOAP Web服务或JSON Web服务(并在现有数据库表上进行查询)。在JSON Web服务的情况下,生成的URL方案不是RESTful(遗憾的是),但是它已经很好地定义了。通过您的一些工作,您也可以将Liferay的权限系统强加于Web服务调用。

这是Liferay Developer's Guide中的合理起点:

请参阅该页面上指向SOAP和JSON服务的链接。

请注意,'portlet'只是一种Liferay插件。 Web服务工具是服务层的一部分 - 许多插件类型都可以使用它。因此,在Liferay中创建Web服务不一定涉及portlet,您可以创建一个没有与之关联的可视组件的Web服务。

答案 1 :(得分:1)

Portlet是您创建用于添加和显示内容的区域。 Portlet可以添加到中心主体区域的左侧和右侧,并且可以包含无数内容,包括新闻,事件,日历,RSS源,集合,纯文本等。此外,您还可以设置显示portlet的属性和策略。

你想在什么时候使用portlet     你有想要特别关注的内容,比如新闻。     您需要指定项目的配置数据。 - 即要显示的条目数。     您希望为内容编辑者提供有关显示内容的时间和位置的选择。     您只想将其展示给某些群组或用户。

另一方面,网络服务:

  • 使应用程序可以公开其服务 “progammatically”,即服务可以由程序调用

  • 启用在其他计算机上运行的软件(可以是台式机,移动电话,PDA等)来调用Web应用程序公开的操作

如果你试图在历史上确定主要差异门户网站,那么portlet有三层架构(客户端,中间层,后端),这会造成两个弱点:

  1. 不同的门户组没有完善的共享服务方式
    • 中间层的不同技术(Java,Perl,CORBA,EJB)。
    • 不同协议(GRAM,IIOP,......)
  2. 因此,大量的冗余,重塑
    • 示例:批处理脚本生成
  3. 因此,Web服务解决了服务共享问题并减少了冗余。

    source1 source2 source3

答案 2 :(得分:0)

Portlet旨在成为门户解决方案中的用户界面组件。

Web服务提供与通常使用SOAP,REST,JMS或其他相关

的系统进行远程交互的功能

它们提供完全独立的功能。你得到的最接近的是portlet中的serveResource方法。此功能用于从portlet(例如PDF文档或AJAX响应)提供各种类型的内容,而无需执行整页请求。