人性化 Web 服务,第 3 部分: 用 WSRP 构建门户网站

来源:百度文库 编辑:神马文学网 时间:2024/04/30 13:21:01

文档选项

将此页作为电子邮件发送

最新推荐

Java 应用开发源动力 - 下载免费软件,快速启动开发
级别: 初级
Judith M. Myerson, 系统设计师兼工程师
2003 年 2 月 01 日
在这个系列的前两篇文章中,Judith Myerson 讨论了企业用户关于如何表示 Web 页面和远程门户网站的共同观点,同时研究了如何用 WSIA 规范来构建人性化应用程序。在此第 3 部分中,您将学习如何用远程门户网站 Web 服务(Web Services for Remote Portals,WSRP)来扩展 WSXL 组件服务的功能。您将看到一段样本代码,它演示如何用不同接口和协议的一个标准适配器把交互式应用程序聚集到单个门户网站中。
在一个门户网站,您可以建立单点登录,或者对信息、应用程序、流程和人的访问进行个人化和控制。您可以从像数据库、交易系统、内容提供者或者远程 Web 站点等各种数据源获取信息。例如,您可以在您所在的组织提供的门户网站上为您的文章和书创建一个书架,同时把有关已发布的工作的信息存储在数据库中。
远程门户网站 Web 服务(WSRP)是用于 XML 和 Web 服务的标准,它允许把交互式、人性化的 Web 服务插入门户网站,同时带来的混乱又最小。大家可以通过标准方式发布、查找和绑定这些服务。在 WSRP 出现以前,供应商经常编写专门的适配器来适应不同接口和协议,并将应用程序集成到单个门户网站中,这样就产生了一种使开发者感到很混乱的环境。2002 年 1 月,结构化信息标准促进组织(Organization for the Advancement of Structured Information Standards,OASIS)成立了 WSRP 技术委员会(WSRP Technical Committee),力求为这些供应商标准化适配器。
同月,OASIS 还成立了 Web 服务组件模型技术委员会(Web Services Component Model Technical Committee);该委员会的目标是创建一个标准组件模型,开发者可以按这个模型把可视表示和门户网站组件组合在一起。2002 年 5 月,OASIS 为更好地描述其工作目标将这个小组改名为 Web 服务交互式应用程序技术委员会(Web Services for Interactive Applications Technical Committee,WSIA TC)。改名后的委员会将其关注重点从应用程序外观拓宽到应用程序的完整交互式、人性化体验。2002 年 9 月 30 日,WSIA 和 WSRP 技术委员会联合发表了 WSIA-WSRP 核心规范,工作草案 0.7(相关链接请参见下面的参考资料部分)。这份文档提出了一个标准适配器,供应商可以用这个适配器来混合、匹配和重用不同来源的人性化交互式 Web 服务应用程序。

想知道真实的门户网站是什么样子吗?下面是一些您可能想为之使用门户网站的企业方案:
门户网站服务器间信息共享。 到 Web 应用程序的链接。 无线股票交易服务。 多媒体运动门户网站。
OASIS 的 Web 站点上提供了有关每一种方案的角色、关系、业务目标和解决方案要求的详细信息(相关链接请参见下面的参考资料部分)。




回页首
我们来看一下 WSRP 如何依赖服务的 WSXL。在图 1 中,WSRPService 是一个建立在 Web 服务标准上的特殊 WSXL 组件服务,包含 SOAP、UDDT 和 WSDL。通过 WSXL 组件(位于中心位置),WSRP 将 WSXL portTypes(位于顶端)和高级组件服务(位于底端)扩展到了 WSRP 的远程 Porlet Web 服务。(图 1和2以及清单 1都是从 IBM 2002 年 4 月 10 日发表的 Web 服务体验语言第 2 版的注解中抽取的;相关链接参见下面的参考资料部分)

正如您所见, WSRPService 通过基本 WSXL 组件服务导入两个 WSRP 和四个 WSXL portTypes,详情见表 1。每个 portType 都引用 WSDL 指定的模式定义。表 1包含每个 portType 的描述,并包含其相关类别。
portType 类别 描述
WSXLServiceDescription 查询 允许客户机请求 WSDL 服务描述
WSXLLifeCycle 生命周期 让一个组件或者集合决定是应该重复当前实例(任务或服务)还是应该进行下一个
WSXLProperties 属性管理 允许客户机在初始化时间外修改属性
WSXLOutput 输出 与服务标记有关
WSRPLifeCycle 门户网站生命周期 让门户网站内的一个组件或者集合决定是应该重复当前实例(任务或服务)还是应该进行下一个
WSRPOutput 门户网站输出 与门户网站服务的标记有关




回页首
图 2显示活动中的 WSRP。在该图中,门户网站被用来向用户展示远程托管的股票分析应用程序,该应用程序由两个单独的 WSXL 应用程序组成。它的简单工作流程有三个部分:一个 应用程序提供者(application provider )(左边),一个 应用程序分发者(application distributor)(中间)和 用户(user)(右边)。应用程序分发者把门户网站放在股票数据分析输入应用程序之前。分发者处理与股票分析应用程序提供的信息有关的 SOAP 消息,同时在应用程序提供者之间来回发送和接收它们。使用 HTML,把股票数据分析输入应用程序和股票分析应用程序组合在一起展示给人类用户,提示他们输入股票符号以获得当天的报价。

如果您不喜欢绿色,或者不喜欢表示的字体样式或大小,您可用调整描述语言(Adaptation Description Language)所用的 调整点来重设缺省值。(相关链接参见参考资料)。您也可以重设数据的缺省值,让您或该应用程序在输出标记上重设或者添加一个值。每一个点都指定一个特定于应用程序的调整点名,想做的插入、替换或者查找操作以及要改变的页面名。
这种调整语言是 WSXL 应用程序的一部分,它也可能由至少三个 WSXL 组件(表示、数据和控件)、事件配线以及同步和跨多个 WSXL 组件的流组合而成。清单 1 包含一个代码示例,这个示例展示了如何把 WSXL 组件归入一个名为 StockChartCollection 的 WSXL 集合内。该集合为各个组件提供执行和管理环境。





回页首
WSRP 让您使用一段适配器代码,您可以把这段代码插入来自任何远程 Portlet Web 服务的应用程序。通过这个标准,您可以把一个远程 Portlet Web 服务实现为一个基于 Java/J2EE 的 Web 服务、Microsoft .Net 平台上实现的 Web 服务或者实现为门户网站发布的一个 portlet。为帮助应用程序、客户机和供应商发现和显示您的远程 Portlet Web 服务,您可以将它们发布到公共服务目录或公司服务目录(也就是,UDDI)。
由于远程 Portlet Web 服务会被跨平台的中间应用程序使用,所以它们是门户网站的关键。使用远程 Web 服务,在一个操作过程中,门户网站可以:
从数据源获取信息。 把信息聚集到组合页面。 以交互模式向用户提供个人化信息。




回页首
WSRP 为不同的接口和协议提供一个适配器来使 Web 服务实现人性化。最近的 WSIA-WSRP 核心规范预示着人性化交互式 Web 服务的用户控制标准这种趋势。例如,这些标准可以瞄准用户可能想以标准化的方式控制的各种行为(如颜色或者字体大小)。




回页首
您可以参阅本文在 developerWorks 全球站点上的英文原文.
查阅本系列的第一部分“Web 服务体验语言介绍”,Judith M. Myerson ( developerWorks,2002 年 9 月)对有关 Web 页面和门户网站用户体验的介绍。
查阅本系列的第二部分,“构建应用程序”,Judith M.Myerson( developerWorks,2002 年 10 月)对有关利用可重用组件、工作流以及业务流程的讨论。
参阅用来为交互式应用程序创建 Web 服务组件模型的WSIA TC(以前称为 WSCM TC)。
OASIS Web 站点包含具体企业方案链接,在这些方案中远程门户网站 Web 服务起着重要作用。
参阅为开发远程门户网站的 Web 服务标准而组成的WSRP TC。
了解为本文提供基础知识的WSXL 规范、WSXL 白皮书(PDF)以及WSIA-WSRP 核心规范(PDF)的更多相关信息。
获取更多有关 OASIS 的WSRP 委员会的更多信息。
WSXL 规范也含有有关AdaptationDescription Language的信息。
参阅CompleteBook of Middleware ,它重点介绍系统设计的基本原理和特征,同时强调因电子商务和分布式集成系统的崛起而带来的新要求。
参阅Enterprise Systems Integration, Second Edition, 深入了解业务及技术上的技巧以确保成功集成系统。




回页首


Judith M. Myerson 是一位系统设计师兼工程师。她感兴趣的领域包括中间件技术、企业级系统、数据库技术、应用程序开发、网络管理、分布式系统、基于组件的技术以及项目管理。您可以通过jmyerson@bellatlantic.net与她联系。
_xyz