3、用Web服务构建企业门户网站
为了使将 WSRP 服务动态集成到门户网站中尽可能简单,我们需要集成一个查找和绑定功能。可以将一个 UDDI 注册中心当作发布和查找 WSRP 服务的注册中心。这个 UDDI 注册中心可以是一个局限在公司网络中的专用 UDDI,也可以是公用 UDDI 目录。希望提供或使用 WSRP 服务的客户机应用程序可以执行下面的操作:(如图3所示) ·将 Portlet 作为 WSRP 服务发布:管理员使用发布函数将 portlet 作为 WSRP 服务发布到 UDDI 注册中心。例如,门户网站的管理函数可以读取门户网站的 portlet 注册中心,并显示所有可用的 portlet,这样,portlet 管理员就可以选择要发布的 portlet 了。 ·查找和绑定远程 Portlet Web 服务:查找和绑定管理函数让管理员可以搜索 UDDI 注册中心来查找 WSRP 服务。对于一个选定的服务,管理函数可以在 portlet 注册中心中自动生成一个绑定到该服务的 portlet 代理。 ·选择代表 WSRP 服务的 portlet 代理:在管理员将 portlet 代理绑定到 WSRP 服务之后,用户就可以将 portlet 代理放在他们的一个个人页面上去了。 
图3 用WSRP服务查找和绑定远程Portlet
图4和图5演示了用Web Service 构架门户网站整个业务流程。当Portlet接收一个需要交互式远程服务请求时,Portlet通过SOAP Proxy产生应答;Proxy包装这些参数,转换为SOAP的请求,并将请求送给远程Web Service。 Web Service通过SOAP Wrapper来接收SOAP请求,还原这些参数,使用参数完成本地服务,当web Service 返回结果时,SOAP Wrapper 将结果数据转换为SOAP的响应,并把它送回来到SOAP Proxy,SOAP Proxy最后还原成结果数据,并以一个适当的形式返回到原先请求的portlet。
为了简化在Portlets中使用Web Service,象IBM等公司提供一个Web Service Proxy产生器工具,该工具能够从一个WSDL接口文档自动产生客户代码,并且实现可选择的服务实施文档。如果只有一个服务接口文档被用,服务代理产生器工具产生一个通用的服务代理,它能被用到存取给定的任何服务实施。 如果一个服务接口和一个服务实施都被用,服务代理产生器工具产生一个服务代理只能存取服务实施。 服务代理包含在服务接口文档里面,它是一个特定的绑定的代码。 举例来说,如果绑定是一个SOAP绑定,然后服务代理将会包含用来启动服务的SOAP客户代码。 
图4 用Web Service 构架门户网站
当一个访问远程Portlet页面发生请求时,Portlet使用一个Portlet 代理来实现远程Portlet Web Service ,它是通过Remote Portlet Invocation (RPI)协议(如图5),portlet 启动 portlet代理完全和它会启动本地 portlet一样,通过 Portlet请求和 Portlet 响应。portlet 代理在内部实现一个SOAP 代理,转换所有的参数作为一个SOAP 代理的请求,并发送给远程的Portlet Web Service 主机。在Web Service 旁边的SOAP Wrapper 还原出所有的信息,这些信息是在远程Portlet上的请求和响应。
是否直接通过一个入口或门(Portal),还是间接的经过Web Service 接口;对于远程Portlet来说,它是透明的。在每个情况,它处理输入参数而且返回一个 portlet 响应。
SOAP Wrapper转换进入SOAP响应之内的响应,而且把它送到SOAP代理,SOAP代理还原出这些响应,最后,通过 Portlet代理返回原先的Portlet 响应。这个响应也是原始的通过Portlet 引擎的请求。 
图5 Remote Portlet Invocation (RPI)
4、Web 服务门户网站的实际应用的例子 ·搜索引擎服务商Google发布了一个开发工具包,这个开发工具包使得开发人员可以在自己的应用程序中集成Google搜索。搜索的接口是通过SOAP/WSDL实现的,也就是说Google将其搜索服务包装成了Web服务。目前这个工具包支持Java和.NET两种技术,使用范围被限制在非商业领域,同时单个用户的使用频率被限制在每天1000次搜索以内。 ·B2C的带头人Amazon发布了一套可以通过两种接口访问(XML/HTTP以及XML/SOAP)的Web服务。通过这套Web服务,用户可以使用程序获取Amazon提供的各种商品的结构化数据,包括产品名称、制造商、价格等等。具体的获取方式包括关键词搜索及内容树浏览。 ·GE Global eXchange Services是GE公司的一个组成部分,同时也是基于Internet的B2B电子商务的领导者。2002年5月1日,它宣布在其为中小企业提供的电子商务事务中提供了Web服务接口。GE Global eXchange Services(GXS)是全球最大的B2B电子商务网络之一,拥有10万个贸易伙伴,每年完成10亿个商业事务,成交金额达到1万亿美元。 ·2008年在中国北京举办的奥运会的门户网站"数字北京"就是用web 服务来构建的,网站在总体设计上采用了Web Service体系构架,以LBS技术为核心,以ASP为应用服务模式,依托MAPINFO GIS平台和统一的北京市地理空间信息平台,为用户提供基于位置的多种应用服务。甚至连一些政府的门户网站也是采用web 服务技术,通过Web Services技术支持的"一站式"网站服务将是未来电子政务的一个重要技术架构和应用方向。 |