什么是WSRP(Web服务远程Portlet) WSRP XML标准

17次阅读

WSRP是一套基于Web服务的开放规范而非xml标准,由OASIS制定,通过WSDL、SOAP、XML Schema等XML技术实现远程Portlet的即插即用,封装界面渲染、操作处理与状态管理,使门户可直接嵌入并交互远程html片段。

什么是WSRP(Web服务远程Portlet) WSRP XML标准

WSRP(web services for Remote Portlets)不是一种XML标准,而是一套基于Web服务的开放规范,由OASIS组织制定,核心目标是让Portlet(门户组件)能以“即插即用”方式跨系统远程使用。它依赖XML技术(如WSDL、SOAP、XML Schema)实现通信,但本身不是XML语法或标记标准。

WSRP的本质:面向展示的远程交互协议

传统Web服务(如SOAP/XML-rpc)只暴露业务逻辑,客户端需自行开发界面;WSRP不同——它把**用户界面渲染、用户操作处理、状态管理**都封装进服务中。门户(Consumer)只需调用标准接口,就能把远程Portlet像本地组件一样嵌入页面,用户点击、输入、刷新等操作全部由远程端完成,结果以HTML片段形式返回。

WSRP 1.0的关键技术组成

它定义了一组严格约束的Web服务接口,全部通过WSDL描述,运行在SOAP/http之上:

  • Markup Service:提供初始HTML内容、处理用户动作(如按钮点击)并返回更新后的页面片段
  • Registration Service:支持Consumer向Producer注册,用于身份识别与个性化配置
  • Service Description:通过WSDL和XML Schema声明Portlet能力(支持的操作、参数、生命周期行为)
  • Lifecycle & Navigation:定义Portlet初始化、销毁、状态保存(如handleEventsperformBlockingInteraction等操作)

为什么说它“基于XML”但不是“XML标准”

WSRP本身不定义新XML标签或文档结构。它复用已有XML技术

  • 接口契约用WSDL(XML格式)描述
  • 消息体用SOAP(XML格式)封装,含getMarkupperformaction等操作
  • 数据类型、错误码、安全策略等均用XML Schema定义
  • 所有交互必须符合WSRP 1.0规范中对XML命名空间、元素结构、必需属性的强制要求

实际部署中的典型流程

一个企业门户想接入外部天气Portlet,无需下载代码或部署java应用:

  • 门户作为WSRP Consumer,发现远程Producer的WSDL地址(如http://weather.example.com/wsrp?wsdl
  • 解析WSDL,确认其支持getMarkupperformBlockingInteraction
  • 发起register请求,获得唯一registrationHandle
  • 后续每次渲染,发送带portletHandleregistrationHandlegetMarkup请求,接收HTML片段直接插入页面
text=ZqhQzanResources