版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于WCF的外贸ERP业务系统的设计与实现摘要当今,ERP(Enterprise Resource Planning,企业资源计划)系统已使许多企业的生产经营管理发生了全新的变化。成功地实施了ERP的企业也从中获得了显著的效益。但是经过这么多年的发展,ERP系统的规模也越来越大,导致维护难度极大。另外,子系统与子系统之间、模块与模块之间互相操作也是困难重重。如何解决这些问题已迫在眉睫。幸好,随着SOA标准的成熟以及支持SOA实现技术的不断发展,SOA在各企业的信息化建设及其各部门业务整合上也具有了一些应用。WCF作为.NET近几年推出的分布式开发技术,融合了之前的.Net Remoting、W
2、eb Service等相关技术,无疑是.Net平台实现SOA框架的制胜利器。本文首先介绍了分布式开发模型的发展过程,对传统C/S与B/S的特点及基于分布式组件技术的多层B/S开发模型的优缺点进行分析。接下来介绍了SOA,探讨了Web Service技术的特点。在此基础上对WCF概念、多层服务模型、通道模型、WCF宿主进行分析。还对外贸ERP业务系统进行了深入的需求分析,最终制定了系统的总体架构。本系统划分为四个层次,分别是表现层、通讯层、业务层和数据层。表现层包括用户界面以及一定量的数据处理;通讯层主要负责客户端和服务器端之间的通讯;业务层主要负责对数据按照一定的商业逻辑进行操作;数据层主要是
3、屏蔽上层业务逻辑与底层数据访问,对数据进行一系列的操作。本系统不仅对以上四个层具有良好的设计,更是成功的实现了以上四层。关键词:ERP系统,WCF,分布式,SOAAbstractToday, production and operation and management of many companies have been changed by ERP (Enterprise Resource Planning) system. The companies that succeed with their ERPs implement always gains significant bene
4、fits. 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 module, that is difficult. How to solve these problems is imminent. Fortunately,
5、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. Nearly WCF as distributed development technology in .NET to fuse Net Remoting and
6、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 model, especially the multi-tier C/S model based on distributed component. This d
7、issertation 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 system. The system is divided into four levels, namely, the presentation layer
8、, 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 mainly responsible for the data according to certain business logic to operate;
9、 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 four layer.Key Words:ERP system, WCF, Distributed, SOA 目录 TOC o 1-4 h z u HYP
10、ERLINK l _Toc339593010 摘要 PAGEREF _Toc339593010 h i HYPERLINK l _Toc339593011 Abstract PAGEREF _Toc339593011 h ii HYPERLINK l _Toc339593012 目录 PAGEREF _Toc339593012 h I HYPERLINK l _Toc339593013 图目录 = 4 * ROMAN IV HYPERLINK l _Toc339593014 表目录 = 5 * ROMAN V HYPERLINK l _Toc339593015 第1章 绪论 PAGEREF _
11、Toc339593015 h 1 HYPERLINK l _Toc339593016 1.1 研究背景 PAGEREF _Toc339593016 h 1 HYPERLINK l _Toc339593017 1.2 研究内容 PAGEREF _Toc339593017 h 1 HYPERLINK l _Toc339593018 1.3 研究的意义 PAGEREF _Toc339593018 h 2 HYPERLINK l _Toc339593019 1.4 国内外研究现状 PAGEREF _Toc339593019 h 2 HYPERLINK l _Toc339593020 1.4.1 国外研
12、究现状 PAGEREF _Toc339593020 h 2 HYPERLINK l _Toc339593021 1.4.2 国内研究现状 PAGEREF _Toc339593021 h 3 HYPERLINK l _Toc339593022 1.5 论文的组织结构 PAGEREF _Toc339593022 h 4 HYPERLINK l _Toc339593023 1.6 本章小结 PAGEREF _Toc339593023 h 4 HYPERLINK l _Toc339593024 第2章 分布式开发模型与WCF技术 PAGEREF _Toc339593024 h 5 HYPERLINK
13、l _Toc339593025 2.1 C/S开发模型介绍 PAGEREF _Toc339593025 h 5 HYPERLINK l _Toc339593026 2.2 B/S开发模式介绍 PAGEREF _Toc339593026 h 6 HYPERLINK l _Toc339593027 2.3 分布式组件技术 PAGEREF _Toc339593027 h 7 HYPERLINK l _Toc339593028 2.4 基于分布式组件技术的多层C/S开发模型 PAGEREF _Toc339593028 h 8 HYPERLINK l _Toc339593029 2.5 SOA介绍 PA
14、GEREF _Toc339593029 h 8 HYPERLINK l _Toc339593030 2.5.1 SOA的体系结构 PAGEREF _Toc339593030 h 10 HYPERLINK l _Toc339593031 2.5.2 Web Service简介 PAGEREF _Toc339593031 h 11 HYPERLINK l _Toc339593032 2.6 WCF技术 PAGEREF _Toc339593032 h 12 HYPERLINK l _Toc339593033 2.6.1 WCF概念 PAGEREF _Toc339593033 h 12 HYPERLI
15、NK l _Toc339593034 合约 PAGEREF _Toc339593034 h 12 HYPERLINK l _Toc339593035 协定绑定 PAGEREF _Toc339593035 h 13 HYPERLINK l _Toc339593036 安全性层次 PAGEREF _Toc339593036 h 14 HYPERLINK l _Toc339593037 2.6.2 基于WCF的多层服务模型 PAGEREF _Toc339593037 h 15 HYPERLINK l _Toc339593038 2.6.3 WCF通道模型 PAGEREF _Toc339593038
16、h 16 HYPERLINK l _Toc339593039 2.6.4 WCF宿主 PAGEREF _Toc339593039 h 18 HYPERLINK l _Toc339593040 2.7 本章小结 PAGEREF _Toc339593040 h 19 HYPERLINK l _Toc339593041 第3章 系统需求分析 PAGEREF _Toc339593041 h 21 HYPERLINK l _Toc339593042 3.1 项目背景 PAGEREF _Toc339593042 h 21 HYPERLINK l _Toc339593043 3.2 系统总体需求 PAGER
17、EF _Toc339593043 h 21 HYPERLINK l _Toc339593044 3.3 客户端功能 PAGEREF _Toc339593044 h 22 HYPERLINK l _Toc339593045 3.4 主要的业务流程 PAGEREF _Toc339593045 h 24 HYPERLINK l _Toc339593046 3.4.1 外销合同管理 PAGEREF _Toc339593046 h 24 HYPERLINK l _Toc339593047 3.4.2 收购合同管理 PAGEREF _Toc339593047 h 25 HYPERLINK l _Toc33
18、9593048 3.4.3 进仓管理 PAGEREF _Toc339593048 h 26 HYPERLINK l _Toc339593049 3.4.4 出仓管理 PAGEREF _Toc339593049 h 27 HYPERLINK l _Toc339593050 3.4.5 出口明细单管理 PAGEREF _Toc339593050 h 27 HYPERLINK l _Toc339593051 3.4.6 报关单管理 PAGEREF _Toc339593051 h 27 HYPERLINK l _Toc339593052 3.4.7 结汇单证管理 PAGEREF _Toc3395930
19、52 h 28 HYPERLINK l _Toc339593053 3.4.8 核销单管理 PAGEREF _Toc339593053 h 28 HYPERLINK l _Toc339593054 3.4.9 信用证管理 PAGEREF _Toc339593054 h 29 HYPERLINK l _Toc339593055 3.4.10 结算单管理 PAGEREF _Toc339593055 h 29 HYPERLINK l _Toc339593056 3.5 本章小结 PAGEREF _Toc339593056 h 30 HYPERLINK l _Toc339593057 第4章 基于WC
20、F的外贸ERP业务系统设计 PAGEREF _Toc339593057 h 31 HYPERLINK l _Toc339593058 4.1 系统总体方案 PAGEREF _Toc339593058 h 31 HYPERLINK l _Toc339593059 4.1.1 体系结构概述 PAGEREF _Toc339593059 h 31 HYPERLINK l _Toc339593060 4.2 系统构架实现 PAGEREF _Toc339593060 h 32 HYPERLINK l _Toc339593061 4.2.1 表现层设计 PAGEREF _Toc339593061 h 32
21、HYPERLINK l _Toc339593062 4.2.2 通讯层设计 PAGEREF _Toc339593062 h 36 HYPERLINK l _Toc339593063 4.2.3 业务逻辑层设计 PAGEREF _Toc339593063 h 38 HYPERLINK l _Toc339593064 4.2.4 数据层设计 PAGEREF _Toc339593064 h 39 HYPERLINK l _Toc339593065 4.3 WCF技术在构架实现中的应用 PAGEREF _Toc339593065 h 40 HYPERLINK l _Toc339593066 4.3.1
22、 WCF实现双工模式 PAGEREF _Toc339593066 h 40 HYPERLINK l _Toc339593067 4.3.2 WCF处理大型数据的传输 PAGEREF _Toc339593067 h 43 HYPERLINK l _Toc339593068 4.4 数据库设计 PAGEREF _Toc339593068 h 46 HYPERLINK l _Toc339593069 4.4.1 商品表的设计 PAGEREF _Toc339593069 h 46 HYPERLINK l _Toc339593070 4.4.2 客户表的设计 PAGEREF _Toc339593070
23、h 47 HYPERLINK l _Toc339593071 4.4.3 外销合同表的设计 PAGEREF _Toc339593071 h 48 HYPERLINK l _Toc339593072 4.5 本章小结 PAGEREF _Toc339593072 h 50 HYPERLINK l _Toc339593073 第5章 系统的实现和结果展示 PAGEREF _Toc339593073 h 51 HYPERLINK l _Toc339593074 5.1 系统的部署环境 PAGEREF _Toc339593074 h 51 HYPERLINK l _Toc339593075 5.2 系统
24、的实现 PAGEREF _Toc339593075 h 51 HYPERLINK l _Toc339593076 5.2.1 Client Search表现层的实现 PAGEREF _Toc339593076 h 51 HYPERLINK l _Toc339593077 5.2.2 Client Search通讯层的实现 PAGEREF _Toc339593077 h 53 HYPERLINK l _Toc339593078 5.2.3 Client Search业务逻辑的实现 PAGEREF _Toc339593078 h 54 HYPERLINK l _Toc339593079 5.2.4
25、 Client Search数据层的实现 PAGEREF _Toc339593079 h 55 HYPERLINK l _Toc339593080 5.3 系统结果展示 PAGEREF _Toc339593080 h 59 HYPERLINK l _Toc339593081 5.4 本章小结 PAGEREF _Toc339593081 h 63 HYPERLINK l _Toc339593082 第6章 总结与展望 PAGEREF _Toc339593082 h 64 HYPERLINK l _Toc339593083 6.1 论文总结 PAGEREF _Toc339593083 h 64 H
26、YPERLINK l _Toc339593084 6.2 未来的工作 PAGEREF _Toc339593084 h 64 HYPERLINK l _Toc339593085 参考文献 PAGEREF _Toc339593085 h 66 HYPERLINK l _Toc339593086 作者简历 PAGEREF _Toc339593086 h 68 HYPERLINK l _Toc339593087 致谢 PAGEREF _Toc339593087 h 69图目录 TOC h z c 图 HYPERLINK l _Toc339592977 图 2.1 C/S开发模型 PAGEREF _To
27、c339592977 h 5 HYPERLINK l _Toc339592978 图 2.2 B/S开发模型 PAGEREF _Toc339592978 h 7 HYPERLINK C:Documents and SettingsAdministrator桌面Z094325244沈伦 毕业论文.doc l _Toc339592979 图 2.3 基于分布式组件技术的多层C/S开发模式 PAGEREF _Toc339592979 h 8 HYPERLINK C:Documents and SettingsAdministrator桌面Z094325244沈伦 毕业论文.doc l _Toc339
28、592980 图 2.4 SOA的体系结构 PAGEREF _Toc339592980 h 10 HYPERLINK C:Documents and SettingsAdministrator桌面Z094325244沈伦 毕业论文.doc l _Toc339592981 图 2.5 基于WCF的多层服务模型 PAGEREF _Toc339592981 h 15 HYPERLINK l _Toc339592982 图 2.6 通道堆栈 PAGEREF _Toc339592982 h 16 HYPERLINK l _Toc339592983 图 2.7 通道对象的静态类图 PAGEREF _Toc
29、339592983 h 18 HYPERLINK l _Toc339592984 图 3.1 ERP业务系统的组织结构 PAGEREF _Toc339592984 h 21 HYPERLINK l _Toc339592985 图 3.2 外销合同管理流程 PAGEREF _Toc339592985 h 24 HYPERLINK l _Toc339592986 图 3.3 外销合同管理流程 PAGEREF _Toc339592986 h 25 HYPERLINK l _Toc339592987 图 4.1 四层架构 PAGEREF _Toc339592987 h 31 HYPERLINK l _
30、Toc339592988 图 4.2 窗体类图 PAGEREF _Toc339592988 h 33 HYPERLINK l _Toc339592989 图 4.3 BaseForm的类图 PAGEREF _Toc339592989 h 34 HYPERLINK l _Toc339592990 图 4.4 EclipseForm的类图 PAGEREF _Toc339592990 h 35 HYPERLINK l _Toc339592991 图 4.5 SearchForm的类图 PAGEREF _Toc339592991 h 35 HYPERLINK l _Toc339592992 图 4.6
31、 WizardForm的类图 PAGEREF _Toc339592992 h 36 HYPERLINK l _Toc339592993 图 4.7 ECI通讯图 PAGEREF _Toc339592993 h 37 HYPERLINK l _Toc339592994 图 4.8 数据层处理逻辑 PAGEREF _Toc339592994 h 39 HYPERLINK l _Toc339592995 图 4.9 CDSLock的类图 PAGEREF _Toc339592995 h 40 HYPERLINK l _Toc339592996 图 5.1 Client Search 表现层 PAGER
32、EF _Toc339592996 h 52 HYPERLINK l _Toc339592997 图 5.2 数据层机构图 PAGEREF _Toc339592997 h 58 HYPERLINK l _Toc339592998 图 5.3 系统主界面 PAGEREF _Toc339592998 h 60 HYPERLINK l _Toc339592999 图 5.4 客户查询界面 PAGEREF _Toc339592999 h 60 HYPERLINK l _Toc339593000 图 5.5 客户编辑界面 PAGEREF _Toc339593000 h 61 HYPERLINK l _To
33、c339593001 图 5.6 外销合同的编辑界面 PAGEREF _Toc339593001 h 61 HYPERLINK l _Toc339593002 图 5.7 收购合同的编辑界面 PAGEREF _Toc339593002 h 62 HYPERLINK l _Toc339593003 图 5.8 托运明细单的编辑界面 PAGEREF _Toc339593003 h 62表目录 TOC h z c 表 HYPERLINK l _Toc339592958 表 2.1 WCF的四种合约类型 PAGEREF _Toc339592958 h 13 HYPERLINK l _Toc339592
34、959 表 2.2 WCF宿主种类以及特点 PAGEREF _Toc339592959 h 19 HYPERLINK l _Toc339592960 表 4.1商品表的表结构 PAGEREF _Toc339592960 h 46 HYPERLINK l _Toc339592961 表 4.2客户表的表结构 PAGEREF _Toc339592961 h 47 HYPERLINK l _Toc339592962 表 4.3 外销合同主表的表结构 PAGEREF _Toc339592962 h 48 HYPERLINK l _Toc339592963 表 4.4 外销合同商品表的表结构 PAGER
35、EF _Toc339592963 h 49 HYPERLINK l _Toc339592964 表 4.5 外销合同费用表的表结构 PAGEREF _Toc339592964 h 50 绪论研究背景当今,ERP(Enterprise Resource Planning,企业资源计划)系统已使许多企业的生产经营管理发生了全新的变化。成功地实施了ERP的企业也从中获得了显著的效益。但是经过这么多年的发展,ERP系统的规模也越来越大,导致维护难度极大。另外,子系统与子系统之间、模块与模块之间互相操作也是困难重重。如何解决这些问题已迫在眉睫。幸好,随着SOA标准的成熟以及支持SOA实现技术的不断发展,
36、SOA在各企业的信息化建设及其各部门业务整合上也具有了一些应用。WCF作为.NET近几年推出的分布式开发技术,融合了之前的.Net Remoting、Web Service等相关技术,无疑是.Net平台实现SOA框架的制胜利器。基于此,本文主要研究如何使用WCF分布式技术来实现一个外贸ERP业务系统。研究内容研究内容包括以下三个主要组成部分:1) 详细分析传统的C/S两层架系统,在实际的运行中存在的问题,比如:系统数据库操作的可扩展性差,数据层负责直接与数据库交互,业务逻辑层和表示层混合在一起作为另一层。虽然原系统已经把对数据库操作的一些方法封装到了数据层的类里面,对于不同的事体对象可以根据需
37、要使用类里面的方法。但是这样的设计,可扩展性不够好,当业务需求变动,需要改变类里面的方法时,各个客户端都必须再重新更新应用程序。代码可重用性差,C/S开发模型的程序基于不同开发工具,数据库平台,由于兼容性的原因,代码很难重用。如果以前已用C#开发了一个C/S两层架构的报价单管理系统,现在单位想用Java再开发一个Web版的报价单管理系统,来方便客户查询公司产品的价格。此时以前写的代码就很难重用,不得不用java再重新实现一遍,增加了成本。思考若运用WCF技术是否可以解决这些问题。2) 分析WCF组成、技术特点、通信模式、部署方式、安全性。3) 分析外贸的业务流程,从而设计出一套外贸ERP业务系
38、统,有效地帮组企业去加强过程控制,设置风险预警,细化业务核算。研究的意义在一个系统的中特别是较为大型的系统中,如外贸ERP业务系统,可按照功能切分为:商品管理系统、客户管理系统、外销合同管理系统、收购合同管理系统、报关单管理系统、仓储管理系统等。在这样的应用中系统切分了、功能独立了、耦合降低了、容易维护了,可是各个系统中的通讯怎么完成呢?假如发生一笔“以销定购”的业务,采购员在使用ERP系统新建收购合同的时候,势必想去读取外销合同中的有用数据(如商品信息),那要怎么做呢?是要直接引用外销合同管理系统的DLL还是把这些需要相互调用的功能放在一个叫Common的项目中供所有子系统调用呢,或者干脆直
39、接在收购合同管理系统中访问数据库中的外销合同数据,这些方法都是不太良好的。分布式技术的出现将物理分散的资源、处理逻辑整合成统一的工作平台,并在整个系统上进行分配与优化,克服了传统集中式系统的缺陷。之后SOA(面向服务的架构)的出现,又将应用程序的不同的功能单元构建为服务,这些服务通过定义良好的借口和契约联系起来。接口采用中立的方式定义,它独立于实现服务的硬件平台,操作系统和编程语言。使得构建在各种系统中的服务以统一,通用的方式进行交互。Microsoft公司顺应这一趋势,推出了基于SOA的网络开发新技术WCF(Windows Communication Foundation,windows通信
40、基础)。WCF采用面向服务的新型编程模型简化了分布式应用程序的开发。它提供分层的体系结构,支持多种风格的分布式应用程序开发。WCF对“WS-*”标准的内置支持,提供了安全、可靠、协商过的互操作。对于开发人员开说,这减少了达到异构平台互操作所需的基础结构代码量。对于企业来说,这意味着在组织内部和外部与客户、伙伴和供应商交互的能力,而不管他们使用的是什么平台。因此,选用WCF分布式技术来实现一个外贸ERP业务系统,不失为一个最佳的解决方案。国内外研究现状国外研究现状在一些IT应用比较发达的欧美国家中,企业已经开始着手整合其不同种类的操作系统,应用软件,系统软件和应用基础结构(application
41、 infrastructure)。一些现存的应用程序被用来处理当前的业务流程(business processes),因此从头建立一个新的基础环境是不可能的。企业应该能对业务的变化做出快速的反应,利用对现有的应用程序和应用基础结构(application infrastructure)的投资来解决新的业务需求,为客户,商业伙伴以及供应商提供新的互动渠道,并呈现一个可以支持有机业务(organic business)的构架。SOA凭借其松耦合的特性,使得企业可以按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需要,提供选择从而可以通过不同的渠道提供服务,并可以把企业现有的或已有的应用作
42、为服务, 从而保护了现有的IT基础建设投资。Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework 3.5的重要组成部分。使用该框架,开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案1。根据微软官方的解释,WCF(之前的版本名为“Indigo”)是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。WCF是微软分布式应用程序开发的集大
43、成者,它整合了.Net平台下所有的和分布式系统有关的技术,例如.Net Remoting、ASMX、WSE和MSMQ。以通信(Communication)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML, Kerberos,X509,用户/密码,自定义等多种标准与模式。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,微软将所有与此相关的技术要
44、素都包含在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。国内研究现状在国内,WCF的推出,促使许多程序员积极地发表大量的有关WCF技术以及WCF技术应用的相关文章,文章中还讲解一些小的应用程序。蒋金南在博客园发表的系列博文WCF技术剖析。为了更好地学习WCF,国内已经出版了几本外文翻译后的WCF技术图书,深受广大程序员的欢迎。很多公司应用程序的开发都采用了WCF框架,以使开发的引用程序模块化,便于适应灵活多变的外界需求。总体而言,国内WCF研究工作与国外是同步的,但在WCF的应用上小队较少,相信随着SOA概念的普及以及Visual studio2010的发布,会有更多的开发研究人员加入
45、下WCF开发的阵营中。论文的组织结构论文章节安排如下:第一章:绪论。介绍了论文的研究背景、研究内容、研究意义和国内外研究现状。第二章:分布式开发模型与WCF技术介绍。叙述了分布式开发模型的发展过程,分析了这些开发模型的特点,比较了这些模型在构建分布式应用程序中的优点与不足。介绍了SOA与Web Service技术,分析了它们的特点。在此基础上介绍了WCF技术,对WCF的层次结构,技术组成进行了分析。第三章:系统需求分析。介绍了作者参与开发的外贸ERP业务系统的项目背景、系统的总体需求、客户端的功能、主要的业务流程。第四章:系统架构以及关键技术。本文作者首先给出了体系机构的概念,并联系实际给出了
46、本系统的体系架构,使读者在整体上了解本外贸ERP业务系统。然后针对系统实现双工模式和大数据传输两方面关键技术,给出了可行的解决方案。最后介绍了系统中商品表、客户表、外销合同主表、外销合同商品表、外销合同费用表的表结构。第五章:系统的实现和结果展示。本章开头首先给出了本系统的部署环境,接着按照第四章的设计思路,分别实现了Client Search模块的用户层、通讯层、业务层和数据层,最后展示了本系统的成果。第六章:总结与展望。对本文内容进行总结,对WCF发展趋势进行展望,分析了WCF的发展方向。本章小结在本章中,首先介绍了本文的研究背景、研究内容、研究意义和国内外研究现状,最后给出了本文的组织结
47、构。分布式开发模型与WCF技术C/S开发模型介绍C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发
48、展方向。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。其结构如图2.1所示:业务逻辑层数据库访问层ClientServer数据库图 STYLEREF 1 s 2. SEQ 图 * ARABIC s 1 1 C/S开发模型在这种开发模型中,应用程序的业务逻辑和数据处理逻辑分布在客户和服务器两端。客户端接收用户的
49、输入请求,经过处理后将数据发送给数据库服务器,并将返回结果显示给用户。与集中式系统相比,C/S开发模型有如下优点:1) 服务器负荷较轻。业务逻辑集成在客户端,服务器仅负责数据请求,不需要与用户直接交互,减轻了服务器的负载。2) 数据的储存管理功能透明。数据库服务器负责数据的储存管理,客户端在得到相应的权限后,对数据库的访问是透明的,方便了程序开发和用户的使用。3) 将业务逻辑与数据库相分离,层次结构清晰。数据与业务处理分离的开发模型比集中式系统结构清晰,有利于分布式程序开发。C/S开发模型的出现,推进了分布式技术的应用与发展,其自身也有如下的不足:1) 数据安全性差。由于业务逻辑集成在客户端,
50、服务端无从了解操作的合法性,给系统留下潜在的安全隐患。2) 代码可重用性差。C/S开发模型的程序基于不同开发工具、数据库平台,由于兼容性的原因,代码很难重用。B/S开发模式介绍B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技
51、术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。其结构如图2.2所示:Web浏览器业务逻辑层数据库访问层Web服务器数据库服务器图 STYLEREF 1 s 2. SEQ 图 * ARABIC s 1 2 B/S开发模型
52、B/S开发模型有如下优点2:1) 业务扩展简单方便,通过增加网页即可增加服务器功能。2) 开发简单,共享性强。3) 维护简单,升级容易。C/S开发模型的应用必须开发出专用的客户端软件,无论是安装、配置还是升级都需要在所有的客户机上实施,浪费了人力和物力。B/S的应用只需在客户端装有通用的浏览器即可,维护工作都在服务器端进行。当系统升级时,只针对本地服务器完成相应的工作,升级容易。4) 数据库安全性好。客户端不与数据库直接相连,而是通过web服务器进行处理,最大限度的保证了数据库的安全。但存在如下不足:1) 页面动态刷新,响应速度明显降低。 2) 网站服务器负荷较重。分布式组件技术B/S为分布式
53、开发提供了良好的开发模型。当应用发生改变时,如何充分利用己有成果,保证已开发代码能移植到新应用中,最大程序节省投资是程序开发过程需要解决的问题。不同于在集中和封闭环境下发展起来的传统软件,分布式应用,特别是在Web环境下的分布式开发,现有的软件理论、方法、技术。难以有效地适应或基本不能适应这种新的软件形态,传统方法也难以适应网络组件的协同性、自适应性,以及需求的多目标性;在软件可靠性方面,难以适应web环境所要求的整体化、可靠性与安全性。分布式组件技术正是在这种背景下产生的,其基本思想是将大而复杂的软件应用分成一系列可先行实现、易于开发、理解和调整的软件单元,这些软件单元被称为组件(compo
54、nents)。以组件为基础的软件开发方案,效率高,费用低,可靠性好。分布式组件都有可能在将来被复用。围绕分布式组件进行组织开发,使得开发人员能在原有工作的基础上,不断完善新系统的功能并减少开发时间。基于分布式组件技术的多层C/S开发模型在软件模块化的趋势下,结合C/S开发模型与分布式组件技术形成了新的开发模型,基于分布式组件技术的多层C/S开发模型如图2.3所示:Client表示层逻辑分布式组件业务逻辑层数据库访问层Web服务器数据库服务器UI层图 STYLEREF 1 s 2. SEQ 图 * ARABIC s 1 3 基于分布式组件技术的多层C/S开发模式此开发模模型很好地解决了C/S开发
55、模式中数据安全性差和代码重用性差的不足,也不用忍受B/S响应慢的缺陷3。SOA介绍SOA,面向服务的体系结构(service-oriented architecture)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现
56、逐渐地发生改变时,它能够继续存在。而另一方面,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。对松耦合的系统的需要来源于业务应用程序需要根据业务的需要变得更加灵活,以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。我们称能够灵活地适应环境变化的业务为按需(On demand)业务,在按需业务中,一旦需要,就可以对完成或执行任务的方式进行必要的更改。虽然面向服务的体系结构不是一个新鲜事物,但它却是更传统的面向对象的模
57、型的替代模型,面向对象的模型是紧耦合的,已经存在二十多年了。虽然基于 SOA 的系统并不排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于它考虑到了系统内的对象,所以虽然 SOA 是基于对象的,但是作为一个整体,它却不是面向对象的。不同之处在于接口本身。SOA 系统原型的一个典型例子是通用对象请求代理体系结构(Common Object Request Broker Architecture,CORBA),它已经出现很长时间了,其定义的概念与 SOA 相似。然而,现在的 SOA 已经有所不同了,因为它依赖于一些更新的进展,这些进展是以可扩展标记语言(eXtensible
58、Markup Language,XML)为基础的。通过使用基于 XML 的语言(称为 Web 服务描述语言(Web Services Definition Language,WSDL)来描述接口,服务已经转到更动态且更灵活的接口系统中,非以前 CORBA 中的接口描述语言(Interface Definition Language,IDL)可比了。Web 服务并不是实现 SOA 的惟一方式。前面刚讲的 CORBA 是另一种方式,这样就有了面向消息的中间件(Message-Oriented Middleware)系统,比如 IBM 的 MQseries。但是为了建立体系结构模型,您所需要的并不只
59、是服务描述。您需要定义整个应用程序如何在服务之间执行其工作流。您尤其需要找到业务的操作和业务中所使用的软件的操作之间的转换点。因此,SOA 应该能够将业务的商业流程与它们的技术流程联系起来,并且映射这两者之间的关系。例如,给供应商付款的操作是商业流程,而更新您的零件数据库,以包括进新供应的货物却是技术流程。因而,工作流还可以在 SOA 的设计中扮演重要的角色。此外,动态业务的工作流不仅可以包括部门之间的操作,甚至还可以包括与不为您控制的外部合作伙伴进行的操作。因此,为了提高效率,您需要定义应该如何得知服务之间的关系的策略,这种策略常常采用服务级协定和操作策略的形式。最后,所有这些都必须处于一个
60、信任和可靠的环境之中,以同预期的一样根据约定的条款来执行流程。因此,安全、信任和可靠的消息传递应该在任何 SOA 中都起着重要的作用。SOA的体系结构SOA将应用程序的不同功能单元称为服务,并通过接口的形式对外公开。服务采用标准协议,通过网络来访问。服务提供者开发出各种各样有用的服务,经过严格测试后把服务发布到公共的服务注册表上,服务消费者(请求者)通过查找服务注册表获得所需要的服务,然后就可以使用所需要的服务了。SOA由服务注册者、服务消费者与服务提供者组成,体系结构模型如图2.4所示:图 STYLEREF 1 s 2. SEQ 图 * ARABIC s 1 4 SOA的体系结构服务注册者服
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年部编一年级上册语文语文园地三课件
- 住房公积金质押贷款协议细则2024版一
- 建材购销简易协议2024版示范文本版
- 2024年版停车场地出租协议:专属停车位租赁条款一
- 厂房租赁协议:2024版详尽格式一
- 2024年标准施工协议台账全面范本下载版
- 河南省驻马店市开发区高级中学2024-2025学年高一上学期第一次月考地理试题A卷
- 呼伦贝尔学院《人工智能教育应用》2021-2022学年第一学期期末试卷
- 呼伦贝尔学院《复变函数与积分变换》2021-2022学年第一学期期末试卷
- 红河学院《社会保障概论》2023-2024学年第一学期期末试卷
- 河北省衡水中学2022-2023学年高一上学期综合素质检测二数学试题含解析
- 《中国溃疡性结肠炎诊治指南(2023年)》解读
- 办理宽带拆机委托书
- 2024年ACOG-《第一产程及第二产程管理》指南要点
- 一线员工安全心得体会范文(3篇)
- 2高空作业安全技术交底(涉及高空作业者交底后必须签字)
- 牛顿第三定律说课市公开课一等奖省赛课微课金奖课件
- (2024年)北京师范大学网络教育《教育学原理》欢迎您
- 火车站物流园区建设项目物有所值评价报告
- 2024年工装夹具相关项目营销策略方案
- 《养老护理员》-课件为老年人布置睡眠环境
评论
0/150
提交评论