Web Services, Portlets和WSRP

日期: 2008-03-18 作者:Daniel Rubio 来源:TechTarget中国 英文

尽管WebServices最初被提出来是出于互操作性的目的,作为软件的独立部分运行,但它们实际的用途已经深入到很多应用领域。既有被设计在应用服务器范围内运行WebServices,又有被设计在客户端应用中的,例如表格,举不胜举。本文将探讨WebServices已经触及的另一个领域:portlets。   Portlets是一种可用于很多基于Web的应用的流行方法。

以下是它的一些特性:   • 一旦作为应用被部署后,可以被最终用户定制   • 以同样的设计适配很多用户设备   • 一旦执行,可以处理消息和事件   这些仅是一部分特性,它们中的大部分是在选择用p……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

尽管WebServices最初被提出来是出于互操作性的目的,作为软件的独立部分运行,但它们实际的用途已经深入到很多应用领域。既有被设计在应用服务器范围内运行WebServices,又有被设计在客户端应用中的,例如表格,举不胜举。本文将探讨WebServices已经触及的另一个领域:portlets。

  Portlets是一种可用于很多基于Web的应用的流行方法。以下是它的一些特性:

  • 一旦作为应用被部署后,可以被最终用户定制

  • 以同样的设计适配很多用户设备

  • 一旦执行,可以处理消息和事件

  这些仅是一部分特性,它们中的大部分是在选择用portlet设计时被强制的而不是可选的。但是,直到最近,大多数portlet部署已经是基于私有API的了。

  在Java领域,当谈到portlet部署时,基于JSR-168的设计已被应用得最多——因为它被大多数主要应用服务器厂商所支持——尽管在同样的领域还有其它替代品例如IBM portlet solution。而在.NET领域,Web Parts则是与portlet编程模型最类似的东西。

  但是,当尝试创建互操作的portlet方案时,所有这些会导致什么发生呢?那就是Web Services for Remote Portlets(WSRP),在OASIS的赞助下开发了一个厂商中立的说明书,用于用WebServices创建protal驱动的应用程序。

  有了WSRP作基础,该说明书很自然地被设计用来把所有WebServices的协议栈说明书,例如SOAP、WSDL、UDDI,无缝地集成在一起。WSRP还准备集成它早期的portlet前身JSR-168,这样可以让你把现有的Java/JSR-168portlets移植到WSRP上。

  WSRP的主体可以分为两个部分:生产者和消费者。生产者用来提供WebServices终端的生命周期管理、注册以及其它管理性服务。

  另一方面,消费者组合了必需的逻辑与WSRP生产者对接,以及其它必须的组件用于传递portlet内容。它可以作为基于浏览器的应用,也可以作为给最终用户的自包含服务。下图描述了生产者和消费者是如何交互的:

  在中间,有一个作为portlet 生产者的服务器。图中间显示的portlet生产者可以与第三方portal服务器——portal消费者——进行交互,通过标准的Web Services机制UDDIWSDLSOAP。一旦这些消费者处理了portlets生产者的内容,它们就能以任何方便的样式排列数据,并发送到客户端应用——浏览器或胖客户端——这完全是从现实的portlet架构中抽象出来的。

  在这个过程以后,客户端应用就能返回结果到它对应的代理服务器——portlet消费者——这可以结束序列,也可以获得的结果重定向到portlet生产者。

  正如你看到的,WSRP为portlet的生产者和消费者提供了一个非常健壮的架构。作为生产者,你可以为内网或第三方portal发布由WSRP设计的服务,这些服务以后可以被过度到终端用户。作为消费者,你则可以创建集合很多第三方portlet生产者的应用,创建一个简单的可维护的部署。

  为了获得一个基于WSRP的实际的生产环境,有很多可供你选择的建议,因为WSRP是基于一个说明书的。

  有很多厂商能够为基于WSRP的应用提供生产环境。但是,要获得市场你还需要投入大量的精力,因为每个厂商提供的成熟性和附加功能都不一样。

  在portal服务器厂商中,有以下这些支持WSRP:

  • BEA Web Logic Portal: http://www.bea.com/products/weblogic/portal/index.shtml

  • Apache WSRP4J: http://portals.apache.org/

  • IBM Websphere Portal: http://www-306.ibm.com/software/genservers/portal/

  • PlumTree: http://www.plumtree.com/developers/standards.htm

  • OracleAS Portal Server: http://portalstandards.oracle.com/

  • Sun Portal Server : http://www.sun.com/software/products/portal_srvr/ds_portal6.xml

  这些产品都能构建WSRP应用,它们是复杂还是好用很大程度上取决于你对相同生产商的类似portal工具是否熟悉。因为很多对WSRP的支持都是构建在早期JSR-168服务器实现上的。如果你以前使用过Pluto——Apache的JSR-168 portal服务器——那么Apache WSRP4J或许很适合你。另一方面,如果你的组织喜欢IBM的产品线,那么Websphere Portal就是检验WSRP部署的明智选择。

  和很多Web Services技术一样,WSRP也不是适用于每一个软件项目的,但是如果你正计划部署一个同样的Web应用,WSRP或许是你的最佳方案。WSRP能精简冗长的部署过程,而且与此同时,可以用WebSevices标准访问其它第三方。

相关推荐

  • WS-I闭关 这对WS-*意味着什么?

    互操作性真的通过WS-I组织由WS-*系列规范所实现,并通过由今天所开发出来的规范和标准得以改善了吗?还是真正的互操作性的挑战转移到别处,仍然有待解决?

  • .NET vs. Web Service的平台之争

    当微软发布.Net的时候,比尔盖茨宣称这是公司一项很大的赌注。然而在.Net的发展与微软当初期望渐行渐远时,它却远超出了CIO的想象……

  • OSGi框架协助管理Java组件(上)

    OSGi(正式说法是Open Services Gateway initiative,现在简称OSGi)背后的理念是为创建模块化的Java组件而发明的一个框架。

  • 基于SOA的数据集成研究与应用

    随着企业信息化的发展,企业需要对大量异构、分布、自治数据源进行集成。以SOA架构和Web Services技术为支撑,采用XML技术进行集成……