基于虚拟视图的异构数据集成开发环境的设计与实现

基于虚拟视图的异构数据集成开发环境的设计与实现

ID:31854310

大小:3.80 MB

页数:79页

时间:2019-01-21

上传者:U-10915
基于虚拟视图的异构数据集成开发环境的设计与实现_第1页
基于虚拟视图的异构数据集成开发环境的设计与实现_第2页
基于虚拟视图的异构数据集成开发环境的设计与实现_第3页
基于虚拟视图的异构数据集成开发环境的设计与实现_第4页
基于虚拟视图的异构数据集成开发环境的设计与实现_第5页
资源描述:

《基于虚拟视图的异构数据集成开发环境的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

DESIGNANDIMPLEMENTATIONOF HETEROGENEOUSDATAINTEGRATED DEVELOPMENTENVIRONMENTBASEDONTHEVIRTUALVIEWAMasterThesisSubmittedtoUniversityofElectronicScienceandTechnologyofChinaMajor:SoftwareEngineeringAuthor:DaiRuiAdvisor:YuLiSchool:SchoolofAutomation万方数据 独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。作者签名:日期:年月日论文使用授权本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后应遵守此规定)作者签名:导师签名:日期:年月日万方数据 摘要摘要近年来,随着国际贸易的发展以及信息化的不断推进,基于互联网技术的电子商务产业也随之迅猛发展,越来越多的企业介入电子商务平台。如今因企业规模的扩大,企业系统复杂,使得企业在网络结构以及各自平台出现差异,从而使得企业间数据交换标准不统一,出现了“信息孤岛”问题,影响着企业的扩大发展。同时随着XML的出现,以及相关技术的飞速发展,一些跨国企业和标准化组织相继推出了一系列基于XML的电子商务标准,从而如何解决国际贸易电子商务中的的技术难点——电子单证格式转换问题迫在眉睫。针对解决上述问题,本文提出了基于虚拟视图的异构数据集成方案予以解决,从而方便、快捷、有效的实现异构数据间的集成和互操作。从而通过解决这些问题,为国际电子商务贸易信息交互提供了技术支撑,最终解决电子商务中的单证格式转换问题。本文首先介绍了XML方面的相关技术,Eclipse插件开发相关技术以及目前几种主流的基于XML的电子商务标准。其次对异构数据集成互操作平台需求进行分析,介绍了平台整体框架和概要设计,并对系统各个功能模块组件进行了具体介绍,主要包括元数据,异构数据集成引擎,连接器,适配器,统一虚拟视图开发工具以及管理模块。接着通过对统一虚拟视图开发工具进行详细分析和设计,研究统一虚拟视图开发工具与Eclipse平台架构的关系,从而提出可视化操作界面的五大视图部分,并对视图功能,具体设计以及详细类图予以介绍。最后通过对Eclipse插件开发RCP富客户端技术的研究,实现基于虚拟视图的异构数据集成开发环境。论文最后是测试环节,通过UN/EDIFACT电子商务报文格式与XML数据格式之间转换为例,一方面展示异构数据集成开发环境的可视化操作界面,另一方面实现系统功能测试,从而解决国际贸易中的电子单证数据格式转换问题。关键词:电子商务,虚拟视图,数据集成,Eclipse插件I万方数据 ABSTRACTABSTRACTInrecentyears,withthedevelopmentofinternationaltradeandthepromotionofinformationdevelopment,internettechnology-basede-commerceindustryalsowillberapiddevelopment,agrowingnumberofenterprisesinvolvedinE-commerceplatform.Today,duetotheexpansionofbusinessscaleandcomplexityofenterprisesystems,allowingcompaniestothedifferenceinthenetworkstructureaswellastheirrespectiveplatforms,makinginter-enterprisedataexchangestandardsarenotunified,"islandsofinformation"issuesaffectingtheexpansionanddevelopmentoftheenterprise.WiththerapiddevelopmentoftheXML,somemultinationalandstandardizationorganizationshavelaunchedaseriesofXML-basedE-commercestandards,andhowtosolvethetechnicaldifficultiesininternationaltradeE-commerceisimminent.Forsolvingtheaboveproblems,thispaperproposesaprogramberesolvedbasedvirtualviewofheterogeneousdataintegration,whichisconvenient,fast,andeffectiveintegrationandinteroperabilitybetweenheterogeneousdata.TosolvetheseproblemsestablishesagoodtechnicalsupportfortheexchangeoftheinternationalE-commercetradeinformation,andultimatelysolvetheproblemofthedocumentformatconversioninE-commerce.ThispaperfirstintroducestheXMLrelatedtechnologies,theEclipseplug-in developmentrelatedtechnologiesandseveralmainstreamstandardXML-based E-commerce.SecondlythepaperanalyzestheneedsoftheHeterogeneousdata integration,interoperabilityplatform,describestheplatformoverallframeworkand outlinedesignandspecificallydescribesvariousfunctionalmodulesofthesystem components,includingmetadata,heterogeneousdataintegrationengine,connectors, adapters,unifiedvirtualviewofthedevelopmenttools,aswellasmanagementmodule. Followedbydetailedanalysisanddesignofunifiedvirtualviewofthedevelopment toolstostudytherelationshipbetweentheunifiedvirtualviewofthedevelopmenttools withtheEclipseplatformarchitecture,whichputforwardthefive-viewportionofthe visualinterface,anddescribestheviewofthefunction,thespecificdesign,aswellas detailedclassdiagram.Finally,thepaperstudiesthetechnologyoftheEclipseplug-inII万方数据 ABSTRACTdevelopmentRCPrichclientandrealizedtheintegrateddevelopmentenvironmentbasedvirtualviewofheterogeneousdata.Finally,thetestsession,conversionUN/EDIFACTe-commercepacketformatandXMLdataformats,ontheonehand,showsthevisualinterfaceoftheintegrateddevelopmentenvironmentofheterogeneousdata,ontheotherhandcompletesystemfunctionaltesting,tosolvetheconversionproblemsofthedataformatofelectronicdocumentsininternationaltrade.Keywords:E-commerce,virtualview,dataintegration,EclipsePlug-inIII万方数据 目录目录第一章绪论..................................................................................................................11.1研究背景...........................................................................................................11.2研究意义...........................................................................................................21.3国内外研究现状...............................................................................................21.4本文研究内容与组织结构...............................................................................3第二章相关技术介绍....................................................................................................52.1XML技术..........................................................................................................52.1.1XML数据结构定义.................................................................................52.1.2XML文档数据转换技术.........................................................................62.2基于XML的电子商务标准............................................................................72.3ECLIPSE插件开发技术.................................................................................112.3.1Eclipse平台.............................................................................................112.3.2SWT/JFace..............................................................................................122.3.3富客户端RCP技术..............................................................................122.4本章小结.........................................................................................................13第三章异构数据集成互操作平台的框架设计..........................................................143.1异构数据集成互操作平台概要设计.............................................................153.1.1异构数据源连接引擎............................................................................153.1.2数据服务平台........................................................................................153.1.3数据互操作工具集................................................................................163.2系统模块设计.................................................................................................183.2.1元数据....................................................................................................203.2.2异构数据源集成引擎............................................................................223.2.3连接器....................................................................................................233.2.4适配器....................................................................................................243.2.5统一虚拟视图开发工具........................................................................253.2.6管理模块................................................................................................26IV万方数据 目录1.1本章小结.........................................................................................................27第四章统一虚拟视图开发工具的设计实现..............................................................282.1统一虚拟视图开发工具与ECLIPSE平台...................................................282.1.1UVVDK与Eclipse体系架构...............................................................282.1.2Plugin文件.............................................................................................302.2主要工作模块部分.........................................................................................332.3.1View界面视图模块...............................................................................352.3.2Event事件监听模块..............................................................................382.3.3Mapper映射模块...................................................................................392.3.4Model模型模块.....................................................................................392.3具体视图部分实现.........................................................................................403.1项目列表视图........................................................................................413.2结果视图................................................................................................423.3日志视图................................................................................................433.4执行信息视图........................................................................................453.5验证结果视图........................................................................................472.4ECLIPSE发布RCP富客户端........................................................................482.5本章小结.........................................................................................................51第五章系统测试..........................................................................................................523.1.1系统测试环境..................................................................................................523.1.2功能测试.........................................................................................................523.2.1UN/EDIFACT向XML格式转化.........................................................523.2.2XML向UN/EDIFACT格式转化.........................................................603.1.3本章小结.........................................................................................................61第六章总结与展望......................................................................................................626.1总结.................................................................................................................626.2展望.................................................................................................................62致谢..............................................................................................................................64参考文献........................................................................................................................65V万方数据 第一章绪论第一章绪论1.1研究背景目前随着国际贸易的发展以及信息化的不断推进,从而因依赖网络电子信息产业的区域国际贸易平台便逐步成为推动这一发展的重要手段[1]。而当下,国际贸易平台支撑技术采用开放的SOA[2]架构,已经成为一种趋势。但在多主体,多系统间协作交互方面,已有的支撑技术需要解决的难点问题依旧很多。时下,发展迅速的以互联网技术为支撑的电子商务已经逐步成为当前主流产业之一。而基于互联网的电子商务[3]数据传输与交换是电子商务顺利进行的基础。如今因企业规模的扩大,企业系统复杂,使得企业在网络结构以及各自平台出现差异,从而导致企业间数据交换标准不统一,随之出现很多问题。这使得数据操作人员和管理人员要花费大量的时间搜寻数据,重复录入等;同时随着企业的发展,业务量的增加,交互的数据量也显著增加,企业信息数据交互的瓶颈[4]将会降低系统的性能,甚至更严重的导致整个系统的瘫痪,从而产生了从传统工作模式向数字化发展的瓶颈。不仅导致资源的低效使用和高昂的维护成本,也对服务或工作质量、流程和成本产生负面的影响。随着XML[5]的出现,与之相关的技术产业飞速发展,一些跨国企业和标准化组织相继推出了一系列基于XML的电子商务标准[6]。国际贸易区域经贸合作与流通促进平台支撑多个跨区域、跨平台电子商务系统,通过信息集成关键技术研究,支持多种类型、结构和来源的数据进行流动与互操作,使平台具备面向各类电子商务平台、信息化系统和企业异构IT环境变化的应变能力,同时主要解决上述原因造成的企业间信息孤岛问题,从而对元数据标准、数据标准和数据互操作进行规范设定,以方便建立国际贸易区域间数据信息的集成管理,对经贸信息的采集、集成和有序流动起到一个促进作用,也提高了国内企业信息获得和交换能力,从而实现经营模式创新、提升经营效率。针对其数据格式与通信协议上的异质性,研究数据互操作和信息集成的关键技术,确保异构平台上的不同格式的电子商务文档在传输过程中的语义一致性[7]。1万方数据 电子科技大学硕士学位论文1.1研究意义本课题依托于国际贸易区域经贸合作与流通促进关键支撑技术研究课题下的分布式异构数据互操作与信息集成平台研究子项目。主要就是解决基于虚拟视图的异构数据集成开发环境的设计与实现,通过开发可视化操作界面从而解决国际贸易电子商务中的的上述技术难点问题——电子单证格式转换问题[8]。从而通过解决上述技术难题,为国际贸易领域企业间电子商务合作提供良好的技术支撑,最终解决区域性贸易协同服务平台之间的互联互通问题。1.2国内外研究现状近年来,随着电子商务在经济领域的地位不断增强以及产业信息化的不断推进,基于互联网技术的电子商务产业也随之迅猛发展[9]。同时越来越多的企业介入电子商务平台,企业间的贸易往来增多,从而伴随着企业间数据交互的信息量也不断增多。随着数据量的增大,同时伴随而来的数据的存储、处理量也日渐增大。通过共享企业数据,可以更大程度的节约资源和成本,但在实施数据共享过程中,所提供的数据因来自不同的途径,导致内容与数据格式也不尽相同,甚至出现数据格式无法进行相互转换,从而严重阻碍企业间,企业内部等数据的集成与互操作。综上所述,当前数据集成问题对于企业来说迫在眉睫[10]。目前在企业内部往往有多个数据系统或在不同平台同时运行,从而这些数据信息是异构数据。这使得数据无法通过以往的途径在不同的系统之间进行集成和互操作,也就形成了所谓的“信息孤岛”。当前信息产业的迅速发展对企业内部、企业与外部信息交互的需求日益强烈,迫切需要对信息进行集成,从而解决“信息孤岛”这一难题。多年以来,许多专家学者一直研究探讨着如何对异构环境数据源进行数据集成[11]。无论是文件数据库还是网络数据库等,因不同时期,不同公司通过不同的数据在不同的平台上开发,最后运行在不同的操作系统和不同的数据库平台上,导致系统彼此封闭,数据无法交换共享,形成冗余数据、垃圾数据,从而使得数据无法一致性。而企业应用系统则需要访问各种异构数据源,需要将内部数据进行发布和交换。数据集成是指对异构数据提供统一的表示、存储和管理,以实现逻辑或物理上的有机地集中。其特点在于通过统一的描述方式来对各数据中的信2万方数据 第一章绪论息进行描述,同时统一描述有利于屏蔽企业间数据源的异构性,从而根本解决异构数据集成问题。数据集成的主要特点在于数据源异地分布,集成系统不影响各局部的引用系统,局部数据源保持着独立性,同时被集成数据源的运行环境、数据模型和数据语义存在异构性[12]。针对上述研究,以下介绍几种国内外主流的数据集成数据库系统:1)Kettle是一个基于元数据驱动的用于数据提取、数据转换和数据加载的数据集成管理系统,数据抽取高效稳定。其内部有transformation和job这两种脚本文件,前者用于转换数据信息,后者则负责控制系统的整个工作流[13]。2)Lore(LightweightObjectRepository)是斯坦福大学正在开发的半结构化数据的数据库管理系统。其中包含一个重要组成部分DataGuide,DataGuide是Lore非常重要的用户界面,用户依赖DataGuide学习有关数据库的结构,同时可以使用户指定有意义的查询,用户也可指定直接从DataGuide提交查询[14]。3)Smooks[15]一个基于事件流的数据转换引擎。该引擎针对半结构化数据,通过结构化数据事件流处理器对输入数据流进行处理与转换。Smooks主要用于处理XML与non-XML格式(包括CSV、EDI、Java)之间的转换。4)国内的有Versatile和Panorama分别是由东南大学和华中科技大学开发的基于CORBA[16]和XML的可扩展的异构数据源集成系统。由于这两种模型系统都是基于XML的异构数据集成阶段开发的,因而实现了跨平台的数据集成。1.1本文研究内容与组织结构本论文依托于国际贸易区域经贸合作与流通促进关键支撑技术研究课题下的分布式异构数据互操作与信息集成平台研究子项目,旨在研究电子贸易领域单证转换问题,章节主要内容安排如下:第一章绪论。先是讨论了本论文的课题背景和意义,接着对国内外研究现状做出分析,再者基于上述两部分研究,对论文框架组织架构和研究内容进行介绍。第二章相关技术介绍。这部分主要介绍的是关于论文中涉及到的相关技术。首先介绍有关XML方面的知识,然后针对目前国际贸易中较常见的几种主流电子商务标准进行的简单分析介绍如EDI、ebXML等,最后通过从Eclipse平台,SWT/JFace和富客户端(RCP)三个方面介绍了Eclipse插件体系结构。第三章异构数据集成互操作平台的框架设计。通过对异构数据集成互操作平3万方数据 电子科技大学硕士学位论文台需求进行分析,主要介绍了平台整体框架和概要设计,并对系统框架以及其各个模块功能组件进行了具体介绍。第四章统一虚拟视图开发工具的设计实现。本章节是对统一虚拟视图开发工具进行详细分析和设计,显示讨论统一虚拟视图开发工具与Eclipse平台架构的关系,接着提出可视化操作界面的五大视图部分,并对视图功能,具体设计以及详细类图予以介绍。最后通过针对Eclipse插件开发RCP富客户端技术的研究,实现异构数据集成开发环境的生成。第五章系统测试。这部分通过测试环节,一方面展示异构数据集成开发环境的可视化操作界面,以及具体的五大视图。同时对其进行功能测试,以UN/EDIFACT电子商务报文格式与XML数据格式之间转换为例,实现系统的功能即完成国际贸易中的电子单证数据格式转换问题。第六章总结和展望。最后一章节主要对本论文中所做的工作进行总结,并对未来后续工作重点提出展望。4万方数据 第二章相关技术介绍第二章相关技术介绍1.1XML技术当前,互联网产业正迅猛发展,而基于其上的电子商务产业也随之迅速发展。而通过互联网技术实现企业间的信息交换是企业进行电子商务的一种重要手段,但如何实现不同企业,不同系统,不同平台等之间的无歧义性的信息识别和处理,一直是困扰电子商务发展的难点。由于各种信息系统在不同时期采用不同技术以及运用框架建设,使得各个系统之间的整合成为一个几乎无法逾越的障碍[17]。目前信息化运用已经由建设一个单一业务运用系统向多系统融合的阶段发展。信息的无障碍整合和业务数据跨平台提取成为了信息运用的关键。因此,基于这样的一个背景,1996年,万维网协会(W3C)开始设计一种可扩展的标记语言,使其能够将SGML[18]的灵活性和功能强大的HTML结合起来。通过不断努力,1998年2月,W3C正式发布XML1.0标准版。XML是一种允许用户自我定义描述方式的数据结构,它不仅可以用于定义数据以及数据结构,同时它可以通过自定义方式突出对数据以及结构的描述更能直观的反映数据间以及数据与结构间的关系。正像SGML一样,XML也是一种置标语言,它通过在数据中加入附加信息的方式来描述结构化数据[19],并只通过结构而不是表现形式约束数据,从而使数据内容和显示分开,有利于信息的表达和结构化组织,使数据搜索更加有效,也使得数据的表现可以多样化。XML又要比HTML强大的多,它不像HTML那样,只是提供一组事先已经定好的标记,而是通过定义可嵌套的结构以及信息标记来描述文档中的信息[20]。即XML是一个直元置标语言,允许程序开发人员根据它所提供的规则,制定各种各样的置标语言。2.1XML数据结构定义在XML文件中,用户大都是自定义标记,但假想,如果有两家同行业的公司需要用XML文件进行数据交换,由于是自定义标记,就会导致两家公司在描述同一个数据信息时使用的是不同的自定义标记,从而导致一方的数据信息在另一方无法读出,进而产生错误,阻碍信息交换。显然,对于想利用XML文件来交换信息的实体而言,他们必须有一个约定——即编写的XML文件可以用哪些标记,元5万方数据 电子科技大学硕士学位论文素中能够包含哪些子元素,各个元素出现顺序以及元素属性如何定义等[21]。XML文档数据的类型和有效性定义可以保证XML文档数据的正确性和完整性。在现行的XML技术规范中,需要一种机制来指定应该如何构造描述同一事物的文档,或者说是一种检验编写文档是否符合要求的机制,DTD和XMLSchema就提供了这样的机制。DTD和XMLSchema规定了在XML文档中能够使用的元素和属性,以及这些对象与文本内容可能组合的形式。目前流行的XMLSchema2.0提供的丰富的数据类型,足以满足XML的各类应用。1)DTDDTD[22](DocumentTypeDefinition,文档类型定义),使用先定义根元素,然后分别定义XML元素中的各级子元素以及元素的属性,同时还提供有限的元素类型来辅助定义其元素和属性。2)XMLSchemaXMLSchema包含了三个模块:结构、数据类型和初级读物(Primer)。结构描述了XML文档的结构和内容模型的约束、规则来操纵文档元素的有效性。数据类型为确定XML的元素和属性的数据类型提供了40多种,允许XML软件在操作数据、数字、时间、串等信息时表现的更好。初级读物是为了读者方便理解XMLSchema而写的一个非标准文档,使用了大量的例子来描述XMLSchema1.0[23]。综上所述Schema的特点如下:首先,Schema定义XML结构是通过XML本身允许用户自我定义描述方式的数据结构的特点,根据XML规则,将XML的定义变的简单快捷。其次,Schema和DTD相比,提供了数据类型等,使Schema相对DTD扩展性方面进行了提升。再者,Schema的结构模块,可以描述XML文档的结构和内容模型的约束和规则,同时可验证XML文档的有效性,此外Schema之间也可进行相互转换。第四,基于XML的XMLSchema拥有完整的机制来约束对XML元素的标记,在规范性方面比DTD更好。3)XML文档的有效性验证SOM(SchemaObjectModel)对XMLSchema进行技术验证,该对象对XMLSchema文档进行加载、分析和检验,以确定XML元素定义的有效性。1.1XML文档数据转换技术1)DOMDOM(DocumentObjectModel)即文档对象模型,它是由W3C制定的一套跨6万方数据 第二章相关技术介绍平台的、与语言无关的标准接口规范。DOM对XML文档的访问主要以结点访问为基础,从XML数据树形结构的根结点开始,每一个下层元素都作为结点处理。通过对结点的处理,可以实现数据检索、增加和删除等操作,从而实现了对XML文档数据的管理。这样,DOM在处理时需要一次性完成的读入XML文档,而获得XML文档的整个树形结构[24]。2)SAXSAX(SimpleAPIforXML,简单应用程序接口)是XML的一种解析方式。相比于DOM,SAX是对XML文档进行逐行扫描并解析,速度更快的,更有效的读写数据。SAX解析XML文档是通过SAX分析器,因而可以随时停止,同时也可激活相应的事件处理函数。应用程序是无法直接实现对XML文档进行访问,而是先通过SAX接口,启用SAX的XML分析器对XML文档进行分析这种方式来间接处理的[25]。如图2-1所示DOM和SAX在应用程序开发过程中的作用。DOM接口XML应用程序XML分析器XML文档SAX接口图2-1DOM和SAX在应用程序开发过程中的作用从图2-1可以看出,用户通过计算机的应用程序无法直接访问XML文档,而是通过XML应用程序中的SAX或DOM接口操作XML分析器中分析的XML文档,从而实现对XML文档的操作。如上所述,XML中DOM和SAX这2个接口可以同时存在并工作的,只是在解析XML文档时的方式不同,前者对文档的访问主要以结点为主,后者访问文档的方式是逐行扫描解析,二者的不同则是分别满足了相对应的的操作需求。1.1基于XML的电子商务标准电子商务起源于20世纪70年代,但真正的发展却是最近几十年。最早的电子商务是EDI,由于EDI的复杂性,加之因特网的迅速发展,XML在电子商务中7万方数据 电子科技大学硕士学位论文获得越来越广泛的应用。目前全球范围的经济领域中,基于XML的电子商务标准大致可以分为以下三类:1.标准涉及电子商务的体系结构,如基于XML的电子商务中XMLSchema[26]和XML消息体系;2.标准涉及电子商务中具体功能,如具体的贸易供应链中所涉及的的数据交换标准;3.标准涉及相关行业,如具体的某个和某一类行业在电子商务活动中的数据交换标准。而这三类标准范围内,目前国际上主要通用的电子商务标准有[27]:1)OASIS组织及电子商务标准OASIS(OrganizationfortheAdvancementofStructuredInformationStandards)是结构化信息标准推广组织的简称。它是一个非盈利的组织,拥有以XML形式描述的工业和商业词表的参考库。目前,OASIS已经开始为电子商务管理XML消息模式和DTD。OASIS还在与UN/CEFACT进行国际合作,为电子商务XML词汇开发出一个一致的架构。2)RosettaNet协会及电子商务标准RosettaNet协会下的电子商务标准采用分层的方法来开发电子商务的XML词汇,主要分三个层次:词汇:RosettaNet负责编写两个词典,一个用于描述产品特性;另一个提供描述目标伙伴和交易的特性。架构:由描述电子商务协议的XMLDTD组成。伙伴接口进程(PIP):PIP被视为为两个业务伙伴间的对话,一个PIP包含一个XML文档集合以及一个用于描述伙伴间如何交换的业务模型。3)CommerceNet协会及电子商务标准CommerceNet是由银行、通讯公司、ISP、软件和服务公司组成的一个协会,其目的就是促进B2B电子商务的发展。其最大的成就就是ECO框架(EMC/Cisco/Oracle框架)。该框架寻求基于XML的通用B2B电子商务标准。4)OBI组织OBI(OpenBuyingontheInternet)是因特网上的开放商行的简称,是受CommerceNet管理的自主协作者,该组织的目标是制定B2B电子商务的开放标准。8万方数据 第二章相关技术介绍5)BizTalkBizTalk是由微软公司退出的一个基于XML的数据集成和电子商务平台。6)Cxml电子商务标准Cxml是由电子获取销售商AribaTechnologies发起制订的电子商务标准。7)ebXML规范ebXML规范是由联合国欧洲经济委员会和OASIS组织发起的,它旨在将全球电子商务贸易范围形成一个统一的XML规范。ebXML为面向使用XML的企业间电子商务的信息交换框架。其目标是可以在通用的界面上使用通过因特网提供的各种服务,规定商务过程、对象和规则的存储方法等。ebXML注册标准将提供旨在使交易双方共享信息的服务,实现检索和进行交易。共享的信息包括企业信息以及业界固有信息规则和术语等。图2-2使用ebXML贸易流程使用ebXML系统很简单,如图2-2所示ebXML贸易流程它包含以下步骤[28]:(1)搜索贸易伙伴。贸易方A发送商务请求到注册中心,搜索贸易伙伴合作方A的协作协议概要文件(CPP)注册中心中存放有贸易伙伴的信息和业务过程规范。注册中心以CPP的形式保存贸易伙伴信息。CPP是一种XML文档,它使用特定词汇表来标识公司愿意且能够参与的业务过程、公司可以扮演的角色以及有关公司能力的技术信息。(2)创建协作协议协定(CPA)并协商任何关于CPA的问题,找到合作伙伴后,接着配置两个系统一起工作以完成适当的事务。可以简便的通过使用CPA来9万方数据 电子科技大学硕士学位论文完成这一任务。CPA是由每个贸易伙伴的CPP组成的,它指定发生什么协作以及具体细节。这些细节包括有关技术问题的信息,或者他们可能包括的需求。(3)通过使用CPA配置两个业务系统贸易服务接口。一旦公司生成并同意了CPA,就可以使用单一文档在贸易双方配置应用程序或者贸易服务接口。用这种方法,两个贸易伙伴使用相同的信息工作,不会混淆谁应当做什么。(4)双方开始执行业务过程。8)与EDI有关电子商务标准EDI(ElectronicDataInterchange)电子数据交换是一种在公司之间传输订单和发票等商业文件的电子化手段。国际标准化组织(ISO)将EDI描述为“通过计算机传输信息的方式将贸易或事务处理根据一个已有的规定形成的与已知标准相匹配的格式数据,从一方传输给另一方”。由于EDI是国际范围的计算机和计算机之间的通信,所以EDI的核心是建立被处理业务的数据格式的国际统一标准。当前,国际电子商务贸易体系有着两大标准:分别是著名的UN/EDIFACT和ANSIX.12标准。前者是联合国欧洲经济委员会为国际电子商务活动所制订的流行于大部分国家,后者是由美国国家标准化委员会为北美等国家电子商务活动制订的。EDI报文标准应该遵循以下两条基本原则:(1)提供一种发送数据及接收数据的各方都可以使用的语言,且该语言所使用的语句是无二义性的;(2)标准不受计算机软硬件系统和通信系统的影响,它既适合于计算机系统间的数据交流,又独立于计算机系统之外。EDI标准的三要素:(1)数据元贸易数据元是电子单证最基本的单位。制订EDI标准首先就是要定义标准所涉及的贸易数据元,对其名称、适用范围、数据类型和长度做出详细规定,贸易数据元是制订EDI标准的基础,它决定标准的适用范围。(2)数据段数据段是功能相关的数据元值的预定义和标识的集合。这些数据元的值用其在该集合中的顺序位置标识。段以段标识开始,以段终止符结束。数据段主要有用户数据段和控制数据段两种。(3)标准报文格式标准报文是由按照EDI标准句法规则写成的一个反映商贸单位的电子邮件。报文内容由数据段构成,一个数据段又由若干个数据元构成,标准报文格式指出10万方数据 第二章相关技术介绍了要传递的标准单证格式,一般包含报文控制部分和报文内容部分两个部分。1.1Eclipse插件开发技术2.1Eclipse平台Eclipse是一个开放源代码的、基于Java的可扩展开发平台。作为Java集成开发环境(IDE),Eclipse它同时也还是一个应用程序框架和服务,用户可以通过它开发插件构建开发环境,把Eclipse打造成各种应用程序。图2-3Eclipse插件体系结构Eclipse平台是围绕插件概念构建的。插件是向系统提供功能的代码和数据的结构化Bundle。功能可能通过以下形式提供:代码库、平台扩展,甚至是文档。插件可定义扩展点,即通过严格定义其他插件可以在其中添加功能的位置[29]。如图2-3所示Eclipse插件体系结构用来说明插件和Eclipse平台的关系。EclipseSDK包括基本平台及对插件开发特别有用的两个主要工具,Java开发工具(JDT)和插件开发者环境(PDE)。Java开发工具实现功能完整的Java开发11万方数据 电子科技大学硕士学位论文环境,插件开发者环境添加了专门的工具以使插件和扩展的开发能够顺利进行。1.1SWT/JFace1)SWTSWT(StandardWidgetToolkit,标准图形工具箱)是一种用Java开发GUI程序的技术。与出自Sun公司的AWT抽象图形工具箱和Swing不同,SWT是Eclipse开发人员自行建造,在界面美观和性能上都远远超越了AWT和Swing,因而整个Eclipse平台的图形界面全部都是基于SWT技术开发。SWT技术是吸取了AWT/Swing的优点,综合而成的一种技术。SWT有着自己的控件集合,并针对某个目标平台进行判断,目标平台上有的控件,SWT会直接使用,以打到较快的处理速度和本地化的显示效果,目标平台上没有控件,SWT则会采用Swing方法进行绘制[30]。2)JFaceJFace是一套基于SWT的工具箱。它将一些常用的界面操作包装起来,对界面设计进行了更高层次的抽象,使得开发人员可以抽出更多精力关注程序的业务逻辑,而不是不断编写重复的界面控制代码。JFace[31]雏形是在Eclipse人员编写IDE的图形界面时,为方便而针对一些常用的图形界面开发模式(如对话框等)开发出来的一系列组件。但JFace不能完全替代SWT,它只是包含了少数几个最常用的模式,通常工作方式是使用SWT完成大部分工作,并在适当的时候使用JFace。可见JFace设计目的是和SWT协同工作,开发者完全可以在程序中同时使用JFace和SWT。1.2富客户端RCP技术富客户端RCP(RichClientPlatform)[32]是时下较流行的一种基于Eclipse平台的体系架构。它通过提供丰富的本地用户界面和高速的本地处理可以实现对特定的领域提供高品质的终端用户体验。IBM公司基于RCP更新了Lotus产品套件;美国宇航局开始使用RCP来管理和建模并分析空间任务;RCP在各个领域都显示出前所未有的应用。Eclipse的富客户端平台RCP基于插件技术体系,为开发者提供了许多强大和方便的功能。EclipseRCP由如下体系结构组成:1)Equinox和平台运行库。其中Eclipse的运行模块负责创建安装插件的注册12万方数据 第二章相关技术介绍表信息,以方便检查所需插件是否存在,同时负责管理插件间的扩展管理,以减少时间并合理分配资源。而Equinox负责管理插件的载入,卸载等内容,和平台运行库一起管理整个插件结构体系。2)UIWorkbench。这部分主要是为Eclipse提供用户界面。它由SWT和更高级的API,以及基于其上的Eclipse界面共同构建的。对用户而言,Workbench是由按照特殊布局排列的视图和编辑器组成。它提供了基于共享的UI扩展性并定义了一个强大的用户界面范式,有窗口、透视图、视图、编辑器和动作集等。Workbench就像一个窗口集,在每个窗口内,Workbench允许用户像组织桌面那样组织工作,把类似的文件放在同一个文件夹内,并将它们在桌子上堆成堆。同时,它可以使用扩展来创建一个用户界面。3)自动升级、帮助系统等。升级和帮助等系统模块与Eclipse相同,具有可扩展能力,为富客户端程序添加丰富的功能。其与插件向Eclipse增加功能是相同的,均属于辅助模块。1.1本章小结本章节主要针对论文中的关键技术进行介绍。2.1节分别从XML数据结构定义和XML文档数据转换2个部分主要阐述了XML技术。2.2节针对本论文最终实现的电子单证转换平台来主要介绍了基于XML的主流电子商务标准。2.3节针对本论文涉及的Eclipse插件开发技术分别从Eclipse平台,SWT/JFace和富客户端(RCP)技术三个方面予以介绍。13万方数据 电子科技大学硕士学位论文第三章异构数据集成互操作平台的框架设计国际贸易区域经贸合作与流通促进平台支撑多个跨区域、跨平台电子商务系统,通过信息集成关键技术研究,要支持多种类型、结构和来源的数据进行流动与互操作,使平台具备面向各类电子商务平台、信息化系统和企业异构IT环境变化的应变能力,重点解决历史原因造就的数据孤岛和局部滋生的数据信息。通过对元数据信息、数据结构以及数据信息操作的规范设定,形成一个国际贸易区域中企业间的信息集成规范,促进经贸信息的采集、集成和有序流动,提高国内企业信息获得和交换能力,从而实现经营模式创新、提升经营效率。针对其数据格式与通信协议上的异质性,研究数据互操作和信息集成的关键技术,确保异构平台上的不同格式的电子商务文档在传输过程中的语义一致性。本论文是依托于国际贸易区域经贸合作与流通促进关键支撑技术研究课题下的分布式异构数据互操作与信息集成平台研究子项目。针对国际贸易领域中企业间需要对数据进行无缝集成的现状,提出构建基于虚拟视图的异构数据集成互操作平台,通过对企业间异构数据的集成、互操作以及翻译数据语义等相关技术的研究,开发搭建支持异构数据互操作以及数据集成的平台。图3-1所示异构数据集成互操作平台研究框架图。图3-1异构数据集成互操作平台研究框架图14万方数据 第三章异构数据集成互操作平台的框架设计1.1异构数据集成互操作平台概要设计通过针对异构数据集成互操作平台的需求以及设计框架进行研究,将异构数据集成互操作平台分为三大部分。分别是异构数据源连接引擎,数据服务平台和数据互操作工具集,以下将分别叙述。2.1异构数据源连接引擎针对国际贸易领域内数据格式与通信协议上的异质性,研究异构数据源信息集成和数据互操作的关键技术,通过数据适配,数据转换,数据包装等服务,形成分布式数据源连接引擎,确保异构平台上的不同格式的电子商务文档在传输过程中的语义一致性。在元数据管理方面,依据适配器获取元数据,集中维护多个元数据,并以图形化的方法表现元数据,从而支持对数据模式的集成。在对数据信息的可靠性方面,通过研究静态数据质量控制和动态数据质量控制。静态数据质量控制实现在集成前对数据质量的审查,动态数据质量控制是在集成过程中检查数据质量,主要依据业务规则来设定“模式集成完整性约束”,控制集成中的灌入数据质量。同时研究基于XML的业务数据互操作规范,电子商务文档是通过公共元素的引用定义,提供行业间的互操作性和商务性能。通过公共元素,企业能够将一个行业的数据同另一个行业中相似的数据对应起来。针对不同电子商务标准和模板,提供集成互操作方案。基于业务数据互操作规范,将源电子商务标准和模板转换为共享文档消息结构的公共模式,或将公共模式转换为目标电子商务标准和模板,实现数据集成与共享的支持。2.2数据服务平台数据服务是作为面向服务的体系结构SOA在数据集成领域的应用提出的概念。在异构信息集成平台中,数据服务层为上层应用提供统一的数据视图,遵照SOA架构,顺应服务作为未来主要的交互方式的发展趋势,以数据为核心,建立数据服务。数据服务是避开直接业务流程,将多种数据包装为服务,对外提供数据服务,同时能够处理以数据为核心的外部服务。在数据转换方法和策略的支持下,完成多种数据格式对XML的双向转换,研发的SOAPExpress和XMLParser的支持形成对SOAP和XML的支持,遵照WSDL形成图形化的服务语义开发过15万方数据 电子科技大学硕士学位论文程,基于统一流程建立数据服务复合。1.1数据互操作工具集数据互操作工具集需研究与实现电子商务文档转换通用工具、全局与局部本体维护工具、国际贸易文档词汇库与通用文档框架管理工具。(1)电子商务文档通用转换工具电子商务文档通用转换工具包括文档类型转换映射配置与远程转换Web服务两部分核心组件。文档类型转换映射配置组件用于系统管理员、上层电子商务单证转换开发者、平台应用开发者预定义系统所需转换的各种文档类型之间的转换规则,这些规则利用本体映射或公共文档框架等关键技术成果,实现异构文档的语法异质性和语义异质性协调。远程转换Web服务利用预定义的转换规则,通过暴露Web服务接口,供上层应用组件在业务流程需要进行电子商务文档转换的环节进行调用实现转换。系统首先解析互操作双方传入的数据文档,提取其中的数据模式,根据参照已生成的数据映射规则集合,进行数据的转换。电子商务文档通用转换Web服务的工作流程如图3-2所示。由图可知,数据源A中将需要提交的数据信息筛选出来,然后进入过滤环节进行数据格式化。完成上述流程后,向Web服务器端发送连接请求,若连接失败则流程结束,若成功,则进一步把数据转化为XML文档,同时使用SOAP协议将其封装并传输出去发送给服务器端。服务器端通过Web服务接收XML文档并进行身份验证,主要负责验证数据交换中发送方和接收方的身份,若验证失败,则会将有关信息发送给各方,并将流程结束,若身份验证成功则将进入数据验证环节,通过使用Schema来验证接收到的XML文档是否正确,确定正确后,分支流程返回确认信息,并将相关消息返回给发送方,至此分支流程结束。正确的XML文档文件会根据已经定好的Mapper映射规则进行映射,并将XML进行解析和转换,之后再通过SOAP进行封装并与Web服务建立连接,连接成功后进入发送流程,接收环节会同样进行一次身份验证,验证发送接收双方的身份资格,成功后将映射转换后的XML文档进行Schema验证其正确性,正确后将XML文档进行解析转换获得新的整理的数据,至此,电子商务文档通用转换服务工作流程结束。16万方数据 第三章异构数据集成互操作平台的框架设计数据源A需要提交的数据A过滤并格式化要传送的数据返回确认信息根据Mapper进行映射向Web服务器发送连接请求将相关消息通知发送方XML的解析和转换结束SOAP封装进行连接失败结束成功与Web服务建立连接把数据转化为XML 文档并用SOAP封装结束失败进行连接传输SOAP消息成功(服务器端)Web服务接收传入的XML文档认证数据交换发送方和接收发送SOAP消息方的身份接收SOAP消息认证数据交换发送方和接收方的身份失败身份认证将相关信息通各发送方成功验证用该Scherma检查接收到的XML是否正确失败身份认证成功用该Scherma检查接收到的XML是否正确将相关信息通各发送方验证结束AXML解析转换结束数据数理结束图3-2服务流程图(2)全局与局部本体维护工具全局与局部本体维护工具在引入复杂语义异质性协调功能时,用于维护各局部数据源相对于局部的本地领域本体及信息集成平台相对于国际贸易领域全局的17万方数据 电子科技大学硕士学位论文领域本体,维护系统设计到的各种实体概念及实体间相互关系。(3)国际贸易文档词汇库与通用文档框架管理工具国际贸易文档词汇库与通用文档框架管理工具用于转换过程中不依赖严格本体计算环境进行复杂语义异质性协调的环境,主要针对各数据源在结构、命名异质等方面的语法异质性及较单纯语义异质性协调,提供转换工具创建和管理相关映射规则所需的公共词汇及文档格式框架等。1.1系统模块设计作为面向服务的集成解决方案,通过设计一个基于XML的抽象层,它隔离了用户应用程序对异构数据源的直接访问。抽象层主要由外部视图、适配器、连接器三部分组成。抽象层提供外部视图作为用户应用程序对异构数据源的访问接口。当客户端通过应用程序向系统提交查询业务后,再由适配器将该查询解析成对信息数据源的查询,然后连接器对分别对不同的数据源进行查询操作,接着将各个数据源返回的查询结果执行处理,最后系统再由视图部分将结果返回给客户端。统一虚拟视图开发工具部分则是基于Eclipse开发的用于将设计转换数据规则以及数据流规则部分以可视化操作界面的形式集成于系统中。视图开发工具将数据的XML视图予以展示,并同时通过可视化的操作平台将XML部署在已选择的服务器中。图3-3所示异构数据集成互操作平台架构图。应用程序ApplicationInterface提供与server的连接,主要支持HTTP,SOAP等方式ServerXML抽象层运行时,主要提供:数据的XML视图将XML视图部署在服务器中统一视图开发工具设计转换数据转换规则及数据流规则Adapter主要提供与数据源的连接各类数据源,包括文本,数据库以及应用程序图3-3异构数据集成互操作平台架构图18万方数据 第三章异构数据集成互操作平台的框架设计通过以上对异构数据集成互操作平台概要设计的研究,通过对平台系统功能研究划分,将三大部分分为6个主要模块:(1)Metadata(元数据)(2)HDIE(异构数据源集成引擎)(3)Connectors(连接器)(4)Adapters(适配器)(5)UVVDK(统一虚拟视图开发工具)(6)Management(管理模块)应用程序UVVDK连接器异构数据源集成引擎适配器数据源系统图3-4异构数据集成互操作平台系统模块图图3-4所示异构数据集成互操作平台系统模块图,系统各模块之间的典型交互模式如下:1、在客户端的应用开发人员想要使用到数据服务,就需要访问到不同应用系统里的各种格式商业数据源,可以利用统一虚拟视图开发工具创建出一个基于XML格式的虚拟视图。这个视图存储为一个或多个元数据文件,并且部署到异构数据源集成引擎里作为一个服务,这个服务可以被已经授权的客户应用程序或是客户进程所调用。19万方数据 电子科技大学硕士学位论文2、在实时运行时,客户端应用程序通过连接器中融合的HTTP、SOAP、JMS、JavaAPI等数据通信传输技术,使用其中一个连接器组件连接到异构数据源集成引擎,这个连接器调用之前部署在异构数据源集成引擎里的服务,传递有关的参数数据。3、异构数据源集成引擎开始检索与请求的虚拟视图相关联的元数据文件,检索到之后会调用执行此元数据文件,同时应用相关参数值执行参数替换等脚本指令。4、在异构数据源集成引擎执行脚本指令的过程中,引擎还会通过适配器访问相关的后端数据源,读取或写入数据。5、在异构数据源集成引擎完成所有脚本指令的执行后,最后通过连接器将结果返回给发出请求的应用程序。以下将介绍各个模块的主要功能。1.1元数据元数据(MetaData)就是描述数据的数据,主要是用于描述数据属性,用来支持如查询存储位置、历史资料,文件记录等功能。元数据是一种电子式目录,为了达到编制目录的目的,必须在描述并收集数据的内容或特点,进而达到协助数据检索的目的。有关XML视图的信息储存在基于一系列元数据文件中,这些元数据文件也是基于XML格式的文件,这些元数据文件分别组织在异构数据集成文档(HDDocuments)、异构数据集成组件(HDComponents)和异构数据集成驱动(HDDriver)三个层此文件中。所有这些元数据文件被称为统称为“HDView文件”。图3-5元数据文件20万方数据 第三章异构数据集成互操作平台的框架设计表3-1元数据文件的定义元数据文件详细描述XML视图(XMLView)初始元数据文件表示的视图。这个文件定义了XML的格式,并引用数据集用于读写数据源。数据集(DataSet)单数据集指的是来自一个数据源的集合。每个数据集文件包括请求到后端数据源(例如,一个SELECT语句)和从原始数据或XML转化而成的指令。驱动(Driver)该文件包含连接信息,指定如何连接到后端数据源。例如,对于关系数据源,这个文件包含连接字符串。有些数据集不使用驱动程序,而不是直接将请求发送到数据源。例如,基于HTTP的数据集直接检索调用一个HTTPGET。图3-5显示了XML视图的元数据文件的关系。表3-1定义了每种类型的元数据文件。HDDocuments:这个文件是代表视图的主要元数据文件,里面定义了XML格式,并引用了相关的数据集用来读取或是写入数据源。每一个HDDocument文件代表着服务的起点入口,是由一个指令集和代表了业务数据的XML视图的配置项组成的,配置项里的参数值可以在运行时,作为条件用来请求所需要的数据。通过这种方式,参数作用就是作为一个过滤器,来确保只有特定的数据集被返回。这个文件的主要目的就是动态初始化生成HDComponents的数据集,执行返回的数据集,比如将结果传递给另一个进程或分流到另外一个目标。一个常见的例子是从一个业务数据源产生一个数据集合,引用参数生成的元素,然后把这个元素作为输入传递到另外一个单独的HDComponent中。HDCompoments:代表着一个逻辑数据集,每个HDComponent文件包括了一个对于后端数据源的请求(例如,一个请求查看数据库的SELECT语句),和如何翻译原始数据的格式化指令。这个文件被用来从从数据源中返回数据,或者是在数据源中更新或是插入数据。利用定义的条件过滤和转换过程将预期的数据传回给发起请求的HDDocument或者是父类HDComponent文件。每一个HDComponent文件可以被多个HDDocument或者其他的HDCompnent所使用。文件可以嵌套,这样就可以使得HDcompnent迭代的访问多个数据库。比如可以创建一个HDComponent来收21万方数据 电子科技大学硕士学位论文集客户信息,另外一个用来收集订单信息,然后将信息综合生成数据展现出来。HDDriver:该文件包含了相关的连接信息,并且指定如何连接到后端数据源。例如对于关系数据源,该文件就包含连接字符串等信息。1.1异构数据源集成引擎异构数据源集成引擎(HDIE)是整个系统平台的实时运行组件。它负责响应客户的请求,通过加载相应的异构数据集成视图(HDView)文件、执行参数替换、执行脚本解释器来处理元数据应用方面的服务。异构数据源集成引擎作为整个大平台的功能核心,是一个用于信息集成的服务器,用于处理和接受来自客户端、服务端的不同的XML视图,以降低因访问企业数据信息而导致的应用程序的压力。异构数据集成引擎作为系统的一个部分,具有的可扩展、多线程、集群性、稳健等特点,它所负责处理的是对元数据文件进行下达命令并予以实施。系统通过异构数据集成引擎将客户端发来的请求与元数据文件进行关联,然后将元数据文件送入连接引擎进行解析处理,并最终系统将处理的结果通过引擎返回给所请求的客户端应用程序当中,从而担当了一个服务器的功能。图3-6是异构数据集成引擎架构图,表3-2是对各部分进行介绍。调试接口请求管理事务协调安全管理通道管理脚本解析器初始化管理Alias模块日志管理图3-6异构数据源集成引擎架构图22万方数据 第三章异构数据集成互操作平台的框架设计表3-2异构数据集成引擎模块介绍集成引擎模块部分详细描述脚本解析器脚本解释器执行一个HDView文件。它管理运行时状态和每个HDView文件的上下文环境,执行参数替换,调用各指令和指令相关的文件,处理错误,通过“流”模式处理大量的数据集,并管理用户定义的变量。资源管理管理引擎访问的相关资源,这些资源包括了HDView文件,某些配置文件和其他数据文件,以及在HDView文件处理过程中需要用到的其他相关文件。请求管理管理者发出执行HDView文件的请求。调试接口提供一个调试的接口,一次一个工作单元的逐步检查HDView元数据文件的会话状态。事务协调器提供一个主要的事务协调器,用来管理在一个HDView文件内部的多个其他相关的事务管理器。安全管理担负安全管理职责和执行安全,确保发起请求的应用程序只能访问被授权的资源。通道管理管理渠道,负责协调物理数据源的连接,比如和数据库的连接、文件的连接、HTTP连接等。初始化管理管理者系统的顺序初始化工作,初始化一般要指定一个模式,用来选择一组配置文件(如Spring应用程序上下文文件)。Alias模块HDView文件和其他资源都有一个全称名字,通常指定的是一个文件的绝对路径名称,类似于Java包和类名的文件命名。全称名可以被分配一个简单的别名,由Alias模块来完成这个功能。日志管理组件允许配置和管理日志,使用Java记录。1.1连接器连接器(Connector)是用来处理客户请求,它为客户端到引擎之间建立连接提供四种传输协议,并根据用户请求调用相应的HDView文件。Connector主要实现校验和分析客户端请求,为HTTP、SOAP、JMS、EJB传输协议提供执行HDV23万方数据 电子科技大学硕士学位论文iew文件的方法,当客户端的请求在服务器端执行出现错误或传输过程出现错误时Connector提供错误处理机制,将出现的错误以约定的方式将错误代码返回给客户端。HttpConnectorHDViewPropertiesSOAPConnectorJMSConnector客户端HDViewEJBConnector图3-7连接器(Connector)用例图连接器的工作流程:客户端向部署在服务器上的Web服务发出请求,请求包含XML数据和各种请求参数。Connector按照一定的规则提取请求包含的连接参数,校验请求的合法性,将请求数据转化为XML格式文档,保存到HDViewProperties类的实例中,调用HDIPAPI执行HDView文件,最后将执行结果返回给请求的客户端。图3-7是连接器的用例图。连接器提供几种传输技术包括HTTP、SOAP、JMS、EJB。使用哪种连接调用服务取决于客户端应用程序。应用程序选择其中一种传输技术发出请求,Connector分析客户端请求,初始化HDViewProperties、调用HDIPAPI对应的处理方法执行HDView文件。1.1适配器适配器(Adapter)提供访问数据源读取和写入原始数据的功能,当执行一个HDDocument文件中脚本指令时,有的节点元素会引用到相关的HDComponent文件执行。适配器主要通过HDComponent和HDDriver组件来实施。其中HDDriver文件负责屏蔽和底层数据源连接的细节,提供对于各种数据库等商业商业数据源的连接功能。适配器(Adapter)用来提供集成引擎和后端数据系统之间连通性。用户可以利用UVVDK为Web服务或者集成应用程序配置Adapters。通过向导用户可以配置多个Adapter,对数据库应用复杂的逻辑表达式来建立和目标数据结构之间的映24万方数据 第三章异构数据集成互操作平台的框架设计射和转换。HDIP包含了一个庞大的Adapter集合,并且如果需要,HDIP可以通过工具来创建自己的Adapter也可以创建定制的Adapter来满足任何数据连接需求。HDDocument解释器HDComponent接口HDComponent模块HDDoc元数据元数据HDDriver模块HDDriver元数据数据源驱动图3-8适配器结构图根据图3-8适配器结构图可以看出,Adapter由HDComponent和HDDriver组件完成具体实现。HDComponent是提供给HDDocuments的基于XML的抽象数据访问层。当一个客户端请求执行的HDDocuments包含对多个企业数据源进行操作时,将有多个HDComponent分别提供不同的HDDriver访问各种不同结构的数据源。这些HDComponent共同暴露给HDDocuments一个基于XML的接口,因此这样就可以隐藏HDDocuments与不同数据源之间的复杂通讯,而让HDDocuments可以像对XML文件的操作一样对底层不同结构的数据源进行查询、连接、修改、条件运算等操作,最后执行结果由HDComponent转换为XML并返回。1.1统一虚拟视图开发工具统一虚拟视图开发工具(UVVDK)是一个可视化开发界面,用户可以自定义开发新数据源的适配器;配置异构数据源属性,包括数据源名称,数据源类型,数据源提供者,以及数据的访问地址;同时使用者可以通过对数据的查询,从而获取目标的元数据信息以及数据格式,并通过数据互操作完成到目标数据格式的映射,形成统一虚拟数据视图,使得用户可以方便的查看多个异构数据源对应信息的全局模式;开发工具自动生成查询脚本和数据服务的目标模式。同时它也是基于Eclipse设计环境,通过插件的方式开发实现,从而方便开发人员跨平台进行数据的互操作。并且拖拽式接口界面能使工作人员更方便快捷的实现XML数据与数据源之间的匹配映射。25 万方数据 电子科技大学硕士学位论文图3-9所示统一虚拟视图开发工具架构。UVVDKPDE&JDT应用程序其他核心类JfaceSWTJDK图3-9统一虚拟视图开发工具架构本文将会在第四大章统一虚拟视图开发工具的设计中详细叙述这部分内容。1.1管理模块管理模块(Management)提供了控制和监测整个系统平台运行的功能:包括支持JMS的功能,提供对引擎的实时运行操作的监测;提供安全设置和默认的输出设置等功能。在生产环境中UVVDK一旦部署上,其应用程序就可以对正常的操作和性能进行监测。在典型的关键问题和企业IT环境中,提供大量专门的密钥管理功能可以舒缓业务支持问题。统计数据:基于Web管理控制平台和JMX接口提供关于一些HDDocument、HDComponent和HDDriver的执行细节统计数据。为每个组件提供成功和不成功的运行统计,另外还统计最小、最大和平均的执行时间。系统管理界面:引擎包含一个SNMP接口使常用的系统管理应用程序能监测HDDocument、HDComponent和HDDriver的运行。界面能让操作人一看便知组件的运行状态,如哪些组件正在运行、哪些运行成功和哪些运行错误的统计。通告配置为当有错误和运行慢的组件时向操作人员报警。远程日志查看器:远程日志查看器提供一个运行活动的历史查询功能,它有助于人员解决针对性的问题。提供多层级别、显示组件运行、HDDocument与HD26万方数据 第三章异构数据集成互操作平台的框架设计Component的异构流和细说日志事件。例如在一个请求或响应缩小问题检索中支持个人查询特有的最终用户或其它参数,然后查看有关问题的具体信息。支持职员为潜在问题领域或感兴趣的组件单独设置日志记录级别和保存非常详细的信息。总之,管理功能可以支持到企业级生产实现的能力。当问题出现时,职员可以快速定位和分析可用的诊断方法,然后找出并纠正问题。1.1本章小结本章节首先根据异构数据集成互操作方面的背景进行研究讨论,通过结合当前经贸与流通促进平台方面的需求,提出异构数据集成互操作平台框架。系统分析异构数据源连接引擎,数据服务平台,数据互操作工具集三大组成部分的需求,最后将平台系统划分为元数据,异构数据集成引擎,连接器,适配器,统一虚拟视图开发以及管理模块这6大模块,并逐一对其进行介绍。27万方数据 电子科技大学硕士学位论文第四章统一虚拟视图开发工具的设计实现第三章中,主要针对异构数据集成互操作平台系统设计进行了介绍,本章将 集中讨论异构数据集成平台的可视化开发环境也就是统一虚拟视图开发工具 (UVVDK)的设计与实现。统一虚拟视图开发工具主要提供了便于开发人员使用 的可视化操作平台,他提供了拖拽式的接口界面,可方便将XML数据格式和本地 数据源格式进行匹配映射。1.1统一虚拟视图开发工具与Eclipse平台2.1UVVDK与Eclipse体系架构统一虚拟视图开发工具是一个可视化开发界面,用户可以自定义开发新数据源的适配器;配置异构数据源属性,包括数据源名称,数据源类型,数据源提供者,以及数据地址;同时使用者可以通过对数据的查询,从而获取目标的元数据信息以及数据格式,并通过数据互操作完成到目标数据格式的映射,从而形成统一虚拟数据视图,使得用户可以方便的查看多个异构数据源对应信息的全局模式;开发工具自动生成查询脚本和数据服务的目标模式。同时它也是基于Eclipse设计环境,通过插件的方式开发实现,从而方便开发人员跨平台进行数据的互操作。并且拖拽式接口界面能使工作人员更方便快捷的实现XML数据与数据源之间的匹配映射。使用Eclipse平台因为其有着跨平台的优势,同时它也还是一个应用程序框架和服务,用户可以通过它开发插件构建开发环境,把Eclipse打造成各种应用程序。Eclipse为开发人员提供了大量的GUI驱动工具和应用程序基础,如下介绍:SWT:SWT是Eclipse中的窗口小部件工具箱,它提供可移植的API,并于底层本机操作系统图形界面平台紧密集成。JFace:用来在SWT库顶部提供常见的应用程序用户界面功能。它提供一些类和接口,以处理与使用SWT来对动态用户界面编程相关联的许多常见任务。插件开发者环境(PDE):PDE添加了专门的工具以使得插件和扩展的开发工作能够顺利进行。Java开发工具(JDT):JDT实现功能完整Java开发环境。28万方数据 第四章统一虚拟视图开发工具的设计实现由此可见,Eclipse是一种通用的工具平台,它同时也是一个开放的、可用于任何东西的可扩展IDE,它为开发人员提供了灵活性以及对软件技术的控制,使得开发人员在Eclipse开发中游刃有余。UVVDK与Eclipse层次架构如图4-1所示:UVVDKPDE&JDT应用程序其他核心类JfaceSWTJDK图4-1UVVDK与Eclipse层次架构每一个插件在实际运行时有可能还会依赖其他插件提供的服务,同时又会为其他插件的正常运行提供服务。这种模块化的设计使得自己成为了离散的功能块,这样就可以更加容易的重用于构建应用程序。Eclipse插件依赖关系如图4-2所示:在本系统中,用户界面即Eclipse插件,对于包括统一虚拟视图开发工具(UVVDK)在内的所有Eclipse插件,它们的行为都是位于代码中,然而插件的依赖项和服务项都是在名为plugin.xml的特殊XML配置文件当中声明的。每个Eclipse插件有且只有一个清单,即plugin.xml,它定义了插件的基本信息,包括插件声明以及扩展点定义等。在Eclipse程序启动时,插件加载器将会扫描UVVDK插件的plugin.xml文件,根据文件当中的扩展、依赖等配置项最终加载相关资源运行插件,如果找不到plugin.xml文件则无法加载插件。在插件清单中定义后,剩下的工作是通过运用SWT/JFace来进行编程。29万方数据 电子科技大学硕士学位论文Eclipse平台插件插件plugin.xmlUVVDK.jarplugin.xmljdtar插件插件plugin.xmljdtcore.jarplugin.xmljface.jar插件插件plugin.xmlresources.jarplugin.xmlui.jar插件装载器Java类库Java虚拟机操作系统图4-2Eclipse插件依赖关系1.1Plugin文件UVVDK插件内有一行插件声明,这个声明具体包涵了插件的名称、标识符、版本号、提供者等信息,如下所示:30万方数据 第四章统一虚拟视图开发工具的设计实现插件声明扩展点,可以让其他的插件以受控的方式来扩展原来插件的功能,这种机制提供了分离的层次结构,因此构建原始插件的时候,原始插件不需要知道扩展插件是否存在,插件可以将扩展点作为插件清单的一部分来声明。在org.eclipse.ui插件中声明的视图扩展点如下所示:UVVDK利用Ecplise提供的这个扩展点声明了一系列新的视图类别,这些视图包含在了一个名为UVVDK视图目录下面,如下所示://扩展UI插件中的视图扩展点//构建项目导航视图 32万方数据 第四章统一虚拟视图开发工具的设计实现UVVDK不仅利用Ecplise提供的插件扩展点扩展了视图功能,扩展了自己的一系列视图,同时也提供了如下的部分扩展点,供其他插件丰富利用。„„point="cn.edu.uestc.uvvdkengineExtensions">„„1.1主要工作模块部分从第三章的异构数据集成互操作平台架构可以得知,统一虚拟视图开发工具与异构数据集成平台的三个大模块有交互,分别是异构数据集成引擎,异构数据连接器以及异构数据平台的管理模块。因而在异构数据集成开发环境的组成模块中,有接口模块,主要包含着与上述三个模块交互的接口;开发环境基本模块,主要有开发环境的GUI界面模块,View视图模块,Event事件监听模块以及Action实现模块;同时还包括Mapper和Model这2个功能模块,如图4-3所示。图4-3异构数据集成开发环境组成模块图33万方数据 电子科技大学硕士学位论文新建HD文档匹配模版未找到结束存在创建文档组件 并设置根据设置输入 参数选择适配器不存在创建HD适配器信息已有映射规则编辑进行数据规则 映射结果返回视 图界面结束图4-4面向用户操作流程图从4.1的UVVDK与Eclipse关系中我们可以得知,统一虚拟视图开发工具的UI界面的设计与制作主要是基于SWT和JFace以及相关UI设计类。所有GUI界面包括Editor编辑器界面,Dialog对话框界面以及常用按钮,标签等一系列相关界面设计的部分统一集成在GUI界面模块下。这里,我们将主要介绍相关工作模34万方数据 第四章统一虚拟视图开发工具的设计实现块部分,主要介绍期中的View界面视图模块,Event事件监听模块,Mapper映射模块和Model模型模块。View界面视图模块是整个可视化平台界面的核心部分,它像用户直接明了的展示了平台的操作界面,并将View视图划分为5个具体视图,以方便用户使用。Event事件监听模块则是主要监听用户在GUI界面中的鼠标操作行为,并将结果返回给GUI界面中的Action模块部分从而实现具体操作。Mapper映射模块是按照用户的需求和设定,进行数据格式的映射操作的模块,同时该模块也是与连接通道的接口,用于将映射规则与核心转换引擎间进行数据互操作。Model模型模块则是为用户提供一个模型模版,已有的文档模型以及映射规则,数据格式等,不用用户再进行重复工作去自定义设定。具体流程如图4-4所示。用户在主视图中新建HD文档,根据自身需求,从Model模型模块中选择相对应的模型模版,从而获得具体的文档模型以及映射规则,数据格式。进而创建文档组件以及文件适配器,将数据源和目标数据格式通过mapper映射模块按照已规定的映射规则进行映射。具体映射方式会在后台将数据通过连接器和适配器模块将数据传入异构数据集成转换引擎进行具体操作,并最终将处理结果传回UVVDK通过View视图模块反馈给用户。1.1View界面视图模块统一虚拟视图开发工具是可视化操作界面,又因为是基于Eclipse插件开发,所以设计了5个区域来最大程度地显示使用空间。左边区域是项目列表视图,在这里可以查看现有的各类项目工程。中间空白部分区域是主要工作视图,其中HDView和XML文件在这里打开,在这里,可以修改用户选择的文件,可以看规范的XML文件,也可以查看活动图和工作流程图。左下角区域显示HDView的基本执行过程信息。主视图底部区域主要展示了和主视图打开的文件相关的各类信息,该视图描述了更多的详细信息。主视图右边区域是一个面板,它可以快速选择并使用各种组件。统一虚拟视图开发工具设计界面如图4-5所示:35万方数据 电子科技大学硕士学位论文图4-5统一虚拟视图开发工具设计界面主要工作视图主要有以下几个方面:设计窗格:此窗格可以让用户在主工作区显示当前正在编辑修改的文档。对显示在主工作区的每个元素,都可以使用右键菜单点击各种选项,从而满足业务需要。XML窗格:此窗格将设计窗格的内容显示成为了一个只读的XML文件。活动图窗格:此窗格显示了HDView的工作流程图。你可以在任何时候通过该视图看看工作流到了哪一个步骤。该视图同时也提供打印,缩放等功能。在主视图底部的信息视图是描述性的视图。日志视图:这个视图显示当前打开或执行HDView文件的记录级别和日志信息。此窗格的内容是不可编辑的,但用户可以使用搜索选项来查找特定类型的错误。结果视图:这个视图显示当前文档执行的结果。在此窗格中的内容是只读不可编辑的。属性视图:属性视图显示有关所选项目的资料。例如,如果在一个HDDocument中的元素被选中,该元素的属性将在此窗格中列出。在此窗格中的信息有助于用户使用该软件的流程。这是一个可编辑窗格,在视图右上角有多个选项可供使用。36万方数据 第四章统一虚拟视图开发工具的设计实现组件目录视图:该视图显示了当前HDView的所有文件,提供了一个简单的组件注册表,以便识别和重用组件设计器。它还可以让用户找到其他HDView中的相关匹配元件,以便用户可以找到潜在的可重用组件。对于每个文件,目录列出了名称,项目,inputtype,responsetype以及对每个文件的描述。该组件列表可以使用右上角的按钮来刷新或寻找相关的组件。匹配功能的工作原理是通过查询uv:response_type或uv:input_type,然后在根节点元素上找到和uv:response_type或uv:input_type相匹配的属性值。问题视图:此视图显示项目的HDView文件语法问题。虽然这是一个只读的问题的清单,但是用户可以双击任何问题,打开文件并找出问题发生的地方。当UV-script语法检查适用于该项目时,这种视图被激活。执行配置视图:这个视图显示HDView文件在设计或执行归档日志文件过程中的基本情况信息。显示的信息包括组件的调用结构,执行过程的成功或失败,以及任何在过程中产生的错误,发生错误的文件将在组件的地方显示一个小图标。用户可以通过执行信息通过点击删除按钮来清除列表,可以通过单击查看日志按钮打开当前日志,也可以在中打开存储的日志文件。你可以通过点击按钮进入HDView文件,从而看到文件调用结构。重要的是,这种视图是不支持处理并发独立的进程的,所以如果用户在后台同时执行多个文件,就可能只会看到调用结构显示的部分文件,而不是所有的文件。ResultViewViewPartValidationResultsViewNavigatorViewLogViewExecutionProfileView图4-6视图的主要类图关系导航模式视图:这种视图可以帮助管理大型架构,这种架构通常是只有一个子集来执行应用程序的目标。当用户加载模板目录后(在窗口|预置面板),这个37万方数据 电子科技大学硕士学位论文视图才被激活,允许用户打开,该视图可以定制和保存作为HDDocuments或新自定义XML模板。图4-6中显示的是对应着视图部分的5个主要类图,本文将在4.3部分详细介绍所示的5个视图的设计类图。1.1Event事件监听模块在整个统一虚拟视图开发工具中,Event模块的作用是用于对整个GUI界面的鼠标事件的监听,它主要由类CustomMouseListener负责完成。表4-1CustomMouseListener类的主要方法方法名主要功能mouseClicked监听界面鼠标单机事件mouseDoubleClicked监听界面鼠标双击事件mouseDragged监听界面鼠标拖动事件mouseHovered监听界面鼠标悬停事件mouseMoved监听界面鼠标移入事件mousePressed监听界面鼠标按下事件mouseTripleClicked监听界面鼠标三重点击事件图4-7CustomMouseListener类图CustomMouseListener自定义鼠标拖动和监听事项,如图4-7所示CustomMouseListener的类图,表4-1是类的具体方法介绍。Event负责监听鼠标事件,然后将结果返回给Action模块的监听事件响应,从而实现具体操作。38万方数据 第四章统一虚拟视图开发工具的设计实现1.1Mapper映射模块Mapper模块是用户在通过可视化的操作平台对XML数据进行互操作时候所进行的XML规则映射模块。用户通过操作界面GUI选择映射方式,并将数据与目标数据进行映射,映射模块会通过用户选择的映射方式,通过接口与连接器适配器进行数据互操作,将数据送达异构数据集成转换引擎HDIP进行按映射规则转变,并将结果再通过连接通道返回给用户。Mapper模块主要包括IAutoMapRequester和IMapperPanelComponent这2个接口以及AutoMap,DefaultAutoMap,FindNextHelper,MapperHelper和MapperProcessor这5个类构成。IAutoMapRequester将用户选择自动映射的类必须实现该接口,其作用是识别并返回选择自动映射的类名。而IMapperPanelComponent则是通过接口将映射模块与映射界面组件相关联。表4-2MapperProcessor类的主要方法方法名主要功能evaluateTarget评估根节点和子节点,通过映射的节点来重建映射的哈希表extractSourceValues提取源值findAllSourceOrInputParamMappedItems从映射的哈希表中查找出所有源数据和输入参数列表中包含的映射项目getFindNextHelperObject返回找到的下一个辅助对象getInputParamHandler返回输入参数列表中的处理程序对象getMapperSource返回映射源getMapperTarget返回目标映射对象getMappingsHashTable返回映射的哈希表mappingOccured发生映射时要执行的处理功能RebuildmappingshashTable根据当前映射重建整个哈希表refreshHandlerObjects用于更新源映射,目标映射以及输入参数的处理setWizardmapperPanelComponent设置映射向导面板组件updateMpaaingsHashTable更新哈希表中的新的映射AutoMap类作用是向视图中的目标树自动映射用户选定的相同的命名字段形成的源树和输入参数。DefaultAutoMap则是默认的从不同的HDComponents中实现自动映射。同时Helper类提供匹配功能,通过FindNextMappedElement动作类39万方数据 电子科技大学硕士学位论文来依次寻找下一个映射元素,模块中具体由FindNextHelper和MapperHelper2个类实现。MapperProcessor类是映射处理器,其中用来包含着从映射器面板界面中找寻映射元素的处理逻辑算法。由此可见映射模块是连接可视化界面与后台引擎进行数据操作的关键工作模块,其核心类MapperProcessor的主要方法如表4-2所示。1.1Model模型模块图4-8DocumentModel类图Model模型模块是为方便用户而为此设计的一个Model模版模块,用于保存已有的文档模型以及映射规则,数据格式等。它主要包括IExecHDViewDoc接口,IExecHDViewResults接口以及IResultsViewerManagerListener接口,用以对视图处理进行监听同时和HD视图文档进行相关联。Model模块的主要核心类是DocumentModel,具体类图如图4-8所示。DocumentModel类代表所有界面编辑器和视图确定后的模型,它本身松散的封装着一个JDOM文档,它在用户更新模型的时候响应通知监听返回的信息,从而改变文档视图,当任何客户端程序调用getDocument方法并改变底层的JDOM模型的时候,该模块同时会通过ChangeListener接口更改任何更新的文档模型,以方便用户保存和使用。2.1具体视图部分实现2.1.1部分我们对统一虚拟视图开发工具的主要工作模块做了介绍,这部分则是40万方数据 第四章统一虚拟视图开发工具的设计实现对其中的视图模块的核心5大视图做详细说明。1.1项目列表视图项目列表视图,主要作用是将异构数据集成互操作平台引擎中的工程、元件以及各类元素以树状列表显示出来,并可以方便地拖拽重用。该视图的核心类是NavigatorView,继承自ViewPart类,表4-3中记录了NavigatorView类的主要方法。表4-3NavigatorView类的主要方法。方法名主要功能createPartControl创建将显示在项目列表视图里的控件fireCheatSheet启动选定的项目getProjectNameOfSelectedResources返回在项目列表中选中的项目名称getSelectedResources返回选中资源的列表getUvvdkResNav返回UVProjectExplorer实例refreshAffectedResources这种方法在Navigator视图中刷新及其受影响的资源refreshTree刷新树结构视图最终项目导航视图实现如图4-9所示图4-9项目导航视图41万方数据 电子科技大学硕士学位论文1.1结果视图图4-10ResultsView类图结果视图,主要作用是显示运行HDDocument的结果,以及出现的错误。该视图的核心类有ResultsView,也继承自ViewPart类,如图4-10所示,相关方法见表4-4:表4-4ResultsView类的主要方法。方法名主要功能addCopyPopupMenu创建目录createPartControl可以创建视图并初始化视图dataChanged日期更新getAdapter获取适配器提供的访问方法pageSelectionChanged更改选择的页面getResults获得运行结果tracerCreatePartControl遍历创建控制元件图4-11所示ResultsView类关系图:42万方数据 第四章统一虚拟视图开发工具的设计实现图4-11ResultsView类关系图执行结果视图如图4-12所示。图4-12执行结果视图1.1日志视图日志视图窗口默认的显示在UVVDK界面窗口的底部,所有的日志消息都会显示在此窗格中,包货日志信息的日期和时间。视图显示当前打开或执行HDView文件的记录级别和日志信息。此窗格的内容是不可编辑的,但用户可以使用搜索选项来查找特定类型的错误。该视图核心类是LogView,如图4-13所示,继承于43万方数据 电子科技大学硕士学位论文ViewPart,相关方法见表4-5:表4-5LogView类的主要方法方法名主要功能addToHistory通过搜索和日志管理createPartControl可以创建视图并初始化视图getAdapter获取适配器提供的访问方法getInstance获取实例getLogSearchStr获得搜索字符串initSearchTool初始化搜索工具resetDocSearchTool重新启动搜索工具图4-13LogView类图图4-14所示LogView的类关系图44万方数据 第四章统一虚拟视图开发工具的设计实现图4-14LogView类关系图图4-15所示日志视图最终实现。图4-15日志视图1.1执行信息视图ExecutionProfileView类是执行信息插件的视图部分,是HDView的基本执行过程信息,这个视图是用户通过对UVVDK执行的HDDocument信息的日志处理,然后通过加载该类的日志文件,并按执行顺序显示在树视图中。图4-16所示ExecutionProfileView类关系图。ExecutionProfileView主要方法见表4-6。45万方数据 电子科技大学硕士学位论文图4-16ExecutionProfileView类关系图表4-6ExecutionProfileView类主要方法方法名主要功能getAdapter获得适配器updateVisualTreefromFile更新可视化的文件树createPartControl创建部分控制模块contributeToActionBars显示状态信息栏fillLocalPullDown创建一个接口来填充本地拖拽fillLocalToolBar填充本地的工具栏hookDoubleClickAction挂载双击行为setFocus激活并设置当前的文本区图4-17所示执行信息视图最终实现图4-17执行信息视图46万方数据 第四章统一虚拟视图开发工具的设计实现1.1验证结果视图ValidationResultsView是显示用户通过主视图操作后对执行结果进行验证的视图,它位于UVVDK窗口界面底部,如图4-18所示ValidationResultsView类图,相关方法见表4-7。图4-18ValidationResultsView类图表4-7ValidationResultsView类主要方法方法名主要功能createPartControl创建控制部分creatTextViewer创建图形化文本setFocus设置当前的激活文本区hookPageSelection挂载选择包initViewer图形器初始化showValidationResultsFromFrame从框架中显示验证结果getAdapter获取适配器getValidationResults获取验证结果47万方数据 电子科技大学硕士学位论文图4-19所示ValidationResultsView类关系图。图4-19ValidationResultsView类关系图图4-20所示验证结果视图的最终实现图4-20验证结果视图1.1Eclipse发布RCP富客户端Eclipse的一切都基于插件,RCP程序也不例外,通常所说的RCP程序开发实际上就是开发一组插件,并将它和RCP平台一起发布出去,而RCP插件与普通插件的区别就在于org.eclipse.core.runtime.applications这个扩展点。Applications扩展点是Eclipse平台运行的入口,可以将它看成RCP程序的main函数,启动Eclipse,并通过指定的applications扩展,找到运行RCP插件中的48万方数据 第四章统一虚拟视图开发工具的设计实现IPlatformRunnable实例。另一个与启动相关的扩展点是org.eclipse.core.runtime.products,products扩展点用于对指定工作台的装饰(如窗口标题,图标等)。本平台是基于Eclipse插件开发的RCP富客户端的统一虚拟视图开发工具,如图4-21所示,是通过在org.xaware.designer.product扩展点进行发布产品信息更改。图4-21UVVDK的products扩展点点击图4-21中的org.xaware.designer.product,进入产品配置文件,通过图形化的界面从而方便的配置这些信息。如图4-22所示,为平台RCP产品配置工作台窗口图标、路径等相关信息。图4-22配置产品信息在产品配置编辑器的“描述”选项卡的概述中,可指定所发布的RCP程序的名称,启动插件的入口点应用程序,以及图4-22所示产品标识等内容完成products49万方数据 电子科技大学硕士学位论文扩展。同时这个页面还要指定产品配置所包含的内容是基于插件选择还是基于功能部件选择的,这将影响到构成RCP程序的部件方式,点击选择功能部件,如图4-23所示。图4-23设定RCP产品标识和启动程序在选项卡“配置”中,添加统一虚拟视图工具RCP项目插件,如图4-24所示。图4-24添加统一虚拟视图RCP项目插件设置好上述选项后,如图4-25,在“概述”选项卡中点击“Eclipse产品导出向导”来到处程序,通过选择到处目录后,即可发布统一虚拟视图开发工具,从而完成异构数据集成开发环境平台打包文件。50万方数据 第四章统一虚拟视图开发工具的设计实现图4-25Eclipse产品导出向导1.1本章小结本章节首先针对统一虚拟视图开发工具与Eclipse平台架构体系的关系进行讨论,简单介绍了Eclipse插件体系架构的相关原理。接着介绍了可视化开发环境的视图构成,并通过详细类图对项目列表视图,结果视图,日志视图,执行信息视图,验证结果视图等5个视图分别进行了介绍。最后介绍了本平台如何通过Eclipse插件开发发布RCP程序的过程。51万方数据 电子科技大学硕士学位论文第五章系统测试系统实现异构数据集成开发环境的可视化操作界面,用于实现解决国际贸易区域经贸合作与流通促进平台中的技术难点问题——电子单证格式转换问题。重点在于显示可视化操作界面,以及在功能上实现电子商务中电子单证的数据格式转换。1.1系统测试环境系统开发测试环境:Java环境JDK1.6操作系统WindowsXPSP3版本具体配置为Intel(R)Celeron(R)CPUE3200@2.40GHz处理器,2GB内存,320G的SATA硬盘。1.2功能测试本系统旨在于实现虚拟视图的异构数据集成开发环境,目的是面向国际电子商务活动中电子单证的互相转化。主要实现了EDIFACT等主流电子商务单证之间的转化,这里我们主要测试UN/EDIFACT与XML之间的数据格式转化,并通过测试环节展示开发环境视图界面部分的实现。2.1UN/EDIFACT向XML格式转化1)直接运行通过EclipseRCP富客户端发布的UVVDK执行文件,如图5-1所示RCP发布的打包文件夹。图5-1RCP发布UVVDK文件52万方数据 第五章系统测试通过点击UVVDK.exe执行文件,即可打开软件,选择工作空间,即可进入视图界面。2)接着弹出“选择Home目录”对话框,该步骤中指定当前目录下的uvvdk目录为Home目录后,将进入统一虚拟视图开发工具的工作界面,如图5-2所示:图5-2统一虚拟视图开发工具工作界面此界面图如设计所示,共分5大视图界面,分别是:左边的项目导航视图,在这里可以查看现有的各类项目工程。中央部分是主要工作视图,其中HDView和XML文件在这里打开,在这里,可以修改用户选择的文件,可以看规范的XML文件,也可以查看活动图和工作流程图。左下部分的执行视图显示基本执行过程信息。中央下部的结果视图主要展示了和主视图打开的文件相关的各类信息,该视图描述了更多的详细信息以及右边的面板视图,通过它可以快速选择并使用各种组件。3)该步骤需要创建UVVDK工程。如图5-3所示创建UVVDK项目工程可以通过以下两种方法来达到目的:方法一:在工作界面左边“项目导航”栏中右键,选择菜单中的“新建”,在弹出的二级菜单中选择“UVVDK工程”;方法二:从统一虚拟视图开发工具菜单中“File”—“New”—“UVVDK工程”。在弹出的“统一虚拟视图项目”对话框中输入项目的名称等信息;53万方数据 电子科技大学硕士学位论文图5-3创建UVVDK工程4)为工程添加HDDocument组件。选中工程右键,选择菜单中的“新建”,在弹出的二级菜单中选择“HDDocument”或者从统一虚拟开发视图工具中选择“File”—“New”—“HDDocument”。弹出“UVVDKHDDocument”对话框,如图5-4所示创建UVVDKHD文档。图5-4创建UVVDKHDDocument5)此处为将要添加的HDDocument组件设置合适的名称,例如:54万方数据 第五章系统测试unEdifact2XML.xbd。然后点击下一步按钮,将出现创建HDDocument的向导框,如图5-5所示,我们可以根据不同的情况选择创建HDDocument的不同方式,例如从已经存在的模式文件中生成HDDocument、从WSDL文件中生成HDDocument等:图5-5HDDocument向导框6)根据需要选择创建HDDocument的合适方式后,点击下一步按钮,将进入创建HDDocument的最后向导步骤,如图5-6所示图5-6完成HDDocument创建55万方数据 电子科技大学硕士学位论文此处一般无需用户设置。在这里直接点击完成按钮,将生成相应的HDDcoument组件。该步骤主要涉及与UN/EDIFACT相关的内容。首先了解将要进行转换的报文类型,报关报文或发票报文或其它类型报文。根据UN/EDIFACT报文标准可以了解该类型报文的分支结构图(即报文是由哪几种类型的段构成、每个段由什么部分组成等等)。简单的分支结构图,如图5-7所示:UNHBGMTDTLOCPACAUTALIUNSM1M1M1M1M1M1C1M1„DTMCP1CP2„„M3MLMSNADLINM1M1COMRFFFTXC1C1C1图5-7报文结构图在上一步中,我们了解了即将进行转换的UN/EDIFACT报文的分支结构图以及该类型报文各个段由那些数据元构成。这里,我们将根据上一步了解的报文分支结构以及报文数据元的构成来设定与XML的映射结构。7)创建文本类型的HDComponent,方法与创建HDDocument相似。在HDComponent创建向导第一步,如图5-8所示,在HD组件类型选择项中选择HD组件。可视化操作平台中包括文件类型HD组件,HTTP组件,Java类组件,JMS发送以及接收组件,SOAP组件,多格式组件,SQL数据库组件以及XML映射组件等等常用组件类型以供用户选择使用:56 万方数据 第五章系统测试图5-8创建HD组件类型8)该步骤主要选择将要创建的HDComponent的类型,此处需要使用FileHDComponent类型的Component来读取EDI类型的文件。选中后点击结束按钮,将进入向导的第二步如图5-9文件组件向导图所示:图5-9文件组件向导57万方数据 电子科技大学硕士学位论文9)根据需要创建相应的输入参数,点击新建按钮。此处需要创建一个用于指明输入EDI报文路径的输入参数infile,参数创建完毕后将进入HDComponent向导第三步。如图5-10输入界面参数图:图5-10输入参数界面图10)该步骤主要涉及创建用于读取或写入文本类文件的HDDriver。在File编辑框中根据情况编辑输入的文件,若在前面设置了相应的输入参数则只需设置为该参数即可,否则可以点击后面的“浏览”按钮,选中将要输入的文件。如图5-11所示:图5-11选择HD适配器信息58万方数据 第五章系统测试11)点击继续按钮,进入创建HDComponent的下一步。该步主要涉及读入文件的相关信息设定,例如文件的分隔符,文件中每条记录的字段数据以及记录开始的行数等。如图5-12文件组件文件信息图:图5-12文件组件文件信息图点击继续按钮,进入创建HDComponent的最后一步。即编辑EDI报文与最终XML文档之间的映射关系。点击结束按钮后UVVDK开发工具将根据先前向导产生一个HDComponent文档。图5-13文件组件映射向导图59万方数据 电子科技大学硕士学位论文12)接着,我们需要对映射规则进行编辑。在UVVDK(统一虚拟视图开发工具)右侧“常用组件”栏中的“Snippets模块”中选中If-elseif-else语句,拖动到前面生成的HDComponent文件中xa:response节点之下。结合EDI报文的分支结构图和“常用组件”中“功能函数”,针对每一个数据段均采用If判断处理。13)最后,编辑完毕映射规则后。保存工程。在UVVDK工具栏中点击运行按钮,测试规则的执行效果,如图5-14所示:图5-14报文转化为XML格式效果图1.1XML向UN/EDIFACT格式转化参照“UN/EDIFACT向XML格式转转化”中创建一个HDDocument。创建含有转换规则的HDComponent。该HDComponent类型为FileHDComponent。在创建HDComponent向导中,指定File编辑框中为最后转换成的EDI报文的输出文件,并为相应的HDDriver命名。图5-15XML转换成EDI格式报文60万方数据 第五章系统测试接着在创建FileHDComponent中,选择RequestType为Write类型,字段分隔符设定为EDI报文默认的段分隔符(“’”号),继续点击继续按钮,进入FileHDComponent创建的映射规则向导界面。在上述步骤中,输入即将用于转换的XML文档。然后会在右边目标区域编辑相应的转换规则。将输入XML文档中的各个节点分别提取出来,即可。最后,编辑完毕映射规则后。保存工程并运行测试规则的执行效果,在输入的EDI文件中,可以看到结果如图5-15所示1.1本章小结通过对异构数据集成开发环境的功能测试,体现了Eclipse插件开发RCP富客户端的优势,实现了可视化的操作平台,并以UN/EDIDACT向XML数据格式转化为例,在功能上平台开发环境已实现了在电子商务贸易领域中的电子单证数据格式转化。61万方数据 电子科技大学硕士学位论文第六章总结与展望1.1总结近年来,随着经济全球化以及信息化的飞速发展,基于互联网技术的电子商务产业也随之迅猛发展,越来越多的中小企业介入电子商务平台。如今因企业规模的扩大,企业系统复杂,使得企业在网络结构以及各自平台出现差异,从而使得企业间数据交换标准不统一,出现了“信息孤岛”问题。本文通过对数据集成的研究以及和对Eclipse插件开发的研究,实现针对二次开发人员的以Eclipse插件技术开发的基于虚拟视图的异构数据集成开发环境。本文主要工作包括以下几个方面:1)通过国际贸易区域经贸合作与流通促进关键支撑技术的研究,以及对电子商务特点的分析,阐述了异构数据集成对当前电子商务领域的电子单证数据格式转换的重要性。2)论文在通过介绍XML相关技术,基于XML电子商务标准以及Eclipse插件开发技术的基础上,结合异构数据集成的研究,设计了一个基于虚拟视图的异构数据集成框架,并对其组成部分进行了设计。3)通过研究Eclipse插件体系结构,给出了基于虚拟视图的异构数据集成开发环境的设计,实现了Eclipse插件开发RCP富客户端的异构数据集成开发环境以及系统运行界面。1.2展望虽然本文在基于虚拟视图的异构数据集成开发环境的设计与实现中取得了一定成果,但目前仍然存在部分问题需要进行进一步的研究以便于完善整个工作。整个大平台依旧在建设之中,为了完善整个平台的建设工作,预计在未来的工作中需对以下问题进行更深入的研究:1)完善开发环境的界面美工,通过对业务逻辑的理解,简化用户操作,降低二次开发人员的开发难度。2)针对输入的电子商务报文数据以及数据格式进行校验,对于给予错误或非62万方数据 第六章总结与展望合法的数据和格式进行检查。3)目前平台仅考虑针对电子商务贸易中的电子单证的数据格式进行转换,希望通过更深入的研究,扩大系统支持的数据格式类型,从而将系统适用范围从电子商务向更广的领域进行延伸。63万方数据 电子科技大学硕士学位论文致谢我要衷心感谢我的导师于力教授。论文的研究工作是在导师的精心指导和悉心关怀下完成的。于力教授严谨的治学态度时刻影响着我,感谢她在我硕士研究生攻读时期对我的谆谆教导,让我不仅学到了扎实的知识,也学会了一定的做人道理,因而我要在此向于力老师致以深深的敬意和由衷的感谢。其次我还要真诚的感谢陈波、孙明两位老师,他们不仅在学术上教诲我,百忙之中抽出时间对我进行指导,生活中也时时关心帮助我,从而让我能够顺利完成硕士论文。感谢马志祥、周伟、吴晶、张鼓华、冉毅书、刘杰、沈革等几位教研室同学,谢谢这几年来对我的支持,也感谢同班赵翌盛、李志翔同学以及学弟管明亮、许敏敏、施振兴,是你们让我这三年的研究生求学生涯多了很多的欢声和笑语。由衷的感谢我的父母,是他们多年的付出,是他们的关怀和支持让我走到今天,感谢他们。最后,衷心的感谢百忙中评阅我论文以及参加答辩的各位教授老师。64万方数据 参考文献参考文献[1]赖忠孝,刘先雨.国际贸易单证[M].大连:大连理工大学出版社,2010[2]戴维斯,克里希纳,绍若.SOA权威指南[M].北京:电子工业出版社,2008[3]冯光明,张展为,张基温.电子商务原理[M].北京:电子工业出版社,2009[4]刘文远.电子商务交易协议理论研究[M].哈尔滨:哈尔滨工业大学出版社,2007[5]朱勤,陆建新,陈继红.基于XML的异构数据交换技术及其Java实现.青岛科技大学,2005(2)[6]王茜.电子商务交易协议理论与验证方法[M].广州:中山大学出版社,2010[7]方少林,贸易与管理新方式——EDI[M].北京:中国金融出版社,2008[8]白云,张苗,冯晓宁.国际贸易单证实务[M].北京:北京交通大学出版社,2010[9]宋晓宇,王永会.数据集成与应用集成[M].北京:中国水利水电出版社,2008[10]刘凡凡,熊智明,何德辉.电子商务数据交换标准与应用[M].北京:人民邮电出版社,2006[11]谷严.基于JavaBeans组件标准的中间件的开发方法与实现[J].计算机工程与设计,2003(6)[12]吴昊.异构数据库在WEB下的实现[D].成都:电子科技大学,2005.[13]CongYu,LucianPapa.Constraint-basedxmlqueryrewritingfordataintegration.InSIGMODConference.2004.371-382.[14]StephanOlariu,JeffreyV.Aprobabilisticmodelofintegration.DecisionSupportSystems.Vol.45.2008[15]MarcosAntonio,VazSalles,pay-as-you-goinformationintegrationindataspaces.Proceedingsofthe33rdinternationalconference.2007,09[16]张立明,卢正鼎,邓曦.基于CORBA的数据集成中间件的设计与实现[J].华中科技大学学报,2003,vol.30No.ll.[17]瞿裕忠,张剑锋,陈铮,王丛刚.XML语言及相关技术综述[J].计算机工程,2000.Vol.26.No.12.86-126.[18]Dong,Halevy,AY,Yu,C.DataIntegrationwithUncertainty.VLDB,ACM.2007.687-698. [19]ThaddeusPankowskiXML.DataintegrationinSixP2P.2000.[20]唐飞龙,李明禄,曹健.一个Web服务务事务处理模型:结构、算法和事务补偿[J].电子学 报,2004,132(12A):2074-207865万方数据 电子科技大学硕士学位论文[21]熊家治,王飞乐.基于XML的异构数据源-Xquery查询[J].计算机应用与软件,2004,Vol.12No.2[22]Arenas,M.Lambkin.XMLDataExchange:ConsistencyandQueryAnswering.[23]Pankowski,TCybulkaJ.XMLSchemaMappingsinthePresenceofKeyConstraintsandValueDependencies.CEURWorkshopProceedingsVol.229,CEUR-WS.org,Vol.229.1.11-15.[24]OBenjelloun,ADSarma,A.Halevy.DatabaseswithUncertaintyandLineage.InVLDB.2006.[25]Pankowski,T.ManagementofexecutableschemamappingsforXMLdataexchange,DatabaseTechnologicforHandlingXMLInformationontheWeb.EDBT2006Workshops,LectureNotesinComputerScience4254.2006.264-77.[26]StephanOlariu,JeffreyV.Aprobabilisticmodelofintegration.DecisionSupportSystems.Vol.2.12008[27]熊前兴.XML与电子商务[M].武汉:武汉理工大学出版,2005[28]刘新顺.面向国际贸易的异构数据互操作平台的研究与设计[D].成都:电子科技大学,2011[29]刘威.基于Eclipse插件技术的异构数据库集成研究[D].重庆:重庆大学,2008[30]甘树满,王秀明.Eclipse插件开发方法与实战[M].北京:电子工业出版社,2006[31]张鹏,姜昊,许力.Eclipse插件开发学习笔记[M].北京:电子工业出版社,2007[32]JeffMcAffer,Jean-MichelLemieux,ChrisAniszczyk.EclipseRCP深入浅出[M].北京:清华大学出版社,201166万方数据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭