Web服务于构建企业门户网站的研究

2009-11-04 02:33石少敏
企业导报 2009年7期

石少敏

【摘要】 通过对企业门户、企业门户网站及Web服务介绍,讨论了用Web服务构建企业门户网站的整个业务流程,为企业提供了决策支持服务。

【关键词】 企业门户;企业门户网站;WSRP;WSXL;UDDI

一、企业门户(Portal)

Portal是IT领域的新技术,是企业信息化工作的发展方向之一。Portal一词是从Internet所衍生出来的,原来是“门户网站”的意思,扮演人们上网后想要拜访的第一个站台。从面向应用领域的角度看,门户可分为Internet门户和企业门户。人们对Internet门户的认识比较一致,提供面向Internet用户的服务的网站。对企业门户认识与IT业有些名词一样,不同的专业人士和机构对之有不同的理解,并有很多术语用于描述企业为其客户、合作伙伴和员工的方便而采用的“门户。根据应用的具体功能不同又把企业门户细分为信息门户、知识门户和应用门户等。

1.企业信息门户(Enterprise Information Portal,EIP )。基本作用是为人们提供企业信息。企业信息门户提供了一个了解企业的访问入口,所有访问者都可以通过这个入口获得个性化的信息和服务。

2.企业知识门户(Enterprise Knowledge Portal,EKP)。是一个平台,该平台是知识加工平台、决策平台、知识发布与获取平台的集成,它使企业各部门职员之间的信息共享和交流更加流畅。企业知识门户的重点是企业信息的加工与处理。

3.企业应用门户(Enterprise Application Portal,EAP )。实际上是对企业业务流程的集成。它以商业流程和企业应用为核心,把商业流程中功能不同的应用模块通过门户技术集成在一起。

以上三类门户虽然在侧重点有所不同,但随着企业信息系统复杂程度的增加,越来越多的企业需要能够将以上三类门户有机地整合在一起的通用型企业门户,把它们统一称为企业门户。企业门户能够通过超越现有分散的应用环境实现这个目标,把原来不同的内部部门的分割、不同的企业内外的分割,通过系统的集成使其相互关系连接到一起,形成广泛的,相互关联的企业应用环境,形成真正的企业合力。它不但能降低企业的运营成本,通过丰富的企业信息资源吸引新客户,密切老客户的关系,更重要的是缩短企业响应市场时间,使企业在激烈的市场竞争中占据最有利的地位。

二、构建企业门户网站的Web服务

1.企业门户网站与Web服务

随着Web服务的发展,IBM、微软、Sybase、CA、Sun等五大门户厂商推出的门户方案也开始支持XML、简单对象访问协议(SOAP:Simple Object Access Protocol)、WEB服务描述语言(WSDL: Web Services Description Language)、统一描述、发现和集成协议(UDDI:Universal Description, Discovery and Integration)等标准,还有的门户方案中整合了Portlets、PNP等组件。Portlet 是在门户中运行的为门户提供内容的组件,提供对应用程序、基于Web的内容和其它资源的访问。Web页面、Web 服务、应用程序和联合内容提供可通过Portlet来访问。

门户网站是用户访问不同来源的信息和应用程序的焦点。门户网站从本地或远程数据源(例如,从数据库、事务系统、联合内容提供者或远程Web站点)获取信息。它们加工此信息并将其聚集到复合页中,用一种简洁、容易的使用形式为用户提供信息。除了纯粹的信息之外,很多门户网站还包括一些应用程序,如电子邮件、日程、管理器、银行业务、帐单显示等。各种不同的信息和应用程序需要不同的加工和选择机制,但它们都依赖于门户网站的基础结构,并影响门户网站所拥有的数据和资源。几乎目前所有的门户网站实现都提供一种组件模型,它允许将称为 Portlet的组件插入到门户网站基础结构中。

2.用Web服务构建企业门户网站

Web服务技术是一种在Internet环境下松散耦合的Web应用之间进行互相调用和互相集成的技术框架。Web服务体验语言(Web Services Experience Language,WSXL)和Web 服务远程门户(Web Services Remote Portals,WSRP)为当Web服务的组件发生更改时,可以重新配置和调整服务提供了灵活性。WSRP目前是 WSXL 的一部分;WSRP 定义了称为远程Portlet Web服务(Remote Portlet Web services)的特殊WSXL组件。这两个规范都反映了对Web服务的人性化应用程序进行标准化时展开合作的趋势。

为了使将WSRP服务动态集成到门户网站中尽可能简单,我们需要集成一个查找和绑定功能。可以将一个UDDI注册中心当作发布和查找WSRP服务的注册中心。这个 UDDI 注册中心可以是一个局限在公司网络中的专用UDDI,也可以是公用UDDI目录,希望提供或使用WSRP服务的客户机应用程序可以执行(如图1所示操作)。

(1)将Portlet作为WSRP服务发布:Portal管理员使用发布函数将portlet作为 WSRP 服务发布到UDDI注册中心。如门户网站的管理函数可以读取门户网站的portlet 注册中心,并显示所有可用的portlet,portlet管理员就可以选择要发布的portlet 了。

(2)查找和绑定远程Portlet Web服务:查找和绑定管理函数让管理员可以搜索UDDI注册中心来查找WSRP服务、对于一个选定的服务,管理函数可以在portlet注册中心中自动生成一个绑定到该服务的portlet代理。

(3)选择代表WSRP服务的portlet代理:在管理员将portlet代理绑定到WSRP服务之后,用户就可以将portlet代理放在他们的一个个页面上去了。

3.Web Service 构架门户网站整个业务流程

Web Service构架门户网站业务流程(如图2)示例了用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客户代码。

当一个访问远程Portlet页面发生请求时,Portlet使用一个Portlet代理来实现远程Portlet Web Service ,它是通过Remote Portlet Invocation(RPI)协议(如图3),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 引擎的请求。

通过对构建企业门户网站的Web服务技术探讨,给出了Web Service构架门户网站整个业务流程简单阐述。企业门户网站从内外两个角度提供了集成的企业信息平台解决方案。一方面它为企业内部员工提供了信息交换的平台,另一方面成为企业与客户、供应商之间的信息交换、业务推广和服务的平台,使的B2B电子商务发展成为可能。

参考文献

[1]柴晓路.Web服务架构与开放互操作技术[M].北京:清华大学出版社,2002

[2]SamtaniG,Sadhwani.B2BiandWeb:Anintimidating Task.Web Services Architect,2002(1):30~32

[3]企业门户网站/http://www.sytech.com.cn,2003

[4]Websphere Portal Server and Web Services whitepaper, Thomas Thomas Schaeck IBM Software Group,2001

[5]Web Services Conceptual Architecture,Web Services Architetcture Team, IBM Software Group, 2001