ERP技术方案及软件选型.doc

上传人:仙人指路1688 文档编号:2398993 上传时间:2023-02-17 格式:DOC 页数:18 大小:384KB
返回 下载 相关 举报
ERP技术方案及软件选型.doc_第1页
第1页 / 共18页
ERP技术方案及软件选型.doc_第2页
第2页 / 共18页
ERP技术方案及软件选型.doc_第3页
第3页 / 共18页
ERP技术方案及软件选型.doc_第4页
第4页 / 共18页
ERP技术方案及软件选型.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《ERP技术方案及软件选型.doc》由会员分享,可在线阅读,更多相关《ERP技术方案及软件选型.doc(18页珍藏版)》请在三一办公上搜索。

1、ERP产品发展策略及市场定位 市场状况目前国内有近1000万家中小型企业,遍布各种行业。绝大部分企业管理水平低下,一方面反映在管理制度、管理理念的落后,另一方面反映在管理手段的落后。按企业应用信息化的程度可分为以下几种。l 完全手工作业l 财务应用财务软件,其他部分人工作业l 存在一系列自动化孤岛,各个系统之间通过人工作业相衔接l 应用了某种ERP软件,但运作有问题上述各种状况已经严重影响企业的运作,造成企业效率低下,并且已经制约了企业的进一步发展和壮大。随着我国即将进入WTO,所有企业都即将直接面临全球的竞争。企业对于提高企业管理水平要求很迫切,ERP市场的容量很大。要求我们开发的产品是一个

2、通用性的、全功能的、切实可行的、能快速实施的产品,且有各个行业的解决方案。ERP系统主要特征适应各种规模的企业组织结构。提供所有业务的解决方案业务高度集成,最大限度的达到信息共享的目标构建软件产品平台,覆盖70%左右企业业务。客户化定制,针对实施对象,加以客户化,解决90%以上企业业务,逐步充实、完善平台。可自由设计业务流程可配合BPR实施或单独实施。产品开发方法1在项目的基础上发展产品在项目的基础上发展产品,由于只能片面接触到某一特定的行业,特定的企业,特定的业务范围,考虑问题的出发点和重点是如何按时、保质、保量的完成项目。难以在项目开发、实施时全面、统筹、系统的对产品进行设计。最终其产品只

3、能定位于某类行业、某类业务的行业版。若产品要向其他行业扩展的时候,由于设计及分析上的先天不足,扩展将会是一件非常痛苦的事情,搞不好要另起炉灶,重新开发一套系统。要同时维护多套行业版难度系数很大。这样就很难在项目上得到积累和发展。另一方面,对公司有积累的大型项目的开发、实施周期长,人员投入大,最起码半年,很有可能一两年,势必造成产品开发进度的延误。2闭门造车但如果不在项目的基础上,不了解市场的详细需求,自己闭门造车,根据纯粹的ERP理论和方法,开发出来的产品到底有多大的价值,能不能适合市场,这完全是一种没有保证的方案。3仿制SAP/Oracle是我们这一行的老大,对于他们系统的先进性是不用讨论的

4、事。它们都提供全行业、各种规模企业的解决方案,每一个行业都有他们成功的案例。它的全面解决方案从系统实现的角度上看,他有一个系统参数设置、流程重新定义的过程,通过后台参数的设置能适应复杂多变的企业管理的需求。从深层次的角度来看,SAP/Oracle系统的背后有数以千计的各个领域的专家在为他服务。通过多年的积累,才有今日的辉煌。我们现在有项目开发、实施、销售市场方面的专家,有精通SAP、Oracle的专家,特别值得一提的是我们是Oracle的合作伙伴,有自己的Oracle实施咨询公司,可以很容易的得到Oracle的资源和本行业发展的最新动向。所以,为了尽快的开发出我们自己的ERP产品,在开发的初期

5、,采用参考模仿SAP/Oracle应该是一条事半功倍的道路,并且也能将我们的产品带到一个相当高的层次。产品发展策略研究SAP/Oracle解决方案,列出大致功能清单,能解决何种问题,有何缺陷参考SAP/Oracle设计思想、将SAP/Oracle相关模块功能细化,并以系统实现的角度予以分析,进行取舍,融会两者的优点根据市场需求,选定ERP第一版功能范围以可扩充、可维护、可升级的开发方法,开发产品结合公司在项目实施上经验和咨询管理公司BPR/Oracle实施经验,扩充、提高产品针对实施对象行业不同,在产品的框架下,提出行业解决方案第5、6步是一个持续的、不断发展的过程。这样一来可以不断的通过项目

6、进行积累,完善产品、提高产品我们产品的发展策略决定了我们的产品有一个不断完善、不断进步的过程。为了适应不断变化和增长的用户需求,要求我们能及时响应用户的需求、快速提出恰当的解决方案。所以我们系统的架构及开发工具的选择必须综合考虑开发速度、运行效率和系统稳定性、可扩充性维护性。ERP系统体系结构特性l 基于Microsoft DNA架构的分布式多层应用程序l 面向对象设计与开发,提高系统的可扩展性和可维护性l 全组件化设计,可方便实施一个或多个功能模块l 开放式系统,通过XML提供同其它系统的接口l 充分利用现代网络技术,可通过Internet传输业务技术纲要面向对象的分析和开发方法n-tire

7、,B/S分布式多层应用体系架构Server OSWindows NT/Windows 2000或Unix/Linux数据库大型关系型数据库如SQL Server, Oracle; 但不固定于某种数据库中间层,Windows平台选用MTS/COM+。(LINUX、UNIX平台,选用Inprise 公司的VisiBroker)开发工具,主要选用Delphi 5.0,涉及下列具体内容ADO编程数据存取技术MTS/COM+编程中间层应用服务器组件客户端GUI编程n-tire前端ASP、WEB、XML通过Web Server中访问中间层组件提供的服务FrontPage等设计浏览器页面系统结构的选择在目前

8、应用系统的发展过程中,有两条不同的系统结构正在持续的发展着。其中之一是传统的Windows应用系统,这些传统的应用系统包括了MIS系统、商业软件包等,它们使用了非常华丽的图形用户界面,通常执行在单机或局域网络内。这种传统的体系结构也在不断的发展中。从最早的以文件为基础的结构,演变到客户/服务器结构,再进步到最近的分布式多层结构。其演变过程的目标是为了增加系统的扩展性,让更多的用户能够使用系统。同时也是为了增加系统的可重复实用性以及降低系统维护和开发成本。第二条技术路线的发展起源于Internet/Intranet的流行,造成了无数的新商机,因此绝大部分的商业应用系统都必须集成Internet/

9、Intranet的能力,以便让现有及潜在用户能够使用新一代系统,进而拓展新的商机。Internet/Intranet的软件技术也随着应用面的越来越广之后有了结构上的改变。从早期使用HTML提供用户使用浏览器浏览或是查询静态数据开始,便慢慢开始有人希望在Internet/Intranet上进行电子商务的工作,或者在浏览器中执行MIS、ERP、Helpdesk以及CRM等大型复杂的应用系统。然而Web应用程序应该不是用来取代传统的Windows应用程序商业系统的。Web应用系统应该和Windows应用系统是一种互补的系统。对于需要处理大量数据、复杂的图形用户界面、需要高速执行效率的系统,以及在局域

10、网中执行的程序,Windows应用系统仍然是最好的选择。对于需要具备Internet/Intranet功能、Mobil系统、电子商务或是在广域网上执行的系统,使用分布式Web应用系统是最有效率、最经济的解决方案。通过中间件封装业务处理逻辑,能够同时提供两种结构的好处,又能大大减少了重复开发的成本并且增加了系统重复使用的效率。ERP产品采用分布式多层的体系结构,通过中间件封装所有业务处理逻辑,前端使用Windows GUI同用户交互。对于在Internet/Intranet上的应用,提供Web应用程序。分布式多层应用体系结构传统的Client/Server架构的应用系统,通常由用户端执行应用程序

11、,然后连接到后端的数据库服务器中存取客户端所需要的资料。如下图所示。这种二层的客户/服务器体系结构比较适合于局域网内的中小型MIS系统。一旦系统扩展到Internet/Intranet或用户数超出一定范围,这种体系结构效率相当底下。规模伸缩性差C/S体系只能适用于小范围的应用,如一个企业内的一个部门,把这种系统拓展到整个企业的所有业务,就可能会瘫痪。FAT-Client胖客户端。这种客户/服务器体系结构的用户接口和处理逻辑(企业业务逻辑)都放在客户端应用程序中,而只将数据(存储)管理放在后台数据库中,客户端应用程序很庞大。这样做的缺点如下:首先,客户端就要求用高价的、性能高的PC机。第二,网络

12、负荷沉重。所有待处理及处理后的数据需要通过网络同服务器进行传输,会影响到网络速度和所有运行在网络的应用系统。第三,系统维护费用高。客户端安装时需进行配置。一旦系统需要修改,所有客户端的应用程序必须重新安装和配置。如果用户数量一多,且地点分散,维护成本就会很高。Fat-Server胖服务器一些数据库厂商往往提供胖服务器方案。把数据处理逻辑以存储过程和数据库服务器缠绕在一起。存储过程是一组经过编辑和核实的过程语句和SQL语言,储存在数据库中,可由客户端应用程序来调用,对数据库进行存取。客户端只提供GUI显示及生成SQL命令。但是这样一来就将应用系统绑死在特定的数据库中,很难进行数据库移植。要研制大

13、量的数据库专用的存储过程,来处理业务处理逻辑时,研制工作就非常困难了。另外有些复杂计算的程序并不适合在数据库服务器中执行,因为使用大量计算会严重影响数据库的执行效率,从而影响整个系统的运行效率。Internet/Intranet应用近年来Internet/Intranet的兴起,提供了巨大的商业机会。这对企业的运作方式有着巨大的影响,因为在这个竞争激烈的时代必须加快企业进步的步伐。许多企业要求在MIS系统中发布产品信息甚至进行电子交易。为解决这个问题,企业有可能增加一台Web服务器,然后使用CGI,ISAPI/NSAPI或ASP技术重新开发相关业务逻辑。如下图所示。但是这样的体系结构有更多的问

14、题。一方面原先系统要用新的技术重新开发,这种重复开发的成本非常昂贵。另一方面,当企业的运作流程改变时也必须同时修改两个系统,又增加了系统运作的成本。解决方案为了解决这些重复开发应用系统的问题和增加应用系统的复用性,发挥面向对象分析/面向对象设计的功能,在传统的C/S模式下导入了中间层应用程序服务器。应用程序服务器简单地说就是一个包含企业业务逻辑的应用程序,软件开发人员以一种特定的组件形态,(例如Microsoft的COM/DCOM,CORBA,或是Enterprise Java Bean等)封装企业的业务逻辑。这种经过封装,能够执行特定企业功能的组件就是企业组件,然后将企业组件发布到应用程序服

15、务器。程序员在开发企业应用程序时可以利用应用程序服务器上的企业组件提供的服务。在开发Internet/Intranet应用时,利用CGI或ISAPI等技术同样可以存取应用程序服务器上的企业组件提供的服务。当业务流程发生变化时,只需要修改应用程序服务器之中的相关企业组件,所有客户,包括Internet/Intranet上的客户都可以立刻使用到最新的企业处理流程。采用这种包含中间层应用程序服务器的多层架构体系,除了可以增加企业物件的复用性外,整个系统的开发和维护成本都立刻下降了。另外因为整个应用系统被分成了几个不同的部分,并且执行在不同的机器中,所以整个系统的扩展性也得到了大幅提高。分布式多层应用

16、系统强调系统的稳定性、扩展性以及良好的执行效率。下图即为一典型的分布式多层应用系统的架构图。分布式结构使用的技术目前分布式结构使用的核心技术有两种不同的工业标准,第一种是Microsoft制定的COM/DCOM以及COM+,另一种是有700多个厂商共同提倡的CORBA(Common Object Request Broker Architecture)。这两种不同的分布式技术各有不同的优缺点,基本上Microsoft的COM/DCOM/COM+是以Windows为中心的开发环境,而CORBA则是跨平台的分布式技术。不管使用哪一种技术,基本上这些分布式技术都可以在程序中轻易的使用企业对象所提供的

17、服务。当客户端应用程序要使用企业对象的服务时,首先会建立一个仿真对象来模拟真正的远程企业对象,仿真对象会在使用特定的通讯协议来的调用远程企业对象的服务以满足客户端应用程序的要求。除了基本的远程对象调用之外,分布式技术也会提供一些核心服务,如交易服务和安全服务交易管理(Transaction Management):负责在分布式应用系统中对于资料的完整性及一致性的保护。在Windows平台中以MTS(Microsoft Transaction Server),在CORBA中则以OTS(Object Transaction Service)提供了这个核心服务。安全管理(Security):只有经过

18、授权的用户方可使用授权的企业对象。COM/DCOM使用Windows NT的安全接口来提供,MTS/COM+则提供了更为简易的接口提供安全能力。CORBA中则以安全服务来提供应用系统的保护。COM/DCOM/CORBA均允许使用SSL(Secure Socket Layer)对资料进行加密和解密。分布式结构的种类软件功能Web服务器提供Internet/Intranet,电子商务服务应用程序服务器(MTS,MIDAS,CORBA)执行企业对象的环境,提供核心服务。如交易管理,安全机制,容错能力和负载平衡等功能Message Queue服务器提供应用系统消息机制,可以在应用程序服务器Shutdo

19、wn时依然能够维护已送出的消息,并且提供异步的处理机制数据库服务器储存应用系统资料的服务器采用Delphi 5开已开发任何的软件组件,包括客户端图形用户界面应用程序,企业对象,核心服务程序代码,存取数据库的组件,以及执行在Web服务器中的DLL和ASP组件,支持浏览器的XML和HTNL。ADO数据存取技术随着社会的进步,信息化程度的加深,我们处理的数据日益复杂,所以数据的存取技术也得不断的进步以便符合新一代应用系统的需求。ADO是Microsoft各种数据存取技术的演变结果,是Microsoft新一代,同时也是标准的数据存取技术。从1997年Microsoft推出ADO的第一个版本后,Micr

20、osoft就不断的改善ADO的执行效率,提供更多的功能,增强ADO的稳定性,并且让ADO能够存取更多种类的资料来源。ADO的由来必须从Microsoft数据存取技术发展的历史说起。1992年Microsoft和Sybase、Digital共同制定了ODBC标准,以单一的ODBC API来存取各种不同的数据库。随后ODBC获得了许多数据库厂商和Third-Party的支持而逐渐成为标准的数据存取技术。不过ODBC仅支持关系数据库,以及传统的数据库,并且只能够以C/C+语言API形式提供服务,因而无法符合日渐复杂的数据存取应用,也无法让稿本语言使用。1993年,Microsoft为了能存取Acce

21、ss数据库,使用了OLE Automation 技术封装了Jet Engine,被称为 Data Access Object (DAO)。它可支持xBase的数据库和Excel文件,并且能够结合ODBC存取数据库。它在存取Access数据库时很有效率,但在存取其他数据库时速度很慢。由于DAO结合ODBC存取关系数据库时效率不好,而ODBC API是非常复杂的API,在1995年Microsoft同样以OLE Automation技术直接封装ODBC。这种技术就是Remote Data Object(RDO)。通过RDO,VB和稿本语言也能够存取各种关系数据库。但是随着数据来源日益复杂,现在的应

22、用程序很可能需要从不同的数据源来区的数据,加以处理,再把处理过的资料输出到另一个数据来源中。更麻烦的是这些数据来源可能不是传统的关系数据库,而很可能为Excel档案,Email等。Microsoft为了让应用程序能够以统一的方式存取不同的数据源,在1997年提出Universal Data Access架构,UDA是以COM技术为核心,以OLE-DB作为技术的骨架,它是操作系统层次的软件。OLE-DB定义了统一的COM界面作为存取各类数据源的标准,并且封装在一组COM物件中,通过OLE-DB,我们就可以使用统一的方式来存取各种数据。但是由于OLE-DB在使用上非常复杂,需要有较高的技巧才可以存

23、取资料。为了解决这个问题,并且让VB和稿本语言也能够通过OLE-DB存取各种数据来源。Microsoft同样用COM技术封装了OLE-DB成为ADO物件,并大幅度简化了数据的存取工作,有利于提高生产力,这也是我们选择ADO作为数据存取技术的原因。ApplicationDAORDOADOOLE DBODBCSQL DataSQL ServerOracleOtherFoxProJetNon SQL DataMail ServerDirectoryServicesOtherTextVideoMainframe and Legacy Data下图为Microsoft 数据存取技术的架构图。使用Delp

24、hi开发ADO程序Delphi提供了ADOExpress元件组,适当的封装了原生ADO技术,并把原生的ADO物件融入Delphi的VCL架构中。使得Delphi程序员能够快速、高效的开发ADO应用程序。MS SQL ServerMicrosoft SQL Server 7 是高性能、客户/服务器方式的关系型数据库管理系统(RDBMS: relational database management system)。它经过精心设计,支持大吞吐量的事务处理(例如联机订单、库存管理、会计账目或商品生产等),也能支持数据仓库和决策支持的应用程序(例如销售分析应用系统等)。SQL Server 7可以在基

25、于Microsoft Windows NT Server网络支持的任何硬件结构环境中完好的运行。另外还提供许多客户工具和其他Microsoft操作系统的网络接口。又因为SQL Server的开发式结构,其它系统(如基于UNIX的系统)也能够与它进行相互操作。它的工具和接口包括开发工具、系统管理工具、分布式系统组件以及开发式开发接口。SQL 引擎 Transact SQLSQL Server引擎支持广泛的应用程序需求,如联机事务处理和决策支持应用程序。它的决策支持功能的核心部分是Transact SQL。在这种查询语言下面,是支持事务处理和可恢复性功能的组件。Microsoft SQL Serv

26、er符合美国国家标准学会的SQL-92标准。由于Microsoft SQL Server对SQL-92作了独特的扩展,使得Transact SQL功能更加强大。查询优化器。在Transact-SQL中,以节省系统开销为目的的查询优化器确定了访问数据的最佳方法。它可以统计数据量和数据的离散趋势,然后可以利用这些统计结果估算出优化操作。利用SQL Server的SHOWPLAN功能,可以解释执行计划,提出选择改执行计划的原因,还可以用来调整应用程序和数据库的设计。可编程服务器Transact-SQL提供编程结构,采用简单的SQL程序脚本,可以大大简化应用程序的开发。这种结构消除了网络会话,因而可以

27、显著改善客户/服务器环境下的性能。存储过程SQL Server提供某些存储过程,利用这些存储过程,可以先将编译后的SQL语句存进服务器。另外SQL Server还提供扩展的存储过程,可以让开发人员扩展Transact SQL提供的编程能力,也可以访问SQL Server外部的资源。强制性的数据完整性SQL Server在数据自身内部强制性实施数据完整性,保证复杂的商业法规得以遵守,还要保证数据元素之间的强制性关系得以维持。SQL Server采用先进的数据完整性功能。例如,存储过程、说明性参照完整性、数据类型、约束、规则、默认值以及触发器。事务处理 SQLServer可以保证事务的原子性。有了

28、原子性,每个事务就会被看成“非此即彼”(all-or-nothing)型的,即每个事务要么执行,要么终止。如果一个事务已确认,那么所有其效果予以保留。如果一个事务被终止,那么所有其效果将被取消。 一致性一直性属性保证事务不允许系统输入不正确的逻辑状态,即数据在逻辑上总应该是正确的。约束和规则都忠实地进行把关,即使在系统失灵的情况下也是如此。 隔离性事务之间的隔离性由SQLerver自动完成。SQL Server可以对数据加锁,从而使多个并发用户对数据进行操作。SQL Sever可以阻止一些副作用。这些副作用可能歪曲结果。持久性当一个事务被确认后,SQL Server的持久性即可保证该事务的效果

29、持续存在。即使系统失灵,其效果仍然保持。相反,如果在处理事务时系统失灵,那么事务将被完全取消,但对于数据则不会产生任何影响。待添加的隐藏文字内容1安全性windows NT验证功能依赖于“信用连接”(trusted connections)。这其中要用到Windows NT的模仿功能。通过模仿功能,SQL Server可以利用Windows NT用户帐号中的安全内容来对连接进行初始化,并检测其中的安全标识符(SID)是否达到了合法授权级别。当连接到运行Windows NT下的SQL- Server时,Windows NT的模仿功能和信用连接对所有的网络接口(网库)都实用。对于运行在Window

30、s95或Windows98下的SQL Server登录帐号。连接到SQL Server的任何用户不论是登录到网络都必须提供SQL Server登录名称和密码。这种类型的确认就是所谓的“SQL Server验证“(SQL Server authentication)。SQL Server能够安装在“混合的安全”模式中,也就是说,基于Windows NT的客户能够用WindowsNT验证来连接,并且连接不是来自Windows NT客户;或者来自Internet的连接,能够用SQL Server 验证连接。另外,当连接到安装在混合安全模式中的SQL Server实例时,连接总是明确的提供SQL Se

31、rver登录用户名。这就允许用于登录WindowsNT时不同的用户名来连接。不过如果你连接到仅配置了WindowsNT验证的SQL Server实例,那么你就无法提供SQL Server登录用户名,而且,你的Wind-owsNT用户名决定了你对SQL Server的访问级别。 监测与管理安全性SQL Server很容易监测登录的成功与失败。使用SQL Server Enterprise Manager,管理员只需在SQL Server的安装程序中选中Properties对话框Security选项卡中适当的复选框即可。当用这种方法进行登录监测时,对每次成功或不成功登录SQL Server的企图,

32、都会将一条消息写入WindowsNT的事件日记中,记录SQL Server错误或者指明时间,日期和试图登录的用户。SQL Server有多种方法管理数据的安全性。对那些用户或用户组,可以给予或撤回他们访问(如选取,插入,更新和删除)某些对象(例如表和视图)的权力。可以通过本地存储过程和扩展存储过程给予执行权。例如,要禁止用户直接更新一个特殊的表,可以写一个存储过程,用该存储过程来更新表,必要时把那些更新操作级连到其它表。给予某用户执行该存储过程的权力,这样就保证所有修改都要通过存储过程来进行,从而避免了因对基准表做了不当的修改而带来完整性的问题。 高度有效性在许多关键性的环境中,保证应用程序每

33、周7天,每天24小时正常运行是至关重要的。SQL Server通过多种手段来提供联机备份,联机维护,自动恢复,以及能够因防止出错而在群集中安装了SQL Ser-ver。利用SQL Server的动态联机备份功能,当用户正在查询和更新数据库时也可以对数据库进行备份。SQL Server Agent服务提供了内置的调度引擎,该引擎使数据库能自动进行定时备份,无须管理员干预。其他的维护任务,例如诊所故障,修改设计(例如,向表增加列),以及对完整的修改,都可以在不关闭SQL Server,不限制用户访问的情况下进行。只有少数整个系统范围内配置发生变化(例如修改用户的最大连接数),才需要重新启SQLSe

34、rver。在计划周全,精心使用的产品系统中,上叙情况很少发生。但是即使发生了这种情况,通常关掉SQLServer的时间不到一分钟即可完成修改工作。如果出现了系统失灵,例如掉电了,那么当系统服务恢复后,SQL Server可以保证数据库快速恢复。通过利用与各数据库相关的事务日志,SQL Server启动时可以很快地恢复各个数据库,重新执行未完成的事务,接着继续执行已确认但尚未写入磁盘的事务。此外,可以将SQL Server Agent服务设置成连续监测SQL Server状态。如果有错误发生使得SQL Server意外停止,那么SQL Server Agent服务可以监测到这种情况,并且能在最短

35、的中断时间之内,自动重新启动SQL Server。在将SQL Server安装到Microsoft Cluster Server(MSCS)群集的某个节点上时,联合使用共享磁盘群集硬件,SQL Server Enterprise Edition提供“撤退”功能(也称作“避错”功能)。与SQL Server通信的应用程序不需要知道它连接的服务器实际只是个虚拟服务器,它可以在群集的任意成员上运行。如果运行SQL Server的服务器失灵,那么群集中的第二台服务器将立即管理保存SQL Server数据的磁盘,并按照它的工作量完成。群集中的第二台服务器并不需要在第一台服务器工作其间停止运行,它能够在完

36、成其他活动的同时运行SQL Server。 分布式的数据处理在分布式的环境中,为了易于管理和使用数据,SQL Server提供了特别功能,例如链接服务器,远程存储过程调用,两阶段确认等。Microsoft Distributed Transaction Coordinator(MDTC)被设计成“选票收集器”和事务协调程序。它可以使许多不同类型的系统协调工作,并在异类系统间为ACID事务打好基础。一个系统参与了由MS DTC协调的事务后,它仍然管理自己的工作,这样的系统被称为“资源管理器”(resource manager)。该资源管理系统与MS DTC进行通讯,而MS DTC则协调所有参与该

37、事务的资源管理器,以便实现两个阶段确认协议。ACID属性的分布式事务作为一个整体来处理,即整个分布式事务在各个站点要么整体确认,要么整体失败。在确认协议的两个阶段的第一阶段,所有参与的资源管理器(即那些已被“列入”该事务的资源管理器)都准备确认。这意味着它们已经得到该事务所需的全部枷锁和资源。于是,MS DTC扮演了选票收集器的角色。如果它证实所有参与者都已准备确认,那么它将发出进行确认的信号。实际的COMMIT是协议的第二阶段。如果有一个或多个参与者通知该系统,它仍然不能成功的准备事务那么MS DTC将自动地向所有参与者发送一条信息,指出他们必须放弃该事务。(在这种情况下,“放弃”而非“确认

38、”即成为协议的第二阶段。)如果有一个或多个参与者在第一阶段并没有向MS- DTC发回报告,那些已表明自己准备确认(但还没有确认,因为它们并没有接到确认的指令)的资源管理器此时处于“存疑”(in doubt)状态。带有“存疑”事务的资源管理器将一直保持所需的加锁和资源,直到最终确认将重新执行该事务,此其间一直保持ACID属性。(SQL Server提供一种方法,可迫使“存疑”的事务终止。)另一个重要的分布功能是:SQL Server可以把远程调用(RPC:remote procedure call)发送到其它运行SQL Server的服务器。远程过程调用是可以从远程服务器激发的存储过程,它允许服

39、务器到服务器之间的通讯。由于客户可以在一个服务器上执行过程,而该过程又可以激发另一个服务器的过程,所以这种服务器对服务器的通讯对客户应用程序来说是透明地完成的。使用RPC可以很容易地扩展应用程序的功能,从而无需增加成本重新开发客户应用程序。这些远程过程调用可以由MS DTC服务协调,以保证事务维护自己的ACID属性。默认的方法是在事务的前后执行RPC,以便在当本地的事务回滚时,仍然可以确认由RPC完成的工作。这个行为能够用命令BEGIN DISTRIBUTED TRANSACTION代替,也可以通过将配置选项remote proc trans设置为1来代替。分布式数据还能够通过定义和访问“链接

40、的服务器”来管理。链接的服务器可以是带有OLE DB提供者的任意数据源。最常用的OLE DB提供者有SQL Server OLE DB提供者;Jet提供者,允许连接到Microsoft Access数据库;以及Open Database Connectivity(ODBC)提供者,允许连接到任意的ODBC数据源。链接的服务器是一个逻辑名称,它用存储过程sp_addlinkedserver来定义。在定义链接的服务器时提供的信息包括连接到数据源的名称和位置。一旦定义了名称,你就能够按任意对象4部分名称的第一部分来使用名称,例如表,视图或存储过程。链接到服务器上的对象能够被修改和查询,而且它们能够连

41、接到本地的对象。链接的服务器上允许的查询类型取决于特定OLE DB提供者的性能。有些提供者,例如SQL Server中的一个,允许通过链接的服务器来完成所有的数据修改操作和完整的事务控制。使用两阶段确认协议可保证分布事务的ACID属性,但复制不能保证ACID属性。复制不具备很强的一致性(即ACID中的c)。但复制提供较松散的一致性数据。回想一下两阶段确认协议中,事务是“非此即彼”的问题,数据保证有严格的一致性。但两个阶段确认算法的固有特点是:仍何站点上的失败都会导致整个事务失败,或者在很长一段时间里使该事务处于“存疑”状态,而在此期间,所有的参与者都需要保持加锁状态,因而削弱了并发性。事务处理

42、可以保证SQL Server数据库的一致性和可恢复性。这样的事务处理被称为具有ACID属性,原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)。对称的服务器结构SQL Server使用单进程的多线程结构。这种结构被称为对称的服务器结构,它可以有效的利用系统资源,从而提高系统性能,支持数百个,甚至数千个同时工作的用户。安全性SQL Server提供多层安全性。在最外层,SQL Server的登录安全性直接集成到Windows NT的安全性上,它允许Windows NT服务器验证用户。使用这种Windows NT 验证,SQ

43、L Server就可以利用NT的安全特性,例如密码加密、密码期限,以及对密码最大长度的限制等。高度有效性在许多关键性的环境中,保证应用程序每周7天,每天24小时正常运转是至关重要的。分布式的数据处理数据复制利用数据复制,可以自动地将数据从一个服务器复制到一个或多个远程站点上的一个或多个目的服务器上。数据完整性是SQL Server复制功能一个关键的设计点。SQL Server 7 支持三种模式的复制:基于事物的复制在这种模式的复制下,一个站点要作为已发布文章(表或表的子集)的拥有者或发布者,而其他站点订阅该文章。对文章的所有修改都必须由发布者完成,后传播到订户。合并复制尽管发布的是发布者定义的

44、文章,但是任何参与的站点都能进行修改。系统表保持对修改的跟踪,仍后传播到所有的参与者,其中包括最初的发布者。可以定义在由多个站点产生的冲突更新中使用的解决冲突的分辨类型。快照复制来自发布站点的所有数据将周期性地复制到所有的订阅站点。不能传播单独的修改。COM/DCOMCOM/DCOM是Windows平台中最基本而重要的技术,几乎所有的Microsoft软件都是以COM/DCOM技术开发而成的,甚至Windows 2000操作系统的系统服务也都是使用COM/DCOM/COM+技术开发的。基本上,COM/DCOM是一种组件模型,它提供了一些基本的原则的方法让Windows平台中使用标准的物件模型来

45、开发软件组件。由于这些软件组件遵循了Microsoft定义的标准,因此这些元件可以使用在任何支持COM/DCOM标准的软件中,人MTS/COM+在目前系统应用日益复杂的环境中,建立分布式多层应用架构已经成为许多系统必须面对的事情。在Windows平台中,从新一代的多层MIS系统,Internet/Intranet应用系统,到结合分布式交易的电子商务系统,使用MTS/COM+作为中间执行企业物件的中介软件已经成为最为流行的系统架构之一。Microsoft的MTS/COM+不但能够稳定的执行应用系统的企业物件,服务用户端的请求,更能够提供在分布式环境和异质数据库之间的交易管理能力。这让分布式应用系

46、统能够稳定,可靠的在复杂的环境中正确的执行。再加上MTS/COM+能够有效的利用各种系统资源,增加中介软件的执行效率,因此让使用MTS/COM+作为中介软件的应用系统也能够提供合理的执行效率。在Microsoft的DNA架构以及DNA 2000架构中,MTS/COM+已经成为核心的技术之一,不仅Windows 2000操作系统使用COM+提供许多重要的服务,连IIS, MSMQ, MS SQL Server也都和MTS/COM+有着紧密的结合。在Windows 2000平台中使用COM+更是在所有Windows平台中开发应用系统不可回避的事情。不管现在开发的系统使用何种架构,只要在Window

47、s环境下开发应用系统,那么走向组件导向,分布式多层的应用系统已经是不可避免的趋势了。即使是传统的C/S体系架构,在今日也需要集成Internet/Intranet或是电子商务的功能。一旦应用系统引入了新的Web解决方案,那么使用中介软件也就是必然的事情了。MTS是Microsoft在Windows平台的中介软件之一,它的主要功能是开发已组件为导向的分布式应用系统,并且具备在同质和异质数据库之间对异动的资料进行两段式提交的功能(Two Phase Commit)。MTS本身是一个COM/DCOM组件的Container执行环境,它鼓励把应用程序的企业逻辑撰写成MTS组件,然后把这些企业MTS组件

48、封包成套体组件(Package)的形式。当用户端应用程序需要执行这些企业组件提供服务时,MTS会自动把这些MTS企业物件载入,提供给用户端应用程序使用。这样一来不管是一般的Windows应用程序,或是Web应用程序都能够使用执行在MTS之中的分布式组件。MTS这种运作架构有很多优点。第一,它是以组件为导向的方式分布式应用系统,这些企业组件可以重复使用在不同的应用系统中。也就是说,在开发Internet/Intranet的应用系统时就不再需要重复编写这些已经开发和测试完毕的企业物件了,系统的扩展性和组件的复用性就得到了保证,同时也能及时的响应用户的需求,提出解决方案,开发开发系统。第二,自动处理数据库的交易。在传统的应用程序中,在处理数据变动时,都需要进行数据库交易行为的管理工作。因此在用户端应用程序中都有类似StartTransction, Commit, Rollback等动作。在MTS提供了数据库交易的管理工

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号