一种支持Web信息资源服务化的标记语言及其软件工具杨少华1,2张利永1,2韩燕波11(中国科学院计算技术研究所网格与服务计算研究中心,北京100080)2(中国科学院研究生院,北京100039)(yangshaohua@software.ict.ac.cn)摘要互联网上聚集了大量基于万维网技术的信息资源,随着SOA的流行,如何将信息资源封装成Web服务以便于自动聚合和广泛重用成为倍受关注的问题。文中提出一种Web信息资源服务化标记语言,并基于该语言实现了一个可视化、半自动的服务化工具Web2WS。Web2WS提供友好的操作界面辅助用户定义Web信息资源的访问规则、数据抽取规则,以及到目标Web服务的映射规则,可方便有效地将基于Web的信息资源封装成Web服务。关键词Web服务;资源封装器;Web信息集成;Web资源服务化中图法分类号TP311AMarkupLanguageforGeneratingWebServicesoutofWeb-basedInformationResourcesandSoftwareSupportThereofYangShaohua1,2,ZhangLiyong1,2,HanYanbo11(ResearchCentreforGridandServiceComputing,InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100080)2(GraduateUniversityofChineseAcademyofSciences,Beijing,100039)AbstractThereexistnumerousWeb-basedresourcesontheInternet.Asservice-oreientedconceptsandarchitectureproliferate,moreandmoreattentionispaidonencapsulatingWeb-basedinformationresourcesintoWebServicesforcompositionandreuse.Amarkuplanguageforthiskindofencapsulationisproposedandavisual,semi-automatictoolcalledWeb2WSisimplemented.Itprovidesauser-friendlyinterfacethatallowsuserstodefineaccessrulesanddataextractionrulesoftheweb-baseinformationresourceandspecifymappingsfromtheinformationresourcetothetargetWebService.Web2WScanhelptogenerateWebServicesfromwebsiteseffectivelyandconveniently.KeywordsWebService;Wrapper;WebInformationIntegration;ServiceEncapsulation今天的互联网聚集了大量基于万维网技术的信息资源,如新闻、天气、股票、交通等等。我们通常使用浏览器访问这些信息,而在应用程序中集成这些信息资源并不容易,具体表现在:1)万维网使用HTTP作为客户端与服务器的通讯协议,处理HTTP协议过于复杂;2)信息嵌入在HTML标记的网页中,标签和数据交织在一起,难以分割,而且HTML的格式比较松散,甚至不要求标签的配对,应用程序很难从中抽取数据以及数据的结构关系。以XML、SOAP、WSDL和UDDI等标准规范和协议为核心的Web服务具有良好的封装性、开放性、松散耦合性、平台独立性等优点。如果以Web服务的形式对基于HTTP和HTML的Web信息资源进行封装,应用程序便可方便地集成此类信息服务。同时,以服务作为基本组成元素的服务组合语言(如BPEL等)及相关工具也已成熟,信息资源的服务化也会给应用集成带来极大的方便。本文借鉴数据库领域Web信息抽取和集成方面的工作,提出一种基于XML语法的Web信息服务化标记语言,并基于该语言实现了一个可视化、半自动的服务化工具——Web2WS(WebSitetoWebService)。利用Web2WS,开发者只需简单的操作便可实现如下功能:1)通过浏览网页的方式定义网页数据抽取规则;2)提供可视化界面定义服务规约说明并建立服务操作接口与Web页面元素的映射规则;3)自动生成Web服务代码、相关部署文件以及客户端调用代码,发布与测试服务。本文首先对相关工作进行比较分析;第二节阐述Web信息资源服务化的原理,详细介绍服务化标记语言;第三节介绍服务化工具的设计与实现;第四节进行试验和评价;最后是结论和下一步工作。1.相关工作数据库领域对Web信息抽取和集成研究进行了大量的工作,出现了一些成熟的技术,典型的有封装器(Wrapper)技术等。封装器特指能从Web站点中自动抽取信息并转化为结构化数据的一类程序[1]。许多封装器生成工具通过学习样本网页的结构以及用户的选择生成封装器。文献[2][3]对此类工具进行了较全面的分析和总结,网站[4]中维护了三十多个封装器开发工具的列表,并进行了一些简要的分析和比较,其中许多工具能够抽取HTML网页中的数据并按一定的...