硕士学位论文-基于SOA的B2B农产品电子商务交易平台软件设计与实现.pdf_第1页
硕士学位论文-基于SOA的B2B农产品电子商务交易平台软件设计与实现.pdf_第2页
硕士学位论文-基于SOA的B2B农产品电子商务交易平台软件设计与实现.pdf_第3页
硕士学位论文-基于SOA的B2B农产品电子商务交易平台软件设计与实现.pdf_第4页
硕士学位论文-基于SOA的B2B农产品电子商务交易平台软件设计与实现.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

硕士学位论文-基于SOA的B2B农产品电子商务交易平台软件设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文题目 基于 SOA 的 B2B 农产品电子商务交易平台 软件设计与实现 专业学位类别 工 程 硕 士 学 号 201092250618 作 者 姓 名 陈达观 指 导 教 师 李晓峰 教 授 分类号 密级 UDC 注1 学 位 论 文 基于 SOA 的 B2B 农产品电子商务交易平台软件设计与实现 (题名和副题名) 陈达观 (作者姓名) 指导教师 李晓峰 教 授 电子科技大学 成 都 刘晓清 高 工 北京飞机维修工程有限公司 北 京 (姓名、职称、单位名称) 申请学位级别 硕士 专业学位类别 工 程 硕 士 工程领域名称 软 件 工 程 提交论文日期 2014.3.1 论文答辩日期 2014.5.16 学位授予单位和日期 电子科技大学 2014 年 6 月 25 日 答辩委员会主席 评阅人 注 1:注明国际十进分类法 UDC的类号。 BASED ON SOA B2B SOFTWARE DESIGN AND IMPLEMENTATION OF AGRICULTURAL PRODUCTS E-COMMERCE TRADING PLATFORM A Master Thesis Submitted to University of Electronic Science and Technology of China Major: Master of Engineering Author: Chen Daguan Advisor: Li Xiaofeng School : School of Aeronautics and Astronautics 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也 不包含为获得电子科技大学或其它教育机构的学位或证书而使用 过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论 文中作了明确的说明并表示谢意。 作者签名: 日期: 年 月 日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 (保密的学位论文在解密后应遵守此规定) 作者签名: 导师签名: 日期: 年 月 日 摘要 I 摘要 文章针对我国现有农产品销售过程中针对性以及市场需求满足不足的特点, 基于 SOA 引入,且协议集标准选取开放式,选择整体观点,企业中利用业务流程 管理连接地层基础以及经营过程。建立的集成平台具有标准化、统一化以及灵活 配置性的特点。该类 IT 基础架构作为新兴集成,基于技术和服务相独立,在各部 门及企业间实现了资源共享,商务活动也能协同实现,因此实现有农产品企业的 经营效率的提升,达到信息共享程度提升,以及企业利润提升的目的。 本文以SOA的理论、优势及特性为依据,设计过程中,采取的框架为 Struts2 以及 Hibernate,两种均为广泛使用的框架,开发出的 B/S 系统编写通过 Java 语言 实现。Orcale 作为所选择的数据库,针对传统分布式软件架构存在的弊端进行分 析,在新模型中以解决上述问题为依据增加内容,从而得到以 SOA为基础的B2B 芦笋网上销售电子商务平台。阐述了芦笋网上销售系统的功能及作用,设计与分 析了芦笋网上销售系统的详细设计过程、数据库设计、各模块的设计与实现,以 及具体界面的设计和功能。此系统一方面将先进技术引入,同时开发思想为 SOA 架构,以相关业务为举出,封装全部功能,从而提供相对独立的服务,上述服务 中存在的客人调用接口具有明确的定义,形成业务流程能够通过调用已定义顺序 完成。 本系统设计,体现了异构平台可以集成和交互的特点,也体现了了利用 SOA 构建新一代电子商务系统的优势、过程,并说明了 Web Services 技术在 B2B 电子 商务综合应用和企业应用集成中的巨大作用。通过具体的实际实现证明,该 B2B 电子商务平台完全体现了基于 SOA 架构的优点。可以帮助企业充分共享现有信息 资源,实现用户信息以及农产品信息管理的集约化与效率的提升。相对于传统销 售系统而言,在满足了多元化客户需求的基础上,实现了农产品销售的针对性以 及不同级别和用户的需求,从而实现了农产品销售的针对性。 关键词:关键词:面向服务架构 电子商务 Web 服务技术 ABSTRACT II ABSTRACT In view of the current agricultural products sales process as well as the market demand of lack of features, based on SOA is introduced, and the protocol standard open, choose the overall point of view, connection formation foundation as well as the business process by using business process management in enterprises. Integration platform was established with standard, unified and flexible configuration. The IT infrastructure as a new integration, based on technology and service is independent, in the various departments and enterprises to realize the sharing of resources, business activities can also be coordinated, so the realization of agricultural enterprises operating efficiency, to achieve information sharing degree promotion, and the purpose of enterprise profits. Based on the SOA theory, the advantages and characteristics as the basis, the design process, the framework for the Struts2 and Hibernate, two are the framework for the widely used, writing is realized by Java language developed B/S system. Orcale as the selected database, analyzes the shortcomings of traditional distributed software architecture, in the new model to solve the problems mentioned above as the basis of content increase, resulting in SOA based B2B e-commerce platform for online sales. It describes the function and role of asparagus online sales system design and analysis, system design and Realization of asparagus online sales during the detailed design, database design, each module, and the specific interface design and function. This system will be advanced technology is introduced, and development thought for the SOA architecture, related to the business name, package all the functions, so as to provide a relatively independent service, guests call interface existing in the service in a clear definition, form the business process can be defined in order to complete the call. The design of the system, embodies the characteristics of heterogeneous platform integration and interaction, also reflects the advantage, building a new generation of electronic commerce system based on SOA, and explains the important role of Web Services technology in the integration of B2B integrated e-commerce application and enterprise applications. Through the practical . Through the practical implementation prove that, the B2B e-commerce platform fully embodies the advantages of framework based on SOA. Can help enterprises to fully share the existing information resources, to ABSTRACT III achieve intensive user information and information management of agricultural products and enhance the efficiency of. Compared with the traditional sales system, to meet diversified customer demands, achieved sales of agricultural products as well as the different levels and the needs of users, in order to achieve the targeted sales of agricultural products. Key Words:Service Oriented Architecture E-commerce Web Services 目录 IV 目录 第一章 绪论 1 1.1 课题的研究背景及意义 1 1.2 国内外研究现状 2 1.3 课题研究的内容 3 第二章 面向服务体系架构理论及关键技术研究 4 2.1 面向服务体系架构产生的背景 4 2.2 面向服务体系架构相关理论 4 2.2.1 SOA 的概念 4 2.2.2 SOA 的特点 5 2.2.3 SOA 协议栈 7 2.2.4 SOA 的协作 8 2.2.5 SOA 架构所具备的优点 9 2.3 Web 服务 . 10 2.4 Web 服务工作流程 11 2.5 Web 服务和 SOA 的联系与区别 . 12 2.6 Web 服务的特点 . 13 2.7 基于 MVC 模式的 Struts2 框架 14 2.7.1 软件分层及其优缺点 14 2.7.2 MVC 模式介绍 . 16 2.7.3 Struts2 框架介绍 . 16 2.8 ORACLE 数据库 17 2.8.1 Oracle 数据库的特点 . 17 2.8.2 Oracle 数据库的存储结构 . 18 2.8.3 ORACLE 数据库安全技术 19 第三章 系统需求分析 20 3.1 系统功能需求 20 3.2 系统的总体规划 21 3.3 总体思路原则 22 3.3.1 标准性原则 22 3.3.2 先进性和可靠性原则 22 目录 V 3.3.3 可扩展性原则 22 3.3.4 安全性原则 22 3.4 系统的开发平台 23 第四章 系统概要设计 24 4.1 系统结构设计 24 4.2 功能模块需求设计 25 4.2.1 登录注册 25 4.2.2 农产品信息管理服务 26 4.2.3 财务管理 28 4.2.4 用户管理 29 4.2.5 订单管理 30 4.2.6 客服管理 31 4.2.7 订单信息管理(用户) 32 4.2.8 客户服务 32 4.2.9 用户信息管理(用户) 33 第五章 农产品电子商务交易平台软件设计与实现 34 5.1 数据库设计 34 5.2 功能流程分析与设计 36 5.2.1 登录注册服务 36 5.2.2 农产品信息管理服务 38 5.2.3 财务管理 45 5.2.4 用户管理 45 5.2.5 订单管理 46 5.2.6 客服管理 47 5.2.7 订单信息管理(用户) 50 6.2.8 客户服务(用户) 51 5.2.9 用户信息管理(用户) 52 5.3 Log4j 日志工具应用 . 54 5.4 Hibernate 配置数据库连接 55 第六章 测试与评价 57 6.1 系统环境需求 57 6.1.1 外设硬件控制 57 6.1.2 软件控制 57 目录 VI 6.2 系统测试运行 58 6.2.1 系统的质量与测试 58 6.2.2 系统程序调试 59 6.2.3 系统测试的作用和意义 59 6.2.4 系统测试方法 60 6.2.5 测试结果评价 60 6.2.6 系统安全性评价 61 第七章 结论 62 致谢 63 参考文献 64 第一章 绪论 1 第一章 绪论 1.1 课题的研究背景及意义 在电子商务系统中,绝大部分 B2B 都以传统分布式对象技术为技术,而在一 个时期都是见先进的。而上述对象技术的数据标准以及协议也都是不相同的,因 此形成复杂的机制,同时也耦合了服务器以及客户端,且具有一致的底层结构。 一旦加入新业务,代码编写也重新完成,因此资源部署具有重复性,增加成本的 同时,降低业务处理的效率。若集成的系统中,任一部分将实现机制改变,则业 务流程也随之改变,则剩余的部分也出现变动,如果不是并非如此则耦合关系较 弱易打破,也就使得业务在灵活度方面出现问题。因此对于电子商务提出的灵活 度要求也就无法满足,此外,技术层面上,将表现出较低的可扩展性以及较高的 耦合度等劣势。同时,调用包括 CORBA 以及 RMI 等在内的分布式技术时,以懂 态端口为基础完成分配,因此数据传输时,若是需将企业级防火墙越过,则暴露 出较大的局限。而企业中多数的应用系统拥有的底层架构也是存在差异的,标准 也是不统一的,从而企业信息及数据的共享与整合难度极大。 而开发出Web Service后,针对上述问题是绝佳的解决方案。该分布式服务模 型中,信息及数据的交流及集成过程中,Web 服务提供了最有效机制。对电子商 务而言,其应用层面上讲,程序连接的复杂程度以及代码质量水平与系统维护以 及更新成本不成正比,对 Web 服务而言满足了该方面的需求。将有限互操作性进 行拓展,从而实现对分布式计算能力的改善,从而使得有限的互操作性而改进了 分布式计算的能力,这一措施的一大优点就是使电子商务企业的投入大大缩减, 主要体现在应用集成和数据集成两方面,强有力的支撑着电商平台的构建,大大 提高了基于不同企业之间应用集成的电子商务应用重用的成功几率。 SOA,英文为 Service Oriented Architecture,该体系结构以服务为中心,在服 务供给者,服务需要者,服务注册处之间进行交流,从而完成服务的交流和调 用。SOA 因为其软件组件具有典型,松散耦合等特点,使得一般的技术与之相差 甚远,相应功能的完成主要依靠相应的标准和规定,服务的阐述主要依靠 WSDL,服务的发布于找寻主要依靠 UDDI,描述数据由 XML 负责,服务的调用 主要依靠 SOAP 协议6。Web Service 在开发和应用中所表现出来的便捷性主要取 决于这些标准的使用。Web Service 以 XML 和 SOAP 为核心,前者的特点是储存 数据的方式标准统一,这一特点使异构平台进行数据访问成为可能;后者将信息 捆绑在 HTTP 协议上,并且把它传递过去,这样的通信方式是能够穿透过任何防 电子科技大学硕士学位论文 2 火墙设置的。企业应用这种Web的方式服务,把抽象与组合利用起来使它的电子 商务实现组件化,这样,就能很好的提高不同平台之间,业务流程之间的即时的 对接和交流了。 最近几年,Web Service已经渐渐走向成熟,SOA的技术构架也初具规模,这 样就为 B2B 电子商务平台应用 SOA 思想提供了可能性。SOA 架构以服务为中 心,在现有服务的基础上进行进一步的组织和封装,来重新构建服务。这一过程 一方面将软件的可配置性与重用性进一步提升,另一方面减少了企业在使用新技 术的投入,与此同时,有利于日后的平台维护。 1.2 国内外研究现状 根据 Gartner Group 的评估,SOA 在 2008 年到来时,在软件工程实践方式的 市场上将占据较大比例,在此之前,统治了 40 年之久的传统软件构架体系将被彻 底取代,到那个时候,将会有四分之三的企业将会进行 SOA 转型。主导企业持续 增长,在此影响下,SOA 建立在标准设计方法之上,涵盖了网络的集成技术,使 单独平台与语言能够进行交流。 较大规模的基础软件供给商拥有各自的 SOA 平台以及相应的产品。 创建以 SOA 为基础的 IT 系统,其所需的工具,服务以及培训都将来自 IBM,SOA 生命周期中的各个方面,都体现在了 IBM 中,包括其提供的五种产品 线:Tivoli、DB2、Websphere、Workplace、Rational。 甲骨文公司致力于为客户提供全面、开放、集成的云计算解决方案,Oracle 云应用基础战略可以有效满足企业对现有应用设施的云扩展和部署需求,其最新 发布的 Oracle Weblogic 12c 添加了六个值得关注的新特性,最重要的就是通过 Java EE 6标准认证。除通过Java EE 6认证外,还拥有Java平台标准版SE7功能, 减少了 25%的 Java 类代码、50%的代码行和 80%的 XML 行,并使代码更加简 洁、易于维护。它还采用了现代编程技术和基于标准的、现代的应用程序编程接 口(API),包括 Servlet 3.0、EJB 3.1、上下文和依赖注入规范(Context and Dependency Injection)等。此外,Oracle WebLogic 12c 的 zip 下载包从 1GB 缩减到 168MB,并无需安装程序、解压缩或运行 Win/Linux/OSX。并对 Oracle JDeveloper、NetBeans IDE 和 Eclipse 等提供了支持。 BizTalk 是微软公司发布的基于 SOA 架构的产品。Biz 为 business 的简 称,talk 为对话之意。其最新发布的 Server 版本从基本结构上更新了交易伙伴关 系管理(TPM),引入了一个易于操作的用户界面来管理合作伙伴、配置文件、 伙伴关系、协议和设置组成的分层模型。整理所有 BizTalk 性能设置,并提供了 第一章 绪论 3 一个中心控制台设置仪表板 (Settings Dashboard) 来调整 Server 参数,已达到 调整 Server 性能的目的,这样做的好处在于:(1)改进了可配置属性的可识别性; (2)所有设置集中在一个位置访问,并可以被轻松导入导出,更加方便灵活;(3)在 指定的 BizTalk 部署上提供历史性能调优的整体视图。 1.3 课题研究的内容 本次论文研究包括以下几方面的工作:电子商务软件平台的需求调研、以需 求调研为基础的流程设计、架构设计和数据库设计,并且结合 SOA 模式的发展趋 势,确定分布式接口的开发和设计。 SOA在Web平台方面的应用已经日趋成熟,其面向服务的原则可以组成一个 应用系统的各部分在保持内部结构和实现的基础上独立存在,根据业务的需要变 得更加灵活。本次论文研究过程中着重研究了 SOA 的设计思想,并结合电子商务 软件平台的需求,设计了实现平台所需要的接口。 本文以SOA的理论、优势及特性为依据,设计过程中,采取的框架为 Struts2 以及 Hibernate,两种均为广泛使用的框架,开发出的 B/S 系统编写通过 Java 语言 实现。Orcale 作为所选择的数据库,针对传统分布式软件架构存在的弊端进行分 析,在新模型中以解决上述问题为依据增加内容,从而得到以 SOA为基础的B2B 芦笋网上销售电子商务平台。阐述了芦笋网上销售系统的功能及作用,设计与分 析了芦笋网上销售系统的详细设计过程、数据库设计、各模块的设计与实现,以 及具体界面的设计和功能。此系统一方面将先进技术引入,同时开发思想为 SOA 架构,以相关业务为举出,封装全部功能,从而提供相对独立的服务,上述服务 中存在的客人调用接口具有明确的定义,形成业务流程能够通过调用已定义顺序 完成。 本系统设计,即体现了网站类平台可以集成和交互的特点,有效控制系统中 与软件代理交互的人为依赖性。同时也体现了利用 SOA 构建新一代电子商务系统 的优势及过程,并说明了 Web Services 技术在 B2B 电子商务综合应用和企业应 用集成中的网络建立、供应链体系的稳固作用。通过具体的实践证明,该 B2B 电 子商务平台完全体现了基于 SOA 架构的优点。可以帮助企业充分共享现有信息资 源,实现用户信息以及农产品信息管理的集约化与效率的提升。相对于传统销售 系统而言,在满足了多元化客户需求的基础上,实现了农产品销售的针对性以及 不同级别和用户的需求,从而实现了农产品销售的针对性。 电子科技大学硕士学位论文 4 第二章 面向服务体系架构理论及关键技术研究 2.1 面向服务体系架构产生的背景 时至今日,随着电子信息化建设的稳步推进,各种 Web 系统的应用,将科技 管理纳入计算机网络。总体而言,不同种类的 WEB 应用系统关注的焦点往往只 集中于某个单一的方面,某种管理功能,某个业务部分,各自的标准也具有差 异,集成与协作水平有待提高。每一应用系统的运行是各自独立的,不会干扰对 方。此外,虽然各个系统以不同平台为基础,应用各自的语言,但是这些系统交 叉的地方却很多,信息和数据的重复现象也很普遍。在此影响下,信息与数据进 行了反复处理,更新速度的一致性受到影响,严重者差异明显,加大了管理难 度,浪费了资源,信息共享成为各系统的一大难题。传统软件开发过程中应用了 紧耦合的开发工具,平台,操作系统,使得各个独立的系统因为位置的不集中而 成为信息孤岛。目前,需要一种最新的开发软件的方法来实现以下目的:使现有 的模块重用效果好,开发软件的速度大大升高,在重用过程中不受开发环境不同 及其各自运行平台的影响,此外,模块被重用后实现从旧系统到新系统的自由转 换,不同的信息系统整合后信息能够被共享和使用,形成的新系统具有有效,灵 活,开放,可靠等特点也是重要的目标。纵观软件开发经过的面向过程,面向对 象,面向构件者三个阶段。面向过程的适用对象是高度耦合的系统开发而非较大 的软件系统,面向对象在软件开发过程中只能使用同种语言,面向构件尽管能够 共享二进制级别的构件但还是受到了特定平台的限制。所以,面向服务的软件开 发方法应运而生,以发布接口为主要方法,别的应用程序以接口为媒介获取其所 需的服务,这些服务能够通过网络调用,SOA 框架的使用,尽可能减少了系统与 系统的耦合,使系统的可重用性得到了提升。使用 WebService 技术来创建面向服 务的体系结构,因为其灵活性而大大减少了开发投入,同时也降低了风险。因 此,这种编程模型受到了越来越多的软件开发者的青睐。 2.2 面向服务体系架构相关理论 2.2.1 SOA 的概念 现阶段,如何定义 SOA 仍然众说纷纭,并没有确切的结论,以下为业界关于 SOA 的几种定义: 万维网协会(World Wide Web Consortium,W3C)的将SOA这样定义:“是一种 第二章 面向服务体系架构理论及关键技术研究 5 将每种功能都定义为服务的应用程序体系结构,该体系结构中被定义的服务均带 有可调用接口,业务流程的完成依靠这些服务的依次调用。” Service- 的对SOA这样定义:“将服务定义为定义明确,封装完 整,与别的服务相独立的函数,这些服务的集合就是SOA。” Looselycoupledcom的将SOA定义为:“其他成员根据需求,通过网络以标准 的方式对资源进行访问,就构成了以需求连接资源的SOA系统。” Gartncr的对SOA这样定义:“软件服务的供给者和需求者构成看了软件服务的 一项应用,是客户端/服务器的软件设计方法的一大特点,SOA与之不同的是,将 软件组件进行松散耦合,应用相互独立的接口来构成面向服务的体系结构11。” 业界对于SOA并没有给出统一的定义, 但从以上各定义中能够得到SOA的四个 特点:应用程序前端、服务总线、服务库以及服务。由一个契约、一个实现、一 个或几个接口组成了一个服务。 2.2.2 SOA 的特点 以SOA为基础,来创建IT系统需要下述特点: 1.将服务作为关注的焦点 SOA所用的软件开发方法以面向服务为焦点,有效的补充了面向过程,面向对 象,面向构件,面向数据库等开发方法。 不同于面向过程、面向对象、面向消息、面向数据库等软件开发方法,SOA 从更高的层次对服务进行定义,并且其与业务相对应。 服务通常对较粗粒度的接口进行定义,通过使用大量的计算资源,从而获取 更为丰富的数据信息,这一点与面向对象的调用接口相比有较大的不同。服务的 功能并非给应用建立相应的业务逻辑,而是对应用间相互操作的问题进行解决, 此外,还可以组合服务来形成新的应用。 以SOA为媒介,以服务为核心,创建IT系统,从而提高了IT系统适应业务变 化的能力,同时也使IT系统与实际的业务要求更加接近,此外,通过服务化封装 的方法改造现有应用系统,提高现有应用系统的可重用性,实现了对现有应用系 统建设的保护。 2.进行松散耦合 在软件设计过程中,松散耦合是一个重要的概念,在SOA中,服务与服务进行 松散耦合。具体内容包括以下几个方面: 对接口进行松散耦合 所谓接口耦合就是服务需要者与服务供给者所发生的耦合。需要者与供给者 之间的依赖性是主要的参考指标。接口进行松散耦合后,根据服务契约以及服务 电子科技大学硕士学位论文 6 水平协议,服务需求者能够请求相应的服务,但是对于服务供给者对于内部实现 的实现,服务需求者无需了解。换言之,服务需求者并不能看到被封装了的实现 细节。 对技术进行松散耦合 服务依赖于某一技术,产品,环境,这种依赖性是衡量技术耦合的重要指标。 所谓的技术松散耦合,是指服务的需要者和供给者在运行过程中并不依赖于某种 技术,某一产品或厂家,这样就降低了对厂商的依赖。技术松散耦合使得服务的 需要者与供给者在技术实现过程中并不局限于统一厂商,而使可以在不同厂商中 实现。 对流程进行松散耦合 服务于某种业务流程之间的依赖性是流程松散耦合的评价指标。SOA系统中, 服务不与某一特定业务流程相匹配,有利于服务被各种不同的业务流程所利用。 这就突出了服务的重用性特点,SOA系统通过对业务服务的设置,实现了业务服 务被其他业务流程重复使用,随后,一个服务被应用于新的业务流程,以适应业 务要求的变化。 3.重构的灵活性 建设SOA系统过程中,以完成业务功能的服务为基本单位,而较小的技术单位 包括实现业务逻辑的对象,函数,以及过程并不是基本单位。 实际业务功能决定了服务的种类,具备确切的接口。不同业务流程可以重复 使用这些服务,这样就是业务的价值得到了大大的提升;另外,根据接口的要求 对服务进行使用,忽略服务细节,避免了服务使用方的逻辑因为服务在实现过程 中的改变而改变,以便于适应业务流程;其次,当业务流程发生改变时,可以通 过重现编排服务来适应改变,体现了重构的灵活性。 一方面提高了业务服务的重用性,另一方面,重构业务流程变得更为简洁, IT系统能够更为灵活的适应市场的变化。 4.支持标准 建设SOA系统过程中,开放标准可以确保服务的互操作性,因此服务要尽可能 满足开放标准。各项服务有关的技术都有着各自的标准,相当多的好处将伴随标 准的使用而产生: 对某一厂商的依赖性大大降低了; 服务需求者并不局限于某一服务供给者,而是拥有更大的选择空间; 服务供给者的适用范围提高了,服务请求者增加。 实现应用开放源代码标准的可能性增加。 第二章 面向服务体系架构理论及关键技术研究 7 2.2.3 SOA 协议栈 在构建面向服务的体系结构过程中,分布式系统的创建将应用程序功能发布 给终端用户或其他服务,以供其使用。功能元素与服务质量元素是构成 SOA 体系 结构的重要组成部分12。结构见图 2-1。 (1)功能元素 传送(Transport):SOA 系统使用的通信机制将接收服务请求者的请求并将其 传递给服务供给者,随后服务供给者发出回应并通过该通信机制对服务请求者进 行反馈。 服务通信协议(Service Communication):对服务供给者与服务请求者之间进行 信息传递的服务协议进行定义。 服务表达(Service Description):用特定的模式对服务的性质,调用方式,调 用所需数据进行描述。 服务(Service):能够被真正使用的服务功能。 业务流程(Business Process):根据业务要求,以一定的顺序来调用所需的服 务,这些服务的集合构成了业务流程。 服务注册中心(Service Registry):以服务注册中心为平台,服务供给者将服务 与服务描述的仓库进行发布,服务请求者则通过这一平台根据自身的需求进行检 索。 (2)服务质量元素 策略(Policy):是一组条件和规则的集合,服务供给者在对服务请求者提供服 务时所要参考的条件与规则。策略具备了功能元素和服务质量元素两个方面。所 以,策略功能在功能和服务质量两个区中都会出现。 安全性(Security):是一种规则集,在对服务请求者的身份进行验证、授权以 及访问控制等过程中发挥作用。 事务(Transaction):是一种属性集,通常被用在一组服务中,从而确保一组服 务在调用时结果的统一性。 管理(Management):是一种属性集,管理服务以及服务的应用中发挥作用。 电子科技大学硕士学位论文 8 图 2-1 SOA 的协议栈 2.2.4 SOA 的协作 服务供给者(Service Provider)、服务需要者(Service Consumer)以及服务注册中 心(Service Respository)共同构成了面向服务体系构架。 SOA 的协作见于图 2-2。SOA 中上述三个角色实现了这些协作。在此之中, 服务需要者通过服务注册中心对所需的服务进行检索,搜寻,当找到所需的服务 时,服务需要者可以通过注册中心得到服务的终端地址以及接口契约,之后将服 务供给者绑定并进行调用。 (1)SOA 架构中的各个角色 服务供给者(Service Provider):通过 Web 服务描述语言将程序中访问的应 用程序功能进行描述和定义,并通过服务注册中心发布,这样服务需要者能够在 服务注册中心中对服务进行访问和调用。 服务需要者(Service Consumer):服务需要者所需的服务可以在 Web 服务中 心进行查询,当找到自己所需的服务时,将服务一 WSDL 文档的形式进行下载, 之后按照文档的指示,来对服务注册中心中的服务进行绑定和调用。 服务注册中心(Service Respository):服务提供者将自己可提供的服务发布 在服务注册中心,之后服务请求者可以通过该中心对自己需要的服务进行查找和 调用。是连接供给者与请求者的纽带,服务请求者通过该中心检索到所需服务 后,便可以脱离服务注册中心,直接从服务供给者获得服务。 (2)SOA 架构所具备的功能 发布(Publish):通过将发布的服务进行定义和描述,服务请求者能够查询到 第二章 面向服务体系架构理论及关键技术研究 9 该服务并进行访问。 发现(Find):服务需要者通过服务注册中心根据自己的标准对所需服务进行 查询,得到自己所需的服务。 绑定(Bind)和调用(Invoke):在服务注册中心查找到自己所需的服务后,在服 务描述中查找信息,对服务进行调用。 (3)面向服务的体系结构中所存在的构件 服务(Service):是构成 SOA 系统的基本单位,是构成服务接口的基本单元 素,从而完成服务描述。服务有三个基本类型,软件模块,一个组合的服务,或 者是描述接口的代码。服务需要者通过接口对服务进行调用。 服务描述(Service Description):对服务的方式(服务请求者与服务供给者的交 互方法)以及服务的格式进行定义。 图 2-2 SOA 的架构关系图 2.2.5 SOA 架构所具备的优点 (1)编码的灵活性 编码的灵活性体现在,以底层服务为基础,通过多种组合方式,来建立高层 服务,这样就可以对服务进行重用。除此之外,服务请求者与服务供给者之间没 有直接关系,可以灵活的完成服务。 (2)确定开发人员角色 根据开发人员各自所熟知的业务环境进行分工,来规划业务流程,从而实 现人力、物力资源的优化配置。 电子科技大学硕士学位论文 10 (3)为多种客户类型提供服务 对服务接口进行确切定义,为 XML、Web 服务标准提供支持,有利于扩展 客户类型,增加包括 PDA、手机等访问渠道。 (4)有利于维护、提高重用性 将服务需要者和服务供给者进行松散耦合,加上标准接口的使用,使系统更 易维护,并且提高了重用性。 (5)提高了伸缩性 伸缩性在服务设计、开发以及创建阶段通过架构模型得以展现。为迎合服务 的需求,服务提供者进行独立的调整。 2.3 Web 服务 SOA的概念仅体现在体系构架上而非某种技术集合,因此在具体使用SOA构 架过程中,相应具体的技术是必不可少的。在 SOA 系统中,对服务的动态查询, 以多种方式相互组合,共同完成某一指定功能,都进行了详细的定义。实现不同 操作系统,不同编程语言,不同硬件平台之间的应用系统的集成是 SOA 的最终目 的。现阶段,CORBA,web 服务是 SOA 的常用技术,以基于 XML 技术的 Web 服务为最佳。 WSDL、UDDI、XML、SOAP 共同组成了 Web 服务技术。UDDI 注册中心接 受 WSDL封装的服务信息,而 WSDL是以 XML为基础的 Web 服务描述语言,之 后服务需要者在 UDDI 注册中心中对所需服务进行查找,同时与 SOAP 传递的信 息结合,通过 RTTP 协议调用所需服务。 XML可扩展的标记性语言 XML(Extensible Markup Language),属于一种标记语言,这种语言是基 于文本的,是现阶段全世界广泛用于描述数据以及交换数据的语言。不同于数据 库(Access,Oracle 和 SQL Server),XML 仅仅用于储存数据,功能非常简单,而 后者具备了数据查找,排序,相关一致性等多种功能。这是一个看上去有点琐细 的优点,但正是这点使 XML 与众不同。 XML 与 HTML 的技术区别是:XML 的技术侧重点为传输和存储数据,其焦 点为数据本身 XML 被设计为传输和存储数据,其焦点是数据的内容。而 HTML 的侧重点是展示数据,其焦点是数据的展现形式。 XML 和 HTML 语法区别:XML 要求所有的语法标记必须成对出现,且大小 写敏感;而 HTML 的语法则没有强制要求所有标记都成对出现,且不区分大小 写。 第二章 面向服务体系架构理论及关键技术研究 11 SOAP简单对象访问协议 SOAP(Simple Object Access Protocol),即简单对象访问协议,它以 XML 为基础,具有简便,轻量等特点,通过 WEB 进行结构化以及固化的信息交流。 SOAP 的一大特点是与 HTTP、SMTP、MIME 等形式、网络协议的联系,此外还 会支撑自消息提醒至远程过程调用(RPC)等众多运用程序。 (3)WSDLWeb 服务描述语言 Web 服务描述语言,英文全称 Web Service Diseription Language,简称 WSDL,通常被用来对 Web 服务与函数、指数、回馈值给予阐述,这是由于以 XML为基础,所以WSDL不但是机器能够读取的,也是人工能读取的,这会是较 大的用处。部分新型的研发工具不但可以按照Web service形成WSDL文档,还可 以进行 WSDL 文档的导入操作,形成调动有关的 Web service 代码。 (4)UDDI通用描述、发现与集成 UDDI,Universal Description,Discovery and Intergration,它本质上是一 种标准和规范,主要是针对面向 web 服务的信息注册中心。在完成 Web 服务的发 布和发现过程中,UDDI 注册中心起到了重要作用。 UDDI 是较为开放的商业规划,其达成让公司可以借助网络达成相互之间的 信息共享成为可能,商业实体通过这一基本体现组成的模块,迅速方便的发现自 身运用软件相符的商业物质,然后借助电子化的商业交易构建一定的关系。 UDDI 是 Web 服务合成的系统架构,含有服务阐述和寻找的规范要求,其运 作 W3C 与 Internet 工程任务组织(IETF)的众多要求当作其达成前提。例如, XML、HTTP 与 DNS 协议。此外,在跨平台规划特性中,UDDI 基本上运用已被 提及至 W3C 的 SOAP 标准的最初格式。 UDDI 为分布式网络服务注册体系,含有阐述、检索与合成等内容,注册体 系 是其中心。UDDI 存在一类能够公开查询的端口,借助上述端口,互联网服务 能够对服务信息库进行服务信息注册的操作,服务要求人员能够发现位于全球所 有地区的互联网服务。 2.4 Web 服务工作流程 实现和调用 Web 服务的典型工作流程如图 2-3 所示。 电子科技大学硕士学位论文 12 图 2-3 Web 服务的典型工作流程 (1)Web 服务通过 Web 服务供应方在 UDDI 注册得到。 (2)UDDI 注册表借助供应方位 Web 服务访问服务,让其外在服务申请人员能 够通过查询,发现其所需的 Web 服务。 (3)Web 服务申请人借助访问 UDDI给出的 Web 服务定位信息,得到服务端口 自行产生的 WSDL 文件。 (4)Web服务申请人按照WSDL文件形成有关的SOAP调用信息,传递到Web 服务供应人员,达成 Web 服务的调用目的;Web 服务供应者操作有关的 Web 服 务,把服务结论借助 SOAP 响应信息的方式传递到 Web 服务申请者的位置。 2.5 Web 服务和 SOA 的联系与区别 在掌握SOA与Web服务的联系方面,常常会出现混杂的情况。2003年4月, Gartner指出知名学者Yefim Natis针对这一问题的看法是:Web服务属于技术标准 的范畴,SOA属于设计规则的范畴,为SOA配套的端口界定规范,这是两者的本 质关系。从实质视角进行分析,SOA是一类结构方式,但是Web服务主要借助一 类规范达成服务的目的。Web 服务是达成 SOA 的一个形式。 1.SOA 和 WEB 服务的相同之处: 进行服务供应。 第二章 面向服务体系架构理论及关键技术研究 13 服务端口是以开发为基础。 服务端口与服务的实际达成是分开的 2.SOA 和 WEB 服务的差异: WEB 服务端口要捆绑达成服务的组件完成服务的目的,针对实际服务完成进 行封闭组装操作,让服务出现透明化态势,客户端口不必掌握服务是怎样达成 的,然而 Web 服务组件自身要了解是怎样达成的。此外,客户端对 WEB 服务组 件进行调用的时候,要了解其实际方位与传递协议,上述会导致某些麻烦,仅仅 完成某种水平的抽象操作18。 图 2-4 Web 服务接口绑定 SOA 结构平台仅仅与服务端口实现捆绑操作,针对服务端口进行密封操作, 完成服务端口的透明化操作,服务方位的公开、服务传递协议的公开。SOA 自身 并不了解服务实际是怎样达成的。当客户端口借助 SOA 进行服务调用的时候,不 必了解真实的服务供应者,详细的服务方位与实际传递协议。SOA 达成了最大水 平的抽象,给达成存在最大灵敏性的服务构建了结构前提18。 图 2-5 SOA 接口绑定 2.6 Web 服务的特点 1)互操作性:任何的 Web Service 之间都可以进行交互。由于有了 SOAP 这一 全部关键提供者都兼容的新规范协议,因此回避了在 CORBA、DCOM 与另外协 议间要进行变换的问题,也能够运用其他程序语言编撰 Web Service,节约了编程 者的开发成本。 2)普遍性:Web Service 借助 HTTP 与 XML 实现通讯的目的,所以,所有支 撑上述技术的装置都能够享有并查询 Web Service。 电子科技大学硕士学位论文 14 3)易于使用:Web Service 蕴涵的基本概念易于理解,开发不受程序语言和平 台的限制。 4)行业支持:所有主要的供应商都支持 SOAP 和 Web Service 技术。5)较高 整合水平:因为Web服务运用较为单一、容易掌握的规范Web协议,将其当做通 讯协议,全部遮蔽各个平台的不同,不管是 CORBA、DCOM 抑或是 EJB,都能 够借助上述规范协议实行互处理活动,达成体系较高的整合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论