系统(erp)架构设计方案.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 erp 架构 设计方案
- 资源描述:
-
Erp系统架构设计方案 ERP系统架构设计方案 2009 年 5月 版本控制 版本 注释 作者 时间 1。0 ERP系统架构设计方案初稿 麦仲博 2009-05-28 一、前言 二、架构设计 2。1架构分析 2。2架构定义 2。3架构说明 2.4软件逻辑结构 三、具体功能简述 3.1自定义工作流解决方案 3。2多语言解决方案 3。3消息发布/订阅系统方案 3。4报表&打印方案 四、系统平台&支撑组件 五、系统网络结构 六、开发管理层面 一、前言 一个企业级的商业软件能够满足用户需要、正常运行、易于维护、易于扩展,必须拥有一个良好的软件架构支撑。本文主要是分析和构建一个企业级商业软件架构。 二、架构设计 2。1架构分析 企业级的商业软件架构在技术层面的要求主要体系在高性能、健壮性和低成本。 l 高性能 对于企业级商业软件来说,软件架构需要尽可能地使软件具有最高的性能,支持最大的并发性。 l 健壮性 企业级的商业软件要求软件是可靠的和无缺陷的。现在的架构一般是,服务器模式的。软件的可靠和健壮主要依赖与服务器。服务器的稳定通过良好的代码和完备的测试能够解决这个问题。 l 低成本 企业级商业软件还有一个很重要的要求:低成本。软件架构要求简单、易掌握,复杂度低,易于维护和扩展,易于测试。 2。2架构定义 本架构以XML为整个系统的交互接口,包括系统架构内部和外部。整个系统分为界面展示层,流程控制层和数据存储层。 2.3架构说明 系统架构 图 Erp架构中各核心服务之间满足松散耦合特性,具有定义良好的接口,可通过拆分与组合,可以有针对性地构建满足不同应用场景需求的Erp应用系统。 2.3.1 适配器 在集成环境中需要复用已有的应用系统和数据资源,通过适配器可以将已有应用系统和数据资源接入到ERP应用系统中. 通过适配器可以实现已有资源与ERP系统中其它服务实现双向通讯和互相调用。首先通过适配器可以实现对已有资源的服务化封装,将已有资源封装为一个服务提供者,可以为ERP应用系统中的服务消费者提供业务和数据服务,其次通过适配器,也可以使已有资源可以消费ERP应用系统中的其它服务。 2.3.2 资源仓库 资源仓库主要功能是提供服务描述信息的存储、分类和查询功能。对于广义的资源仓库而言,除了提供服务类型的资源管理外,还需要提供对其它各种资源的管理能力,可管理对象包括:人员和权限信息、流程定义和描述、资源封装服务、服务实现代码、服务部署和打包内容、以及环境定义和描述信息. 资源仓库首先需要提供服务描述能力,需要能够描述服务的各种属性特征,包括:服务的接口描述、服务的业务特性、服务的质量特征(如:安全、可靠和事务等)以及服务运行的QoS属性。 2。3.3 连通服务 连通服务是ERP基础技术平台中的一个重要核心服务,典型的连通服务就是企业服务总线(Enterprise Service Bus,ESB),它是服务之间互相通信和交互的骨干.连通服务的主要功能是通信代理,如服务消费的双向交互、代理之间的通信、代理之间的通信质量保障以及服务运行管理功能等。 连通服务还需要保证传输效率和传输质量。连通服务一般应用于连接一个自治域内部的各个服务,在自治域内部服务都是相对可控的,所以连通服务更多应该考虑效率问题。 2。3。4 流程服务 流程服务是为业务流程的运行提供支撑的一组标准服务。业务流程是一组服务的集合,可以按照特定的顺序并使用一组特定的规则进行调用。业务流程可以由不同粒度的服务组成,其本身可视为服务。 流程服务是业务流程的运行环境,提供流程驱动,服务调用,事务管理等功能.流程服务需要支持机器自动处理的流程,也需要支持人工干预的任务操作,它支持的业务流程主要适用于对运行处理时间要求不高的,多方合作操作的业务过程。 2。3。5 交互服务 交互服务实现人与服务之间的交互功能。交互服务就是需要提供一组完整的功能,以实现人与服务的便捷交互,既能支持多种交互渠道(如浏览器方式,富客户端方式和移动接入方式等),也能支持多种交互能力(如单点登录、个性化、支持各种资源的统一内容管理等)。 2.3。6 协作服务 协作服务用来解决自治域之间及自治域内部的交互通信。协作服务强调标准的采用,强调平等协作。具体实现技术时将更多的考虑采用WCF相关技术,以实现流程协同,服务交互,和各种质量属性管理(如事务管理、可靠传输和安全管理等)。 2.3.7 安全服务 像ERP这样强调松散耦合的分布式集成系统,安全性显得尤为重要.安全有时被称为一种“事关全局的考虑”,是全方位的问题,它跨越ERP参考架构模型的各个部分。 安全服务向ERP参考架构模型中其他服务提供基本的安全服务功能,包括:身份验证、访问控制、数据加密、数据完整性和抗抵赖性,以及安全信任、身份联邦、安全会话、安全策略等。 2.3。8 信息服务 信息服务特指为利用上述各种基本的核心服务提供信息管理和使用的服务。具体包括提供元数据管理功能,以一种统一的方式描述ERP系统中所需要使用的各种信息数据。它也提供对各种类型数据(包括结构化数据和非结构化数据),以及分布在不同地方的数据进行统一的访问管理。 信息服务其目标是使应用系统能够统一、透明、高效地访问和操纵位于网络环境中的各种分布、异构的数据资源,为实现全局数据访问、加快应用开发、增强网络应用和方便系统管理提供支持。 2.3。9 运行管理工具 运行管理工具提供界面友好的图形化方式的监控和管理工具,提供对各种资源和服务对象的运行管理功能.监控管理工具需要管理核心服务,也需要管理应用服务。可以查看各个服务的运行状态和历史信息,也能对服务进行启动、停止、暂停、恢复、版本升级等管理控制操作,同时需要提供分析和统计功能,可以根据服务运行信息实现对系统的调整和优化操作。 2。4软件逻辑结构 软件架构 图 框架从层次结构上分主要分为:表示层、服务层、业务层、数据层 ◆表示层 表示层由UI(User Interface)和UI控制逻辑组成。 c/s选用wpf+智能客户端,b/s选用asp。net mvc WPF的出现解决了三个问题: (1) 更快速的去开发更丰富的用户体验:使用WPF,可以在更加快速的时间内开发出来更加丰富的界面,满足用户的需求.WPF 借助 XAML 来利用标记而不是编程语言(如 C#)来构造精美逼真的用户界面 (UI), 只要稍微具备一些HTML基础知识,就可以快速地掌握XAML中的大部分内容. (2) 消除用户界面差异:wpf可以以IE为宿主的。或Silverlight (3) 软件开发团队的协作问题: 在软件团队中,我们比较熟悉Developer、DBA、Tester、IT Pro、Architect等。Designer可能往往被我们忽视,但实际上,Designer的工作成果才是与客户距离最近的。而且Designer与Developer如何配合工作,是很多团队所头疼的,而WPF正可以解决此问题。 智能客户端的优势 1)充分利用终端设备的优势 2)能够调用wcf 3)支持在线和离线两种状态 4)能够如同Web应用程序一般简单方便的部署 asp。net mvc内置AJAX支持. 本身含的MVC(模型-视图—控制器)和本系统MVVM(Model-View—ViewModel)就是双胞胎,在demo里已经有很好的集成 *注:因xaml和html是标记语言,此层大部分可用代码生成器生成. ◆服务层 采用微软的WCF,Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信编程框架平台,是.NET Framework 3.5的重要组成部分.使用该框架,开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案。WCF从一开始就是工程化的,能够简化应用程序的开发与部署,降低开发成本。用于构建面向服务的应用程序,不管这些程序是独立的桌面应用程序,还是Web应用程序和服务,还是高端的企业应用程序。 ◆逻辑、业务层 业务层封装了实际业务逻辑,包含数据验证,事物处理,权限处理等业务相关操作,是整个应用系统的核心.因此设计一个能够真实反映实际需要的业务层是非常必要的,我们将实际业务具体分为业务数据与业务操作两部分. l 业务数据 Domain Model则是根据实际业务按照现实方式用OO思想建模,这样很适合业务复杂的系统.通常采用自定义数据实体(Custom Data Entity)方式表达。自定义数据实体,有着良好的性能,编译时的类型检查,数据表现方式非常直观符合实际业务的操作方式等优点,但需要自己定义维护类,在分布式环境下需要自己编写序列化方法。 此阶段负责数据交换(传输)的业务实体被称之为DTO(Data Transfer Object). DTO要能够支持:数据绑定、数据验证、历史记录、级联触发、合并集合、序列化与反序列化,要实现一个大的递归,从其中的任何一个对象开始,能够找出整个传递的所有数据。 (1)、数据的绑定支持。要实现IEditableObject接口,对于状态的变化要实现INotifyPropertyChanged接口,这样才能够实现数据的触发,这样就要实现一个对象能够找到其所有的集合,一个集合要能够其所有的对象,这样一样,就必须实现从对象、集合、对象的递归,再深入一点,就实现了数据的级联触发,实现了双向数据触发、绑定。数据源的每个属性变更,要能够在界面上反映出来,绑定界面的改变,能够记录到后台的数据源,并且要能够支持回滚.对于容纳这些数据的ObservableCollection集合也支持绑定处理。 (2)、数据验证。实现IDataErrorInfo接口 (3) 对于历史记录。当实现IEditableObject这个接口,则必然实现了历史记录.能够找到集合的所有更改的记录,包括删除的记录。对于单个对象而言是能够得到历史记录和当前数据,对于集合而言,则能够找出差异集,同时,集合也要具备集合回滚的功能。 (4) 级联触发,则是在实现数据绑定的基础上的,对于常见的主从结构,当从对象的一个属性改变了,要能够自动通知其所在的集合、集合再通知所在的对象数据改变了,如果是多层结构,则能够自动的从最底层开始一路通知到顶层。 (5)合并集合、集合的处理。集合的处理与数据绑定是直接相当的。数据源找出差异集之后,要对差异集进行处理,处理完之后,要对原始集合进行更进一步的处理,要把两个集合进行合并处理,主要是为了同步引用。 (6)同时,另外要实现的就是Data与SDO之间的转换以及其他格式的数据与SDO、Data数据之间的数据转换,比如Binary/Xml/Text/Key/文件/等,最基本的是SDO与Data之间的转换,这些转换根据需要,有时候是单向的,有时候是双向的,根据业务需求而定。 (7)序列化与反序列化,主要是涉及到Binary和XML序列化。 l 业务操作 业务操作负责对业务数据进行各种业务相关的处理,例如验证,流向,整合,事物,权限等,但它不负责有关对数据源的操作。 采用整合业务数据与业务方式来操作,将业务数据与相关的业务操作封装在一起称为业务实体,业务实体作为统一的业务层为表示层提供服务,同时也负责作为DTO在各个层次间传输,这样完整的Domain Model设计方式,每个业务实体都可以做为一个单独组件形式存在,对于组件化复用有着莫大的好处. ◆数据层 数据层的宗旨就是为数据源提供一个可供外界访问的接口,我们应该选用一种能够提供数据源无关的抽象数据访问接口并通过在其下挂接各种不同的DataProviador来访问数据源的数据层组件,这样做便于移植到不同的数据源上。 从纷繁芜杂的关系数据模型中抽象出概念模型。这样开发人员可以只需着眼概念模型,而不必要去关心纷繁芜杂的关系数据模型,从而提高开发效率。那么如何能够做到这一点? 答案就是:Linq 和 ADO.NET Entity Framework l LINQ几乎支持你所期望的所有数据源:数据对象、SQL Server数据库、XML和数据集,当然也支持ADO。NET Entity(LINQ to Entities),LINQ有如下优势: 1、 无需复杂学习过程即可上手 下面我给出一个简单的C#示例. String[] QueryString = { "One", "Two", "Three", ”Four”, "Five” }; 要想查找其中长度大于3的字符串,你可以使用以下查询语句: var ThisQuery = from StringValue in QueryString where StringValue.Length 〉 3 select StringValue; 2、 编写更少代码即可创建完整应用。 3、 更快开发错误更少的应用程序. 4、 无需求助奇怪的编程技巧就可合并数据源。 5、 让新开发者开发效率更高. l ADO.NET Entity Framework包括 1. 实体数据模型(Entity Data Model),开发人员通过EDM抽象出非常合适的模型. 2. 非常强大的client—view/mappping引擎,用于映射数据关系 3. Entity SQL语言和LINQ查询对EDM schemas的全面支持 4。 ojbect services layer供您选择以何种方式去处理查询结果。比如(行,列或作为对象)。 5. 提供一个开放的模型使ADO。NET Entity Framework可以处理其他的数据存储。 6. Entity Framework 实现了乐观的并发模式(Optimistic Concurrency Model) 7. 事务处理 三、具体功能简述 3。1工作流解决方案 工作流引擎:该部分为工作流模型的核心部分,用于生成、管理、角度和监控工作流的各个活动执行情况,并实现相应的人机交互。由于采用XPDL等语言定义的工作流文件记载了相应的业务逻辑,隐藏工作流引擎通过解析该文件来了解业务流转的逻辑。然后依据某种运行模式按照解析出来的业务逻辑进行驱动,最终实现业务流程的流转。 工作流定义接口:通过该接口可以进行工作流程的分析、建模、描述和归档等工作,并将设计完毕的业务流程生成工作流引擎能够识别的语言。 工作流客户接口:处理工作流运行过程中需要人为参与的操作。 工作流调用应用程序接口:工作流引擎调用外部应用程序的规范。 工作流引擎协作接口:不同工作流引擎之间的协作. 工作流管理监控接口:监控和管理工作流所有实例状态。 3.2多语言&用户自定义标签方案 数据库结构 3.3消息发布/订阅系统方案 使用WCF创建发布/订阅系统有多种不同的方式, (1)使用回调契约的发布/订阅系统 (2)使用MSMQ实际通用组播的发布/订阅系统 (3)使用流的发布/订阅系统 方法1,2适合通知数据量较大并且发布频率比较低的应用场景。 当通知的数据量较小而且发布频率又较高时,应该使用方法3。 3。4报表&打印方案 四、系统平台&支撑组件 l Wpf (UI) l Asp。net mvc(UI) l ClickOnce(智能客户端。可自动升级,离线操作) l Linq(借助于LINQ技术,我们可以使用一种类似SQL的语法来查询任何形式的数据,普通开发人员不必学习MsSql, mysql, orcale, access等数据库语法,节省开发时间) l ADO.NET Entity(让应用程序可以用完全对象化的方法连接与访问数据库, 修改Provider就可迁移到不同的数据库) l IIS6或以上 l Windows server 2003或以上 l WCF(服务层) l Unity(是微软模式与实践团队开发的一个轻量级、可扩展的依赖注入&反转控制容器) l SQL Server Compact Edition(用作智能客户端离线操作) l WF(Microsoft Windows Workflow Foundation是一个可扩展框架,用于在 Windows 平台上开发工作流解决方案) 五、系统网络结构 六、开发管理层面展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




系统(erp)架构设计方案.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4050173.html