基于WCF的外贸业务管理及系统管理知识设计.docx

上传人:牧羊曲112 文档编号:1978908 上传时间:2022-12-29 格式:DOCX 页数:78 大小:894.51KB
返回 下载 相关 举报
基于WCF的外贸业务管理及系统管理知识设计.docx_第1页
第1页 / 共78页
基于WCF的外贸业务管理及系统管理知识设计.docx_第2页
第2页 / 共78页
基于WCF的外贸业务管理及系统管理知识设计.docx_第3页
第3页 / 共78页
基于WCF的外贸业务管理及系统管理知识设计.docx_第4页
第4页 / 共78页
基于WCF的外贸业务管理及系统管理知识设计.docx_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《基于WCF的外贸业务管理及系统管理知识设计.docx》由会员分享,可在线阅读,更多相关《基于WCF的外贸业务管理及系统管理知识设计.docx(78页珍藏版)》请在三一办公上搜索。

1、浙江大学硕士学位论文 Error! No text of specified style in document. 基于WCF的外贸ERP业务系统的设计与实现摘要当今,ERP(Enterprise Resource Planning,企业资源计划)系统已使许多企业的生产经营管理发生了全新的变化。成功地实施了ERP的企业也从中获得了显著的效益。但是经过这么多年的发展,ERP系统的规模也越来越大,导致维护难度极大。另外,子系统与子系统之间、模块与模块之间互相操作也是困难重重。如何解决这些问题已迫在眉睫。幸好,随着SOA标准的成熟以及支持SOA实现技术的不断发展,SOA在各企业的信息化建设及其各部门

2、业务整合上也具有了一些应用。WCF作为.NET近几年推出的分布式开发技术,融合了之前的.Net Remoting、Web Service等相关技术,无疑是.Net平台实现SOA框架的制胜利器。本文首先介绍了分布式开发模型的发展过程,对传统C/S与B/S的特点及基于分布式组件技术的多层B/S开发模型的优缺点进行分析。接下来介绍了SOA,探讨了Web Service技术的特点。在此基础上对WCF概念、多层服务模型、通道模型、WCF宿主进行分析。还对外贸ERP业务系统进行了深入的需求分析,最终制定了系统的总体架构。本系统划分为四个层次,分别是表现层、通讯层、业务层和数据层。表现层包括用户界面以及一定

3、量的数据处理;通讯层主要负责客户端和服务器端之间的通讯;业务层主要负责对数据按照一定的商业逻辑进行操作;数据层主要是屏蔽上层业务逻辑与底层数据访问,对数据进行一系列的操作。本系统不仅对以上四个层具有良好的设计,更是成功的实现了以上四层。关键词:ERP系统,WCF,分布式,SOAi浙江大学硕士学位论文 AbstractAbstractToday, production and operation and management of many companies have been changed by ERP (Enterprise Resource Planning) system. The

4、companies that succeed with their ERPs implement always gains significant benefits. But after so many years of development, the size of the ERP system become more increasing, lead to increase maintenance. In addition, the interoperation between the subsystem and the subsystem, the module and the mod

5、ule, that is difficult. How to solve these problems is imminent. Fortunately, with mature SOAs standards and technology to support SOA that is developing, there are a number of applications for SOA business integration between the enterprise information construction and its various departments. Near

6、ly WCF as distributed development technology in .NET to fuse Net Remoting and Web Service, undoubtedly WCF is optimal weapon in .NET framework for SOA.This dissertation reviews the history of distributed software development model, analyses advantages and disadvantages of traditional C/S and B/S mod

7、el, especially the multi-tier C/S model based on distributed component. This dissertation introduces WCF concept, multi-tier service model, channel model, WCF host. There is also a thorough requirement analysis for the foreign trade ERP business system, finally, establishes overall structure of the

8、system. The system is divided into four levels, namely, the presentation layer, communication layer, business layer and data layer. Presentation layer including a certain amount of data processing; communication layer is responsible for client side and server sides communication; business layer is m

9、ainly responsible for the data according to certain business logic to operate; data layer is shield the upper business logic and the underlying data access, deals with a series of operations on the data. The system not only good design of the four layers, but also successful realization of the above

10、 four layer.Key Words:ERP system, WCF, Distributed, SOA ii浙江大学硕士学位论文 目录目录摘要iAbstractii目录I图目录IV表目录V第1章 绪论11.1 研究背景11.2 研究内容11.3 研究的意义21.4 国内外研究现状21.4.1 国外研究现状21.4.2 国内研究现状31.5 论文的组织结构41.6 本章小结4第2章 分布式开发模型与WCF技术52.1 C/S开发模型介绍52.2 B/S开发模式介绍62.3 分布式组件技术72.4 基于分布式组件技术的多层C/S开发模型82.5 SOA介绍82.5.1 SOA的体系结构10

11、2.5.2 Web Service简介112.6 WCF技术122.6.1 WCF概念122.6.1.1 合约122.6.1.2 协定绑定一三2.6.1.3 安全性层次142.6.2 基于WCF的多层服务模型一五2.6.3 WCF通道模型162.6.4 WCF宿主一八2.7 本章小结19第3章 系统需求分析213.1 项目背景213.2 系统总体需求213.3 客户端功能223.4 主要的业务流程243.4.1 外销合同管理243.4.2 收购合同管理253.4.3 进仓管理263.4.4 出仓管理273.4.5 出口明细单管理273.4.6 报关单管理273.4.7 结汇单证管理283.4.

12、8 核销单管理283.4.9 信用证管理293.4.10 结算单管理293.5 本章小结30第4章 基于WCF的外贸ERP业务系统设计314.1 系统总体方案314.1.1 体系结构概述314.2 系统构架实现324.2.1 表现层设计324.2.2 通讯层设计364.2.3 业务逻辑层设计384.2.4 数据层设计394.3 WCF技术在构架实现中的应用404.3.1 WCF实现双工模式404.3.2 WCF处理大型数据的传输434.4 数据库设计464.4.1 商品表的设计464.4.2 客户表的设计474.4.3 外销合同表的设计484.5 本章小结50第5章 系统的实现和结果展示515

13、.1 系统的部署环境515.2 系统的实现515.2.1 Client Search表现层的实现515.2.2 Client Search通讯层的实现535.2.3 Client Search业务逻辑的实现545.2.4 Client Search数据层的实现555.3 系统结果展示595.4 本章小结63第6章 总结与展望646.1 论文总结646.2 未来的工作64参考文献66作者简历68致谢69III浙江大学硕士学位论文 图目录图目录图 2.1 C/S开发模型5图 2.2 B/S开发模型7图 2.3 基于分布式组件技术的多层C/S开发模式8图 2.4 SOA的体系结构10图 2.5 基于

14、WCF的多层服务模型一五图 2.6 通道堆栈16图 2.7 通道对象的静态类图一八图 3.1 ERP业务系统的组织结构21图 3.2 外销合同管理流程24图 3.3 外销合同管理流程25图 4.1 四层架构31图 4.2 窗体类图33图 4.3 BaseForm的类图34图 4.4 EclipseForm的类图35图 4.5 SearchForm的类图35图 4.6 WizardForm的类图36图 4.7 ECI通讯图37图 4.8 数据层处理逻辑39图 4.9 CDSLock的类图40图 5.1 Client Search 表现层52图 5.2 数据层机构图58图 5.3 系统主界面60图

15、 5.4 客户查询界面60图 5.5 客户编辑界面61图 5.6 外销合同的编辑界面61图 5.7 收购合同的编辑界面62图 5.8 托运明细单的编辑界面62IV浙江大学硕士学位论文 表目录V表目录浙江大学硕士学位论文 Error! No text of specified style in document. Error! No text of specified style in document.表 2.1 WCF的四种合约类型一三表 2.2 WCF宿主种类以及特点19表 4.1商品表的表结构46表 4.2客户表的表结构47表 4.3 外销合同主表的表结构48表 4.4 外销合同商品表的

16、表结构49表 4.5 外销合同费用表的表结构50 第1章 绪论1.1 研究背景当今,ERP(Enterprise Resource Planning,企业资源计划)系统已使许多企业的生产经营管理发生了全新的变化。成功地实施了ERP的企业也从中获得了显著的效益。但是经过这么多年的发展,ERP系统的规模也越来越大,导致维护难度极大。另外,子系统与子系统之间、模块与模块之间互相操作也是困难重重。如何解决这些问题已迫在眉睫。幸好,随着SOA标准的成熟以及支持SOA实现技术的不断发展,SOA在各企业的信息化建设及其各部门业务整合上也具有了一些应用。WCF作为.NET近几年推出的分布式开发技术,融合了之前

17、的.Net Remoting、Web Service等相关技术,无疑是.Net平台实现SOA框架的制胜利器。基于此,本文主要研究如何使用WCF分布式技术来实现一个外贸ERP业务系统。1.2 研究内容研究内容包括以下三个主要组成部分:1) 详细分析传统的C/S两层架系统,在实际的运行中存在的问题,比如:系统数据库操作的可扩展性差,数据层负责直接与数据库交互,业务逻辑层和表示层混合在一起作为另一层。虽然原系统已经把对数据库操作的一些方法封装到了数据层的类里面,对于不同的事体对象可以根据需要使用类里面的方法。但是这样的设计,可扩展性不够好,当业务需求变动,需要改变类里面的方法时,各个客户端都必须再重

18、新更新应用程序。代码可重用性差,C/S开发模型的程序基于不同开发工具,数据库平台,由于兼容性的原因,代码很难重用。如果以前已用C#开发了一个C/S两层架构的报价单管理系统,现在单位想用Java再开发一个Web版的报价单管理系统,来方便客户查询公司产品的价格。此时以前写的代码就很难重用,不得不用java再重新实现一遍,增加了成本。思考若运用WCF技术是否可以解决这些问题。2) 分析WCF组成、技术特点、通信模式、部署方式、安全性。3) 分析外贸的业务流程,从而设计出一套外贸ERP业务系统,有效地帮组企业去加强过程控制,设置风险预警,细化业务核算。1.3 研究的意义在一个系统的中特别是较为大型的系

19、统中,如外贸ERP业务系统,可按照功能切分为:商品管理系统、客户管理系统、外销合同管理系统、收购合同管理系统、报关单管理系统、仓储管理系统等。在这样的应用中系统切分了、功能独立了、耦合降低了、容易维护了,可是各个系统中的通讯怎么完成呢?假如发生一笔“以销定购”的业务,采购员在使用ERP系统新建收购合同的时候,势必想去读取外销合同中的有用数据(如商品信息),那要怎么做呢?是要直接引用外销合同管理系统的DLL还是把这些需要相互调用的功能放在一个叫Common的项目中供所有子系统调用呢,或者干脆直接在收购合同管理系统中访问数据库中的外销合同数据,这些方法都是不太良好的。分布式技术的出现将物理分散的资

20、源、处理逻辑整合成统一的工作平台,并在整个系统上进行分配与优化,克服了传统集中式系统的缺陷。之后SOA(面向服务的架构)的出现,又将应用程序的不同的功能单元构建为服务,这些服务通过定义良好的借口和契约联系起来。接口采用中立的方式定义,它独立于实现服务的硬件平台,操作系统和编程语言。使得构建在各种系统中的服务以统一,通用的方式进行交互。Microsoft公司顺应这一趋势,推出了基于SOA的网络开发新技术WCF(Windows Communication Foundation,windows通信基础)。WCF采用面向服务的新型编程模型简化了分布式应用程序的开发。它提供分层的体系结构,支持多种风格的

21、分布式应用程序开发。WCF对“WS-*”标准的内置支持,提供了安全、可靠、协商过的互操作。对于开发人员开说,这减少了达到异构平台互操作所需的基础结构代码量。对于企业来说,这意味着在组织内部和外部与客户、伙伴和供应商交互的能力,而不管他们使用的是什么平台。因此,选用WCF分布式技术来实现一个外贸ERP业务系统,不失为一个最佳的解决方案。1.4 国内外研究现状1.4.1 国外研究现状在一些IT应用比较发达的欧美国家中,企业已经开始着手整合其不同种类的操作系统,应用软件,系统软件和应用基础结构(application infrastructure)。一些现存的应用程序被用来处理当前的业务流程(bus

22、iness processes),因此从头建立一个新的基础环境是不可能的。企业应该能对业务的变化做出快速的反应,利用对现有的应用程序和应用基础结构(application infrastructure)的投资来解决新的业务需求,为客户,商业伙伴以及供应商提供新的互动渠道,并呈现一个可以支持有机业务(organic business)的构架。SOA凭借其松耦合的特性,使得企业可以按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需要,提供选择从而可以通过不同的渠道提供服务,并可以把企业现有的或已有的应用作为服务, 从而保护了现有的IT基础建设投资。Windows Communicatio

23、n Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework 3.5的重要组成部分。使用该框架,开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案1。根据微软官方的解释,WCF(之前的版本名为“Indigo”)是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,例如.Net Remoti

24、ng、ASMX、WSE和MSMQ。以通信(Communication)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML, Kerberos,X509,用户/密码,自定义等多种标准与模式。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,微软将所有与此相关的技术要素都包含在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。1.4.2 国内研究

25、现状在国内,WCF的推出,促使许多程序员积极地发表大量的有关WCF技术以及WCF技术应用的相关文章,文章中还讲解一些小的应用程序。蒋金南在博客园发表的系列博文WCF技术剖析。为了更好地学习WCF,国内已经出版了几本外文翻译后的WCF技术图书,深受广大程序员的欢迎。很多公司应用程序的开发都采用了WCF框架,以使开发的引用程序模块化,便于适应灵活多变的外界需求。总体而言,国内WCF研究工作与国外是同步的,但在WCF的应用上小队较少,相信随着SOA概念的普及以及Visual studio2010的发布,会有更多的开发研究人员加入下WCF开发的阵营中。1.5 论文的组织结构论文章节安排如下:第一章:绪

26、论。介绍了论文的研究背景、研究内容、研究意义和国内外研究现状。第二章:分布式开发模型与WCF技术介绍。叙述了分布式开发模型的发展过程,分析了这些开发模型的特点,比较了这些模型在构建分布式应用程序中的优点与不足。介绍了SOA与Web Service技术,分析了它们的特点。在此基础上介绍了WCF技术,对WCF的层次结构,技术组成进行了分析。第三章:系统需求分析。介绍了作者参与开发的外贸ERP业务系统的项目背景、系统的总体需求、客户端的功能、主要的业务流程。第四章:系统架构以及关键技术。本文作者首先给出了体系机构的概念,并联系实际给出了本系统的体系架构,使读者在整体上了解本外贸ERP业务系统。然后针

27、对系统实现双工模式和大数据传输两方面关键技术,给出了可行的解决方案。最后介绍了系统中商品表、客户表、外销合同主表、外销合同商品表、外销合同费用表的表结构。第五章:系统的实现和结果展示。本章开头首先给出了本系统的部署环境,接着按照第四章的设计思路,分别实现了Client Search模块的用户层、通讯层、业务层和数据层,最后展示了本系统的成果。第六章:总结与展望。对本文内容进行总结,对WCF发展趋势进行展望,分析了WCF的发展方向。1.6 本章小结在本章中,首先介绍了本文的研究背景、研究内容、研究意义和国内外研究现状,最后给出了本文的组织结构。4浙江大学硕士学位论文 Error! No text

28、 of specified style in document. Error! No text of specified style in document.第2章 分布式开发模型与WCF技术2.1 C/S开发模型介绍C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同

29、样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。其结构如图2.1所示:业务逻辑层数据库访问层ClientServer数据库图 2.1

30、C/S开发模型在这种开发模型中,应用程序的业务逻辑和数据处理逻辑分布在客户和服务器两端。客户端接收用户的输入请求,经过处理后将数据发送给数据库服务器,并将返回结果显示给用户。与集中式系统相比,C/S开发模型有如下优点:1) 服务器负荷较轻。业务逻辑集成在客户端,服务器仅负责数据请求,不需要与用户直接交互,减轻了服务器的负载。2) 数据的储存管理功能透明。数据库服务器负责数据的储存管理,客户端在得到相应的权限后,对数据库的访问是透明的,方便了程序开发和用户的使用。3) 将业务逻辑与数据库相分离,层次结构清晰。数据与业务处理分离的开发模型比集中式系统结构清晰,有利于分布式程序开发。C/S开发模型的

31、出现,推进了分布式技术的应用与发展,其自身也有如下的不足:1) 数据安全性差。由于业务逻辑集成在客户端,服务端无从了解操作的合法性,给系统留下潜在的安全隐患。2) 代码可重用性差。C/S开发模型的程序基于不同开发工具、数据库平台,由于兼容性的原因,代码很难重用。2.2 B/S开发模式介绍B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构

32、。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。其结构如图2.2所示:Web浏览器业务逻辑层数据库访问层We

33、b服务器数据库服务器图 2.2 B/S开发模型B/S开发模型有如下优点2:1) 业务扩展简单方便,通过增加网页即可增加服务器功能。2) 开发简单,共享性强。3) 维护简单,升级容易。C/S开发模型的应用必须开发出专用的客户端软件,无论是安装、配置还是升级都需要在所有的客户机上实施,浪费了人力和物力。B/S的应用只需在客户端装有通用的浏览器即可,维护工作都在服务器端进行。当系统升级时,只针对本地服务器完成相应的工作,升级容易。4) 数据库安全性好。客户端不与数据库直接相连,而是通过web服务器进行处理,最大限度的保证了数据库的安全。但存在如下不足:1) 页面动态刷新,响应速度明显降低。 2) 网

34、站服务器负荷较重。2.3 分布式组件技术B/S为分布式开发提供了良好的开发模型。当应用发生改变时,如何充分利用己有成果,保证已开发代码能移植到新应用中,最大程序节省投资是程序开发过程需要解决的问题。不同于在集中和封闭环境下发展起来的传统软件,分布式应用,特别是在Web环境下的分布式开发,现有的软件理论、方法、技术。难以有效地适应或基本不能适应这种新的软件形态,传统方法也难以适应网络组件的协同性、自适应性,以及需求的多目标性;在软件可靠性方面,难以适应web环境所要求的整体化、可靠性与安全性。分布式组件技术正是在这种背景下产生的,其基本思想是将大而复杂的软件应用分成一系列可先行实现、易于开发、理

35、解和调整的软件单元,这些软件单元被称为组件(components)。以组件为基础的软件开发方案,效率高,费用低,可靠性好。分布式组件都有可能在将来被复用。围绕分布式组件进行组织开发,使得开发人员能在原有工作的基础上,不断完善新系统的功能并减少开发时间。2.4 基于分布式组件技术的多层C/S开发模型在软件模块化的趋势下,结合C/S开发模型与分布式组件技术形成了新的开发模型,基于分布式组件技术的多层C/S开发模型如图2.3所示:Client表示层逻辑分布式组件业务逻辑层数据库访问层Web服务器数据库服务器UI层图 2.3 基于分布式组件技术的多层C/S开发模式此开发模模型很好地解决了C/S开发模式

36、中数据安全性差和代码重用性差的不足,也不用忍受B/S响应慢的缺陷3。2.5 SOA介绍SOA,面向服务的体系结构(service-oriented architecture)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和

37、实现逐渐地发生改变时,它能够继续存在。而另一方面,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。对松耦合的系统的需要来源于业务应用程序需要根据业务的需要变得更加灵活,以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。我们称能够灵活地适应环境变化的业务为按需(On demand)业务,在按需业务中,一旦需要,就可以对完成或执行任务的方式进行必要的更改。虽然面向服务的体系结构不是一个新鲜事物,但它却是更传统的面向对象

38、的模型的替代模型,面向对象的模型是紧耦合的,已经存在二十多年了。虽然基于 SOA 的系统并不排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于它考虑到了系统内的对象,所以虽然 SOA 是基于对象的,但是作为一个整体,它却不是面向对象的。不同之处在于接口本身。SOA 系统原型的一个典型例子是通用对象请求代理体系结构(Common Object Request Broker Architecture,CORBA),它已经出现很长时间了,其定义的概念与 SOA 相似。然而,现在的 SOA 已经有所不同了,因为它依赖于一些更新的进展,这些进展是以可扩展标记语言(eXtensibl

39、e Markup Language,XML)为基础的。通过使用基于 XML 的语言(称为 Web 服务描述语言(Web Services Definition Language,WSDL)来描述接口,服务已经转到更动态且更灵活的接口系统中,非以前 CORBA 中的接口描述语言(Interface Definition Language,IDL)可比了。Web 服务并不是实现 SOA 的惟一方式。前面刚讲的 CORBA 是另一种方式,这样就有了面向消息的中间件(Message-Oriented Middleware)系统,比如 IBM 的 MQseries。但是为了建立体系结构模型,您所需要的并

40、不只是服务描述。您需要定义整个应用程序如何在服务之间执行其工作流。您尤其需要找到业务的操作和业务中所使用的软件的操作之间的转换点。因此,SOA 应该能够将业务的商业流程与它们的技术流程联系起来,并且映射这两者之间的关系。例如,给供应商付款的操作是商业流程,而更新您的零件数据库,以包括进新供应的货物却是技术流程。因而,工作流还可以在 SOA 的设计中扮演重要的角色。此外,动态业务的工作流不仅可以包括部门之间的操作,甚至还可以包括与不为您控制的外部合作伙伴进行的操作。因此,为了提高效率,您需要定义应该如何得知服务之间的关系的策略,这种策略常常采用服务级协定和操作策略的形式。最后,所有这些都必须处于

41、一个信任和可靠的环境之中,以同预期的一样根据约定的条款来执行流程。因此,安全、信任和可靠的消息传递应该在任何 SOA 中都起着重要的作用。2.5.1 SOA的体系结构SOA将应用程序的不同功能单元称为服务,并通过接口的形式对外公开。服务采用标准协议,通过网络来访问。服务提供者开发出各种各样有用的服务,经过严格测试后把服务发布到公共的服务注册表上,服务消费者(请求者)通过查找服务注册表获得所需要的服务,然后就可以使用所需要的服务了。SOA由服务注册者、服务消费者与服务提供者组成,体系结构模型如图2.4所示:图 2.4 SOA的体系结构服务注册者服务消费者服务提供者查找消费/绑定发布1) 服务提供

42、者。服务提供者是提供服务的实体,接受服务消费者的调用请求并进行响应。2) 服务注册者。服务注册者主要作用是用来搜索网络上可用的服务以及相关具体信息。服务注册者使用的协议相当于一个服务目,它是接收并存储服务契约的实体,供服务消费者查询服务之用。服务提供者需要将服务的信息发布到服务注册中心。3) 服务消费者。服务消费者从服务注册者处查询需要的服务,并通过传输机制来调用服务,服务消费者可以是应用程序或另一个服务。它提供服务的WSDL文档并通过SOAP协议来与要访问的服务通信。2.5.2 Web Service简介SOA的提出为程序开发提供了很好的开发模式,Web Service技术则是这种开发模式的

43、具体实现技术之一。Web Service使用基于XML的消息作为数据通信方式,从而消除了使用不同组件模型、操作系统与编程语言系统之间存在的差异,使异类系统能够作为计算网络的一部分协同运行。Web Service可以认为是一种部署在web上的对象,同时Web Service的基石是以XML为主的、开放的web规范技术。它的主要目标是在现有的各种异构平台基础上构成一个通用的与平台、语言无关的技术层,各种平台上的应用依靠该技术层来实施相互的连接和集成。Web Service使用SOAP(Simple Object Access Protocol,简单对象访问协议)协议进行通信。SOAP是在分布式的环

44、境中交换信息的简单的协议,它是一种轻量的、简单的、基于XML的协议,它被设计成在Web上交换结构化的和固化的信息。SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议,多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。通过SOAP协议,Web Service可以简单、有效的为服务消费者提供服务。Web Service使用WSDL(Web Service Description Language,web服务描述语言)定义如何利用XML语法描述Web Service的规范。它通过在服务提供者和服务请求者之间

45、交换的消息来描述Web Service,可被看作是Web Service和外界沟通的桥梁。Web Service技术继承了SOA的优点,为解决分布、异构的企业应用提供了比较好的解决方案。通过它,可以将现有应用程序的功能和数据以XML形式公开。然后,便可以创建使用此XML集合的复合应用程序以实现各个构成应用程序之间的互操作性。Web Service使得整个应用程序开发从以操作系统为中心的应用程序组织模式扩展到以网络为中心的组织模式4。2.6 WCF技术Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,它是.NET框架的一部分,

46、由.NET Framework 3.0开始引入,与Windows Presentation Foundation及 Windows Workflow Foundation并行为新一代Windows操作系统以及WinFX的三个重大应用程序开发类库5。在.NET Framework 2.0以及前版本中,微软发展了Web Service(SOAP with HTTP communication),.NET Remoting(TCP/HTTP/Pipeline communication)以及基础的Winsock等通信支持,由于各个通信方法的设计方法不同,而且彼此之间也有相互的重叠性(例如.NET Remoting可以开发SOAP, HTTP通信),对于开发人员来说,不同的选择会有不同的程序设计模型,而且必须要重新学习,让开发人员在用户有许多不便。同时,服务导向架构(Service-Oriented Architecture)也开始盛行于软件工业中,因此微软

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号