欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于面向服务体系结构的企业服务总线研究与实现(硕士论文)(可编辑).doc

    • 资源ID:3941024       资源大小:56KB        全文页数:39页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于面向服务体系结构的企业服务总线研究与实现(硕士论文)(可编辑).doc

    基于面向服务体系结构的企业服务总线研究与实现(硕士论文) 南京航空航天大学硕士学位论文 摘要 面向服务体系结构Service-Oriented Architecture, SOA是一个组件模型,它将应用程序的不同功能单元抽象为服务,并将这些服务通过定义良好的接口和契约联系起来。为了优化企业的信息系统基础架构,以实现面向服务的体系结构,企业需要一个智能化的基础设施,以降低服务重用的复杂性,并可靠地集成企业信息系统中存在的各种技术、协议和应用。为此,需要建立一个以服务为中心的抽象层,以隐藏各种应用和技术带来的底层复杂性,这个服务中间层就是企业服务总线Enterprise Service Bus, ESB。 论文首先对面向服务体系结构和 Web服务技术理论进行了研究,通过与传统企业应用集成方法的比较,总结了面向服务体系结构的优势和发展趋势,并对企业服务总线技术的定义和技术特性进行了详细的分析。在对课题项目背景进行充分调研后,提出了基于面向服务体系结构的企业服务总线系统解决方案,对系统架构、运行策略和通信机制等进行了深入的分析。通过对面向服务体系结构和企业服务总线技术的深入研究,以及对国内外已有规范标准的分析,设计并实现了企业服务总线 AmsESB系统的核心部分。 文章最后以某大型汽车制造企业档案管理系统 AMS为项目背景,使用企业服务总线 AmsESB系统实现了电子公文办结自动归档的业务用例,验证了系统的功能和性能,总结了不足和相关经验,并提出了改进措施,对系统下一阶段的发展方向进行展望,为后继的工作奠定了基础。关键词:面向服务体系结构,企业服务总线,Web服务,企业应用集成 i基于面向服务体系结构的企业服务总线研究与实现 ABSTRACT Service-Oriented Architecture SOA is a component model that inter-relates an application's different functional units, called services, through well-defined interfaces and contracts between these services. To optimize the IT infrastructure and deliver the service in time to make the SOA possible, IT forum needs an intelligent structure to reduce the complexity of the service reusability, and to integrate all technologies, protocols and applications. For this reason, the IT forum creates an abstract layer focus on the "service" to reduce the underlying complexity by integrating all applications and technologies. Such a layer for services is called Enterprise Service Bus ESBThe thesis first shows the research on theories of SOA and Web Services. By compared with traditional EAI approach, the thesis summarizes the highlight and trend of SOA, then analyses the definition and features of ESB. With investigation of project background, a preliminary solution of ESB system based on SOA theory is given. Then it analyses the systems architecture, executing strategy, communication and so on. With deep research on technology of SOA and ESB, and also with absorbing of some technology specifications, a prototype of enterprise service bus AmsESB is designed and implementedAt the end of the thesis, an application sample based on AmsESB is given. With the background of an archive management system of a motor manufacturing enterprise, the functions and capabilities of the system are validated. The disadvantages of the system are summarized and improvements are proposed, which settled the base of succeeding jobs Key Words: SOA, ESB, Web Services, EAI ii南京航空航天大学硕士学位论文 图表清单 图 2.1传统竖井方式与 SOA方式对比6 图 2.2事件驱动的体系结构.10 图 2.3企业服务总线示意图.11 图3.1项目总体系统结构.14 图 3.2企业服务总线系统总体架构.15 图 3.3抽象服务模型.17 图 3.4具体服务模型.18 图 3.5抽象 WSDL消息模型19 图 3.6单向输入模式.20 图 3.7可靠的单向输入模式.21 图 3.8请求-回复模式22 图 3.9请求-选择回复模式.23 图 3.10外部服务消费者调用总线服务.25 图 3.11总线服务调用外部服务提供者.26 图 3.12组件生命周期.27 图 4.1规范化消息类图29 图 4.2消息交换类图.32 图 4.3消息交换工厂类图.35 图 4.4单向消息交换类图.36 图 4.5可靠的单向消息交换类图.37 图 4.6双向消息交换类图.37 图 4.7可选双向消息交换类图38 图 4.8总线传递通道类图.39 图 4.9规范化消息路由类图.41 图 4.10组件框架类图.44 图 5.1电子公文办结归档流程49 图 5.2企业服务总线应用结构49 图 5.3系统运行流程.53 图 5.4档案处理完毕后系统页面.54 表 3.1消息模型示例.20 表 4.1规范化消息类成员数据类型.30 表 4.2总线路由 Router成员42 表 4.3通过路由发送消息.42 表 4.4路由接收消息过程.43 表 4.5消息交换监听器代码片断.45 表 4.6组件安装描述符46 表 5.1组件部署描述符50 表 5.2邮件服务配置.51 表 5.3组件绑定注册.51v承诺书本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。 本人授权南京航空航天大学可以有权保留送交论文的复印件,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文。 保密的学位论文在解密后适用本承诺书作者签名: 日 期:南京航空航天大学硕士学位论文 第一章 绪论 1.1 课题的研究背景 随着信息技术的日益发展,现代企业对生产管理信息化的需求和依赖越来越明显,不断加大投入进行企业信息系统的建设。与此同时,随着硬件系统、操作系统平台的不断增加以及企业网络的飞速蔓延,软件系统间的异构度和复杂度也不断增加,这就使得如何整合彼此分散的自治信息系统以提高其利用效率成为企业信息化建设中必须面对的重要课题。 在最初的信息化建设过程中,企业应用大多是用来替代重复性劳动的一些简单设计。当时并没有考虑到企业数据的集成,惟一的目标就是用计算机代替一些孤立的、体力性质的工作环节。然而,使用传统开发方法所形成的软件系统是刚性的,也就是说系统严格按照预先设定的目标进行设计,各功能模块按照确定的顺序执行,一旦开发完成并投入运行,就是固定不变的,不能在使用过程中进行调整和改变。如果数据结构或者业务逻辑发生了改变,就必须对所有相关的软件模块、数据源和消息逐个进行修改。为了应对这种局面,上世纪 90年代末兴起了企业应用集成Enterprise Application Integration, EAI的技术潮流,即通过定义企业私有的数据结构、通讯协议以及适配器接口,来联系横贯整个企业的异构系统、应用、数据源等,完成在企业内部的 ERP、CRM、SCM、数据库、数据仓库以及其他重要的内部系统之间无缝地共享和交换数据的需要,从而消除信息孤1岛 。然而,随着这种方法的广泛实施和应用,EAI被证实缺乏必要的灵活性和适应性,扩展性较差,从而无法取得与大量投入相匹配的收益效果。随着对信息整合的需求和认识的深入,近年来面向服务体系结构 Service-Oriented Architecture, SOA的概念逐渐走入人们的视野并被广泛接受。 面向服务体系结构采用服务请求Service Request的方式,通过将业务应用功能以服务的形式提供给最终用户应用或其他服务,使软件系统向“柔性化”迈进了一大步。回顾软件开发的演化过程,我们可以看出面向服务体系结构的出现有其必然性:从最初面向机器语言的开发模式到面向过程的开发模式,软件开发通过独立于机器的程序语言如 C, Pascal等不再依赖于不同平台的机器语言,实现了代码的重用;随后面向对象开发模式的出现使人们可以通过Smalltalk, Java等语言以更接近现实的对象来表述完整的事物,即进行对象的重用;此后随着软件开发规模的扩大,在涉及分布式、异构等复杂特征的环境中,出现了基于DCOM, CORBA, EJB等技术的面向组件模式,软件开发的重用也上升到组件的级别;进入 21世纪,当软件的开发面对更加复杂的 IT环境和更加灵活多变的需1基于面向服务体系结构的企业服务总线研究与实现 求时,人们开始将应用程序以服务的形式公布出来供别人使用,而完全不需要去考虑这些业务服务运行在哪一个架构体系上,这就是面向服务的体系结构。相对于传统的代码重用,对象重用,和组件重用,面向服务体系结构更加着重于业务2级的应用,即服务的重用 。 1.2 论文研究的主要内容 课题“基于面向服务体系结构的企业服务总线研究与实现”是针对处于复杂应用环境中的企业对面向服务体系结构的实施需求而提出的,目的在于帮助企业在资源分布和系统异构的情况下通过中间层有效整合资源协同工作。课题的研究目标是基于面向服务的体系结构分析、设计和实现一个基于标准的灵活的服务中间层,即企业服务总线系统,帮助企业实现在面向服务体系结构中不同服务之间的智能化管理。课题的项目背景是“某大型汽车制造企业档案管理系统Archive Management System, AMS”,该系统主要负责企业生产和管理环节中的档案管理及利用,实现档案管理流程的自动化和规范化。作者在项目中主要负责企业服务总线系统的研究与实现工作。 企业服务总线不同于一般意义上的消息机制系统,其着重解决面向服务体系结构中的两个重要问题:服务的提供者如何在系统中以通用的方式声明自己,以3及服务的消费者如何发现系统中提供所需服务的生产者 。因此,课题的研究主要包括以下几个方面的内容: 1. 基础理论的研究。企业服务总线是一项比较新的技术概念,作为面向服务体系结构的基础中间设施,其最主要的技术与 Web服务密不可分,如 Web服务描述语言Web Services Description Language, WSDL、统一描述发现与集成协议Universal Description, Discovery and Integration, UDDI和简单对象访问协议 Simple Object Access Protocol, SOAP等,这方面的技术目前处于稳定的发展阶段。此外,还有一些相关的技术例如业务流程执行语言Business Process Execution Language, BPEL、服务组件架构Service Component Architecture, SCA和 Java业务集成规范Java Business Integration, JBI等,也都与企业服务总线有着密切的联系。因此,对这些理论和技术的研究是必不可少的。 2. 系统设计与实现。在理论和技术研究的基础上,结合档案管理系统的项目背景,提出企业服务总线 AmsESB的设计实现方案,对系统各个模块进行划分和详细设计,并对系统的核心组件进行编码实现工作。企业服务总线应该能够在底层支持现有的各种通讯协议,并具有很好的可扩展性,所以必须设计一种灵活的可插接的系统结构,供服务供求双方随时加入到总线系统中。此外,传统EAI实施中最大的问题就是被集成者都有自己的方言,即各自的消息格式。作为2南京航空航天大学硕士学位论文 SOA 系统的服务中间层,企业服务总线必须能够对系统范畴内的任何一种消息进行解析。因此,还需要定义一种规范的通用消息传递格式用于系统中各服务的消费者和提供者。这样,在企业服务总线中,对消息的处理就会成为核心,这也是其总线功能的体现。 3. 项目验证和论述。在系统的核心功能开发完成后,通过 AMS项目中的电子公文办结自动归档用例对企业服务总线系统 AmsESB的功能进行验证,对课题的研究工作进行总结,针对不足之处提出改进措施,并对下一阶段的发展进行展望。 通过对面向服务体系结构和企业服务总线相关技术规范的研究,论文以AMS项目中设计和实现的企业服务总线系统 AmsESB为蓝本,对系统的体系结构及各个模块的设计实现细节进行了深入讨论。 AmsESB系统遵循业界的规范标准,按照规范性要求进行设计并予以实现,具备良好的灵活性和可扩展性,并已在 AMS项目中投入运行使用。 1.3 论文组织结构 全文共分为六章,内容结构如下: 第一章:绪论。给出课题的研究背景和研究目的,明确论文的主要研究内容。 第二章:面向服务体系结构研究。阐述了面向服务体系结构的理论基础,介绍了企业服务总线的定义和技术特征,并分析了其应用价值。 第三章:系统分析与总体架构设计。对课题的项目背景进行了介绍,并对企业服务总线系统的体系结构、消息模型、组件框架和总线执行原理进行了分析和设计。 第四章:企业服务总线系统设计与实现。介绍了企业服务总线的各个模块,详细论述了系统各关键部分的设计与实现,以及它们之间的联系。 第五章:企业服务总线的应用。描述企业服务总线的应用,通过给出电子公文办结自动归档的应用实例来对系统运行的可行性和正确性进行验证。 第六章:总结与展望。总结了全文的研究工作,归纳了系统的实现情况和优缺点,并对下一步的工作进行了展望。 3基于面向服务体系结构的企业服务总线研究与实现 第二章 面向服务体系结构研究 2.1 企业应用集成 企业应用集成Enterprise Application Integration, EAI是企业实现业务自动化4的基础,传统的企业应用集成包括面向信息的集成和面向过程的集成两种 。面向信息的集成技术是数据级的集成,主要采用数据复制、数据聚合和接口集成等方式,其中接口集成是比较主流的技术。它通过集成代理的方式实现,即为应用系统创建适配器作为自己的代理,如果适配器的结构支持一定的标准,则将极大的简化集成的复杂度,并有助于标准化。目前,J2EE中的 Java连接器架构Java Connector Architecture, JCA极大地方便了企业应用集成,这项技术可以用来协调各企业信息系统之间的信息交换和共享。而面向过程的集成技术则是一种过程流集成的思想,它不需要处理用户界面开发、数据库逻辑和事务逻辑,而只是处理系统之间的过程逻辑,从而与核心业务逻辑相分离。在结构上,面向过程的集成方法新增了过程逻辑层,而在该结构的底层,应用服务器和消息中间件提供了支持数据传输和跨过程协调的基础服务。 随着信息技术的发展和企业对信息系统集成的需求日益扩大并复杂化,传统的企业应用集成技术逐渐暴露出其所存在的一些不足之处。无论是面向信息的集成还是面向过程的集成,从本质上讲都是面向功能的企业集成,只注重从技术和内容进行分类,并偏重于各自实现的功能,而没有强调各类集成间的相互关系和影响,以及作为一个共同整体对企业应用的影响。虽然这种方式相对简单和直观,但从宏观和长远角度上难以形成可以灵活配置和扩展的体系架构,在管理上也不便提供有效的控制框架来适应多变的业务需求。 企业应用集成的目标是支持对企业现有信息系统的重新利用,通过相关技术将不同的软件和系统串联起来,延长这些应用系统的生命周期。企业应用集成往往使用如 CORBA和 COM等消息中间件技术进行分布式、跨平台的程序交互,修改企业资源规划以达到新的目标,使用中间件、XML等方法来进行数据分配。因此,实际上传统的企业应用集成是组件级的重用。可是,基于组件的架构缺乏统一的标准,各个厂商都有各自不同的企业应用集成解决方案,由此出现了各种各样的中间件平台。当企业应用集成过程中碰到了异构的信息系统环境,就必须分别考虑怎样在各个不同的中间件之间周旋,以实现合理的集成方式。因此,企业需要寻求一个更好的方案来解决企业系统集成的问题。 4南京航空航天大学硕士学位论文 2.2 面向服务体系结构 面向服务体系结构Service-Oriented Architecture, SOA是一个系统架构层次的概念,其中所有的功能或服务都使用描述语言加以定义,并且各自的接口都可以通过网络进行发现。这类接口采用独立方式定义,不受服务实现所在的硬件平台、操作系统和编程语言的影响。 2.2.1 面向服务体系结构的定义 顾能公司Gartner最早提出了 SOA的思想:“面向服务的架构是一种基于客户机/服务器模式的软件设计方法,其中的应用由服务提供者和服务使用者也称5为客户机或服务请求者双方组成” 。Gartner为 SOA描述的远景目标是:使企业信息系统变得更有弹性,以更快地响应业务部门的需求,实现实时企业模式Real-Time Enterprise。 而 IBM对 SOA的定义为:面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元称为服务通过这些服务之间定义良好的接口和契约联系5起来 。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。 2.2.2 与传统开发方式的对比 传统的软件开发是以一种相对孤立的方式进行,在此方式中,每个部门构建自己的系统,而完全不考虑企业中的其他部门已完成了哪些东西。传统应用程序是“竖井Silo”型的,人力资源应用程序无法与财务应用程序通信,而后者又无法和分布应用程序进行通信。所有这些应用程序都有独立的领域,在独立的计算机上运行,尽管很有用但并不能很好地在彼此间共享数据。 这种“竖井”方式将会导致低效且开销巨大的情况出现,可能会造成多次开发、部署和维护相同的功能。而面向服务体系结构基于在整个企业组织范围内共享服务,提供了对现有资产的有效重用和集成,如图 2.1所示: 5基于面向服务体系结构的企业服务总线研究与实现 竖井Silo方式 SOA方式应用1 应用2 应用3 应用1 应用2 应用3功 功 功 功 功 功服务A能 能 能 能 能 能服务BA B A B A B图 2.1传统竖井方式与 SOA方式对比 2.2.3 面向服务体系结构的优点 从以上的分析可以看出,采用面向服务体系结构将为企业带来几方面的好处: 1 充分利用现有的信息系统 面向服务体系结构提供了一个抽象层,通过这个抽象层,企业可以继续利用它在现有信息系统方面的投资,方法是将这些现有的资产包装成提供各种功能的服务。企业可以继续从现有的资源中获取价值,而不必从头开始构建。 2 更易于集成和管理 在面向服务体系结构中,集成点是服务而不是具体实现。这为服务的使用者提供了透明性,并将基础设施和实现所发生的改变带来的影响降到最低限度。通过提供基于现有资源和资产构建的服务,集成变得更加易于管理,因为复杂性被隔离了。当更多的企业一起协作提供价值链时,这就变得更加重要。 3 更快的响应和部署速度 从现有服务中组合新服务的能力为企业灵活地响应多变的业务需求提供了独特的优势。通过利用现有的组件和服务,可以减少完成软件开发生命周期包括收集需求、进行设计、开发和测试所需的时间。这使得企业可以快速地开发新的业务服务,并允许信息系统迅速地对改变做出响应。 4 增加重用减少成本 通过以松散耦合的方式公开业务服务,企业可以根据业务要求更轻松地使用和组合服务。这意味着企业对信息系统资源的重用和信息成本的降低。 5 更易于用户使用 面向服务体系结构的业务流程是由一系列业务服务组成的,可以更轻松地创建、修改和管理它来满足不同时期的需要。面向服务体系结构为企业提供了灵活性和响应能力,这对于企业的生存和发展来说是十分重要的。 6南京航空航天大学硕士学位论文 2.3 Web服务 基础 Web服务Web Services结合了两种常见技术: XML和通用数据描述语言,并且通过 HTTP传输协议广泛被浏览器和 Web服务器所支持。作为重要的SOA实现方式, Web服务是一种广泛被人们接受的技术,它可以将运行在 Intranet, Extranet或 Internet分布式服务器上的应用集成在一起。 2.3.1 Web服务定义 W3C中 Web服务体系结构工作组对 Web服务的定义如下:“Web服务是一种通过 URL识别的软件应用,并通过 XML语言进行定义、描述和发现。Web12服务支持通过 HTTP协议交换基于 XML的消息或与其他软件代理直接交互。 ” 从以上定义可以看出, Web服务有两层含义:其一是指封装成单个实体并发布到网络上的功能集合体;其二是指功能集合体被调用后所提供的服务。简单地讲,Web服务是一个 URL资源,客户端可以通过编程方式请求得到它的服务,而不需要知道所请求的服务是怎样实现的,这一点与传统的分布式对象模型不同。一个完整的 Web服务除了其代码实现外,还定义了明确的接口。通常,接口描述 Web服务的内容和访问格式,客户端根据一个 Web服务的接口描述知道该 Web服务是否包含所需的功能以及它的调用方法。 2.3.2 Web服务的组成 Web服务规范通常归为两类:基本 Web 服务规范和扩展 Web 服务规范。基本规范包括 SOAP, UDDI和 WSDL等,扩展规范则有包括 WS-BPEL在内的数十种 WS-*规范。以下将对本文研究和实现企业服务总线过程中所涉及的部分Web服务规范进行简要的介绍。 2.3.2.1 SOAP 简单对象访问协议Simple Object Access Protocol, SOAP是基于 XML的消息协议,它能使分布式环境下的程序相互交换事先定义好的结构化信息。SOAP是服务使用者和服务提供者共同遵守的消息格式,由于它也是基于 XML技术,所以 SOAP是独立于编程语言和操作平台的消息协议,能使在异构环境下的应用程序相互通讯和操作。 SOAP协议为使用 XML在松散分布的环境中对等地交换结构化和类型化信息提供了一个简单的机制。SOAP本身并不定义任何应用语义,如编程模型或特定语义实现,它只是定义一种简单的机制,通过一个模块化的包装模型和对模块中特定格式编码的数据重编码机制来表示应用语义。 7基于面向服务体系结构的企业服务总线研究与实现 SOAP协议主要由 SOAP信封、编码规则、远程过程调用协定三部分组成。信封定义了整体 SOAP消息的表示框架,可用于表示消息中的内容是什么,谁发送的,谁应当接受并处理它,以及这些处理操作是否必需。SOAP编码规则定义了数据的编码机制,通过它来定义应用程序中需要使用的数据类型,并可用来交换这些数据类型所生成的实例。远程过程调用协定则定义了一个用于表示远程调13用和响应的约定。 2.3.2.2 UDDI 统一描述、发现和集成协议Universal Description, Discovery and Integration, UDDI 是由结构化信息标准促进组织Organization for the Advancement of Structured Information Standards, OASIS制定的一套关于 Web服务注册、发布、查询、发现和访问服务接口时要用到技术的标准规范。UDDI基于 HTTP, XML, XML Schema和 SOAP等开放的工业标准,为公开发布的服务和只在公司内部使用的服务提供了一个基于 Web服务的软件基础架构。 UDDI注册中心是对所有提供公共 UDDI注册服务站点的统称,在逻辑上它是一个统一体,但在物理上则以分布式系统结构实现,不同的站点之间采用对等的网络结构实现,因此访问其中任意一个站点就等同于访问 UDDI注册中心。一般情况下,访问 UDDI入口站点所获得的结果是整个 UDDI注册中心所覆盖区域的信息。信息查询无需身份认证,但在 UDDI入口站点上进行信息发布,则必须14通过这个站点使用用户名进行权限的认证。 2.3.2.3 WSDL Web服务描述语言Web Services Description Language, WSDL是基于 XML格式的网络服务描述语言,它将 Web服务中的服务描述成一组服务访问点,客户端可以通过使用服务访问点来访问这些网络服务。 WSDL将操作和消息以一种抽象的方式进行描述,然后将具体的网络协议和消息格式绑定来定义一个服务访问点。相关的服务实现者将与这个抽象的服务访问点联系起来。WSDL是可扩展的,它独立于服务消息格式和具体的网络通讯协议的标准。目前常用的 WSDL规范是 W3C在 2001年 3月发布的 WSDL1.1版本,WSDL2.0也已经在 2006年3月发布。 2.3.2.4 WS-BPEL Web 服务业务过程执行语言Web Services Business Process Execution Language, WS-BPEL是专门为整合 Web服务而制定的一项规范标准。它从本质上来说是 IBM的 Web服务流语言Web Services Flow Language, WSFL和微软的8南京航空航天大学硕士学位论文 XLANG语言的结合物和演化,同时摒弃了一些复杂繁琐的部分,形成了一种较为自然的描述商业活动的抽象高级语言。BPEL语言是一种基于 XML的标记语言,同时它也继承了传统编程语言中的一些特性如赋值操作、循环操作等。 BPEL定义的业务流程决定了合成的 Web服务之间的逻辑依赖性,即流程定义了 Web服务之间的调用顺序控制流和传送的数据数据流。BPEL能清楚说明服务间交换消息的协作行为,而又不涉及到服务内部的实现细节,这样就不暴露出企业在内部业务中所做的决策和对数据的管理。另外在更改服务的具体实现时,也不会影响到已定义业务的工作流程。 2.3.3 Web服务与 SOA 面向服务体系结构从方法学和系统架构方面考虑,是一种概念和模型,而Web服务是一种具体的实现技术,SOA并不等于就是 Web服务。Web服务是目前最适合实现 SOA的一些技术的集合,Web服务标准的成熟和应用的普及为广泛的实现面向服务体系结构提供了基础。 需要说明的是 Web服务并不是唯一实现面向服务体系结构的技术,可以找到许多其它组织成功实现 SOA架构的例子。Web服务也被用于实现非面向服务体系结构的其他结构。但是用 Web服务来封装业务服务有很多优势,因为 Web服务是标准的,WS-I协议保证了来自不同供应商的 Web服务即使运行在不同的平台上,底层的实现机理不同也可以顺利交互,这是以前的任何一种技术如CORBA, EJB, 或者 DCOM都不能做到的。而且,Web服务的定义与实现是分开描述的,即松散耦合,因此可以很方便地替换服务的内在实现而不会对现有的系17统造成任何冲击,这也极大地提高了企业信息系统架构的灵活性。 2.4 事件驱动的体系结构与 SOA 事件驱动的体系结构Event-Driven Architecture, EDA定义了一种用于进行设计和实现应用程序和系统的方法,其中的事件在各个分解的软件组件和服务间进行传递。 事件驱动体系结构使用消息传递来在两个或多个应用程序进程间进行通信,此类通信是由“事件”发起的。触发器通常与某种业务情况对应,该事件的所有订阅者将随后得到通知,从而激活,如图 2.2所示。 9通知基于面向服务体系结构的企业服务总线研究与实现 EDA节点EDAEDA节点节点EDA节点图 2.2事件驱动的体系结构 事件驱动体系结构对 SOA形成补充,虽然 SOA通常更适合请求/响应交换环境,但事件驱动体系结构引入了一些长时间运行的异步进程功能。而且,EDA节点可发布事件,并不依赖于所发布的服务的可用性。它真正地实现了同其他节点的分离,因此事件驱动体系结构有时也被称为“事件驱动的 SOA”。 2.5 企业服务总线 企业服务总线Enterprise Service Bus, ESB将事件驱动的方法和面向服务的方法结合使用,以简化业务单元的集成,从而在异类平台和环境间建立联系,充当不同应用程序间通信的中间层。部署到企业服务总线的服务可以由使用者或事件触发,它同时支持同步方式和异步方式,可实现一个或多个参与者之间的交互(一对一和多对多通信)。 2.5.1 企业服务总线定义 企业服务总线是一种体系结构模式,可以使不同的系统在企业内或企业间组装为联合总线,它是企业构建基于面向服务体系结构解决方案时所使用基础架构的关键部分。简而言之,企业服务总线连接了企业内部和跨企业间的软件应用程序,并以丰富的管理功能监控应用程序之间的交互。从本质上来说,企业服务总线就是一种可以提供可靠的、有保证的消息服务的新型中间件技术。企业服务总线利用的是 Web 服务标准和面向消息的中间件Message-Oriented Middleware, MOM协议接口。企业服务总线的共有特性包括:连接异构的信息系统、利用Web 服务描述语言接口封装消息中间件协议,以及在消息系统传输层上传送18SOAP数据流 。 10发布通知通知南京航空航天大学硕士学位论文 服务A 服务B企业服务总线服务C 服务D图 2.3企业服务总线示意图 企业服务总线的出现改变了传统的软件架构,它可以提供比传统中间件产品更为廉价的解决方案,同时还可以消除不同应用之间的技术差异,让不同的应用程序协调运作,实现了不同服务之间的通信与整合。从功能上看,企业服务总线提供了事件驱动和消息导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。 企业服务总线不是一种产品而是一种实现 SOA的实践方案,包含了服务消费者和服务提供服务之间的消息格式转换、路由选择和传输协议的转换等功能。而企业服务总线与传统的消息交换系统最大的不同就在于它提供了服务的自我描述和发现机制以及实现消息间的异步传递。 2.5.2 服务发现机制 作为企业级应用的服务总线,服务使用者能够发现服务提供者始终非常重要。一般的 Web服务采用的方法是由第三方注册中心维护一个已知服务提供者的数据库。客户机在运行时动态地查询该注册中心,或者,在开发时定位符合所定义的标准的一个或多个提供者。例如,在档案管理系统中,客户机可能要定位所有实现文件归档”archive”端口类型的服务提供者。在 Web服务中完成此任务的传统方法是:向 UDDI服务器提交一个查询,分析结果,选择提供者,然后调用服务。 在这个例子中,客户机代码可能不关心承载文件归档服务的开发平台和操作系统,但仍然需要紧密地绑定到”archive”端口类型及其提供者的具体实现。如果服务提供者更改了其文件归档服务的地址,每个按照这种方式绑定到服务的客户机都会受影响,因而必须进行更新。确保客户机使用的是正确服务的唯一办法就是在每个”archive”操作调用前重新查询 UDDI注册中心,然而这将使客户机浪费大量的时间重复 UDDI查询。 对于企业服务总线而言,简化此问题的一个方法就是引入代理作为调用 11基于面向服务体系结构的企业服务总线研究与实现 Web服务的中间层。客户机不再直接调用服务提供者,而调用相应的服务代理对服务提供者进行调用。该服务代理的任务就是定位恰当的实现,以使代码不必自己进行服务发现操作。 使用企业服务总线可以将选择恰当服务提供者的负担从客户机代码转到中间件上,从而为服务使用者提供一个简单得多的体系结构。服务代理不仅免除了客户机定位服务提供者的负担,还提供了一种灵活的方法,可以提高服务调用过程的效率。如果采用其他方式,客户机就不能获得这种灵活性。例如,服务代理可以缓存 UDDI数据,以提高服务提供者选择过程的性能。或者,服务代理可以封装业务逻辑,以根据已建立的服务级

    注意事项

    本文(基于面向服务体系结构的企业服务总线研究与实现(硕士论文)(可编辑).doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开