7系统(ERP)架构设计方案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.3.3 连通服务
连通服务是 ERP 基础技术平台中的一个重要核心服务,典型的连通服务就是企业服务 总线(Enterprise Service Bus,ESB),它是服务之间互相通信和交互的骨干。连通服务的主要 功能是通信代理,如服务消费的双向交互、代理之间的通信、代理之间的通信质量保障以及 服务运行管理功能等。
2.3.1 适配器
在集成环境中需要复用已有的应用系统和数据资源,通过适配器可以将已有应用系统和 数据资源接入到 ERP 应用系统中。
通过适配器可以实现已有资源与 ERP 系统中其它服务实现双向通讯和互相调用。首先 通过适配器可以实现对已有资源的服务化封装,将已有资源封装为一个服务提供者,可以为 ERP 应用系统中的服务消费者提供业务和数据服务,其次通过适配器,也可以使已有资源 可以消费 ERP 应用系统中的其它服务。
安全服务向 ERP 参考架构模型中其他服务提供基本的安全服务功能,包括:身份验证、 访问控制、数据加密、数据完整性和抗抵赖性,以及安全信任、身份联邦、安全会话、安全 策略等。
2.3.8 信息服务
信息服务特指为利用上述各种基本的核心服务提供信息管理和使用的服务。具体包括提 供元数据管理功能,以一种统一的方式描述 ERP 系统中所需要使用的各种信息数据。它也 提供对各种类型数据(包括结构化数据和非结构化数据),以及分布在不同地方的数据进行统 一的访问管理。
2.3.2 资源仓库
资源仓库主要功能是提供服务描述信息的存储、分类和查询功能。对于广义的资源仓库 而言,除了提供服务类型的资源管理外,还需要提供对其它各种资源的管理能力,可管理对 象包括:人员和权限信息、流程定义和描述、资源封装服务、服务实现代码、服务部署和打 包内容、以及环境定义和描述信息。
资源仓库首先需要提供服务描述能力,需要能够描述服务的各种属性特征,包括:服务 的接口描述、服务的业务特性、服务的质量特征(如:安全、可靠和事务等)以及服务运行的 QoS 属性。
Erp 系统架构设计方案
握 XAML 中的大部分内容。
(2) 消除用户界面差异:wpf 可以以 IE 为宿主的。或 Silverlight
(3) 软件开发团队的协作问题: 在软件团队中,我们比较熟悉 Developer、DBA、Tester、IT Pro、 Architect 等。Designer 可能往往被我们忽视,但实际上,Designer 的工作成果才是与客户距 离最近的。而且 Designer 与 Developer 如何配合工作,是很多团队所头疼的,而 WPF 正可 以解决此问题。
2.3.6 协作服务
协作服务用来解决自治域之间及自治域内部的交互通信。协作服务强调标准的采用,强 调平等协作。具体实现技术时将更多的考虑采用 WCF 相关技术,以实现流程协同,服务交 互,和各种质量属性管理(如事务管理、可靠传输和安全管理等)。
2.3.7 安全服务
像 ERP 这样强调松散耦合的分布式集成系统,安全性显得尤为重要。安全有时被称为 一种“事关全局的考虑”,是全方位的问题,它跨越 ERP 参考架构模型的各个部分。
连通服务还需要保证传输效率和传输质量。连通服务一般应用于连接一个自治域内部的 各个服务,在自治域内部服务都是相对可控的,所以连通服务更多应该考虑效率问题。
2.3.4 流程服务
流程服务是为业务流程的运行提供支撑的一组标准服务。业务流程是一组服务的集合, 可以按照特定的顺序并使用一组特定的规则进行调用。业务流程可以由不同粒度的服务组 成,其本身可视为服务。
(4) 级联触发,则是在实现数据绑定的基础上的,对于常见的主从结构,当从对象的一 个属性改变了,要能够自动通知其所在的集合、集合再通知所在的对象数据改变了,如果是 多层结构,则能够自动的从最底层开始一路通知到顶层。
(5)合并集合、集合的处理。集合的处理与数据绑定是直接相当的。数据源找出差异集 之后,要对差异集进行处理,处理完之后,要对原始集合进行更进一步的处理,要把两个集 合进行合并处理,主要是为了同步引用。
(6)同时,另外要实现的就是 Data 与 SDO 之间的转换以及其他格式的数据与 SDO、Data 数据之间的数据转换,比如 Binary/Xml/Text/Key/文件/等,最基本的是 SDO 与 Data 之间的 转换,这些转换根据需要,有时候是单向的,有时候是双向的,根据业务需求而定。
(7)序列化与反序来自百度文库化,主要是涉及到 Binary 和 XML 序列化。
2.4 软件逻辑结构
软件架构
图
Erp 系统架构设计方案
框架从层次结构上分主要分为:表示层、服务层、业务层、数据层
◆表示层
表示层由 UI(User Interface)和 UI 控制逻辑组成。 c/s 选用 wpf+智能客户端,b/s 选用 asp.net mvc
WPF 的出现解决了三个问题:
(1) 更快速的去开发更丰富的用户体验:使用 WPF,可以在更加快速的时间内开发出来更加丰 富的界面,满足用户的需求。WPF 借助 XAML 来利用标记而不是编程语言(如 C#) 来构造精美逼真的用户界面 (UI), 只要稍微具备一些 HTML 基础知识,就可以快速地掌
◆逻辑、业务层
业务层封装了实际业务逻辑,包含数据验证,事物处理,权限处理等业务相关操作, 是整个应用系统的核心。因此设计一个能够真实反映实际需要的业务层是非常必要的,我们 将实际业务具体分为业务数据与业务操作两部分。
业务数据
Domain Model 则是根据实际业务按照现实方式用 OO 思想建模,这样很适合业务复杂的系 统。通常采用自定义数据实体(Custom Data Entity)方式表达。自定义数据实体,有着良好 的性能,编译时的类型检查,数据表现方式非常直观符合实际业务的操作方式等优点,但需 要自己定义维护类,在分布式环境下需要自己编写序列化方法。 此阶段负责数据交换(传输)的业务实体被称之为 DTO(Data Transfer Object)。
智能客户端的优势
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 应用程序和服务, 还是高端的企业应用程序。
信息服务其目标是使应用系统能够统一、透明、高效地访问和操纵位于网络环境中的各 种分布、异构的数据资源,为实现全局数据访问、加快应用开发、增强网络应用和方便系统 管理提供支持。
2.3.9 运行管理工具
运行管理工具提供界面友好的图形化方式的监控和管理工具,提供对各种资源和服 务对象的运行管理功能。监控管理工具需要管理核心服务,也需要管理应用服务。可以查看 各个服务的运行状态和历史信息,也能对服务进行启动、停止、暂停、恢复、版本升级等管 理控制操作,同时需要提供分析和统计功能,可以根据服务运行信息实现对系统的调整和优 化操作。
(2)、数据验证。实现 IDataErrorInfo 接口
(3) 对于历史记录。当实现 IEditableObject 这个接口,则必然实现了历史记录。能够找 到集合的所有更改的记录,包括删除的记录。对于单个对象而言是能够得到历史记录和当前 数据,对于集合而言,则能够找出差异集,同时,集合也要具备集合回滚的功能。
Erp 系统架构设计方案
ERP 系统架构设计方案
2009 年 5 月
版本控制
版本 注释
1.0 ERP 系统架构设计方案初稿
作者 麦仲博
时间 2009-05-28
Erp 系统架构设计方案
一、前言 二、架构设计
2.1 架构分析 2.2 架构定义 2.3 架构说明 2.4 软件逻辑结构
三、具体功能简述
3.1 自定义工作流解决方案 3.2 多语言解决方案 3.3 消息发布/订阅系统方案 3.4 报表&打印方案
DTO 要能够支持:数据绑定、数据验证、历史记录、级联触发、合并集合、序列化
与反序列化,要实现一个大的递归,从其中的任何一个对象开始,能够找出整个传递的所有 数据。
(1) 、 数 据 的 绑 定 支 持 。 要 实 现 IEditableObject 接 口 , 对 于 状 态 的 变 化 要 实 现
四、系统平台&支撑组件 五、系统网络结构 六、开发管理层面
Erp 系统架构设计方案
一、前言
一个企业级的商业软件能够满足用户需要、正常运行、易于维护、易于扩展,必须拥有 一个良好的软件架构支撑。本文主要是分析和构建一个企业级商业软件架构。
二、架构设计
2.1 架构分析 企业级的商业软件架构在技术层面的要求主要体系在高性能、健壮性和低成本。 高性能
Erp 系统架构设计方案
INotifyPropertyChanged 接口,这样才能够实现数据的触发,这样就要实现一个对象能够找到 其所有的集合,一个集合要能够其所有的对象,这样一样,就必须实现从对象、集合、对象 的递归,再深入一点,就实现了数据的级联触发,实现了双向数据触发、绑定。数据源的每 个属性变更,要能够在界面上反映出来,绑定界面的改变,能够记录到后台的数据源,并且 要能够支持回滚。对于容纳这些数据的 ObservableCollection 集合也支持绑定处理。
业务操作
业务操作负责对业务数据进行各种业务相关的处理,例如验证,流向,整合,事物, 权限等,但它不负责有关对数据源的操作。
采用整合业务数据与业务方式来操作,将业务数据与相关的业务操作封装在一起称 为业务实体,业务实体作为统一的业务层为表示层提供服务,同时也负责作为 DTO 在各个 层次间传输,这样完整的 Domain Model 设计方式,每个业务实体都可以做为一个单独组件 形式存在,对于组件化复用有着莫大的好处。
2.2 架构定义 本架构以 XML 为整个系统的交互接口,包括系统架构内部和外部。整个系统分为界面 展示层,流程控制层和数据存储层。 2.3 架构说明
系统架构 图
Erp 架构中各核心服务之间满足松散耦合特性,具有定义良好的接口,可通过拆分与组合,
Erp 系统架构设计方案
可以有针对性地构建满足不同应用场景需求的 Erp 应用系统。
对于企业级商业软件来说,软件架构需要尽可能地使软件具有最高的性能,支持最大的并 发性。 健壮性
企业级的商业软件要求软件是可靠的和无缺陷的。现在的架构一般是,服务器模式的。软 件的可靠和健壮主要依赖与服务器。服务器的稳定通过良好的代码和完备的测试能够解决这 个问题。 低成本
企业级商业软件还有一个很重要的要求:低成本。软件架构要求简单、易掌握,复杂度低, 易于维护和扩展,易于测试。
流程服务是业务流程的运行环境,提供流程驱动,服务调用,事务管理等功能。流程服 务需要支持机器自动处理的流程,也需要支持人工干预的任务操作,它支持的业务流程主要 适用于对运行处理时间要求不高的,多方合作操作的业务过程。
2.3.5 交互服务
Erp 系统架构设计方案
交互服务实现人与服务之间的交互功能。交互服务就是需要提供一组完整的功能,以实 现人与服务的便捷交互,既能支持多种交互渠道(如浏览器方式,富客户端方式和移动接入 方式等),也能支持多种交互能力(如单点登录、个性化、支持各种资源的统一内容管理等)。
◆数据层
数据层的宗旨就是为数据源提供一个可供外界访问的接口,我们应该选用一种能够提供 数据源无关的抽象数据访问接口并通过在其下挂接各种不同的 DataProviador 来访问数据源 的数据层组件,这样做便于移植到不同的数据源上。
连通服务是 ERP 基础技术平台中的一个重要核心服务,典型的连通服务就是企业服务 总线(Enterprise Service Bus,ESB),它是服务之间互相通信和交互的骨干。连通服务的主要 功能是通信代理,如服务消费的双向交互、代理之间的通信、代理之间的通信质量保障以及 服务运行管理功能等。
2.3.1 适配器
在集成环境中需要复用已有的应用系统和数据资源,通过适配器可以将已有应用系统和 数据资源接入到 ERP 应用系统中。
通过适配器可以实现已有资源与 ERP 系统中其它服务实现双向通讯和互相调用。首先 通过适配器可以实现对已有资源的服务化封装,将已有资源封装为一个服务提供者,可以为 ERP 应用系统中的服务消费者提供业务和数据服务,其次通过适配器,也可以使已有资源 可以消费 ERP 应用系统中的其它服务。
安全服务向 ERP 参考架构模型中其他服务提供基本的安全服务功能,包括:身份验证、 访问控制、数据加密、数据完整性和抗抵赖性,以及安全信任、身份联邦、安全会话、安全 策略等。
2.3.8 信息服务
信息服务特指为利用上述各种基本的核心服务提供信息管理和使用的服务。具体包括提 供元数据管理功能,以一种统一的方式描述 ERP 系统中所需要使用的各种信息数据。它也 提供对各种类型数据(包括结构化数据和非结构化数据),以及分布在不同地方的数据进行统 一的访问管理。
2.3.2 资源仓库
资源仓库主要功能是提供服务描述信息的存储、分类和查询功能。对于广义的资源仓库 而言,除了提供服务类型的资源管理外,还需要提供对其它各种资源的管理能力,可管理对 象包括:人员和权限信息、流程定义和描述、资源封装服务、服务实现代码、服务部署和打 包内容、以及环境定义和描述信息。
资源仓库首先需要提供服务描述能力,需要能够描述服务的各种属性特征,包括:服务 的接口描述、服务的业务特性、服务的质量特征(如:安全、可靠和事务等)以及服务运行的 QoS 属性。
Erp 系统架构设计方案
握 XAML 中的大部分内容。
(2) 消除用户界面差异:wpf 可以以 IE 为宿主的。或 Silverlight
(3) 软件开发团队的协作问题: 在软件团队中,我们比较熟悉 Developer、DBA、Tester、IT Pro、 Architect 等。Designer 可能往往被我们忽视,但实际上,Designer 的工作成果才是与客户距 离最近的。而且 Designer 与 Developer 如何配合工作,是很多团队所头疼的,而 WPF 正可 以解决此问题。
2.3.6 协作服务
协作服务用来解决自治域之间及自治域内部的交互通信。协作服务强调标准的采用,强 调平等协作。具体实现技术时将更多的考虑采用 WCF 相关技术,以实现流程协同,服务交 互,和各种质量属性管理(如事务管理、可靠传输和安全管理等)。
2.3.7 安全服务
像 ERP 这样强调松散耦合的分布式集成系统,安全性显得尤为重要。安全有时被称为 一种“事关全局的考虑”,是全方位的问题,它跨越 ERP 参考架构模型的各个部分。
连通服务还需要保证传输效率和传输质量。连通服务一般应用于连接一个自治域内部的 各个服务,在自治域内部服务都是相对可控的,所以连通服务更多应该考虑效率问题。
2.3.4 流程服务
流程服务是为业务流程的运行提供支撑的一组标准服务。业务流程是一组服务的集合, 可以按照特定的顺序并使用一组特定的规则进行调用。业务流程可以由不同粒度的服务组 成,其本身可视为服务。
(4) 级联触发,则是在实现数据绑定的基础上的,对于常见的主从结构,当从对象的一 个属性改变了,要能够自动通知其所在的集合、集合再通知所在的对象数据改变了,如果是 多层结构,则能够自动的从最底层开始一路通知到顶层。
(5)合并集合、集合的处理。集合的处理与数据绑定是直接相当的。数据源找出差异集 之后,要对差异集进行处理,处理完之后,要对原始集合进行更进一步的处理,要把两个集 合进行合并处理,主要是为了同步引用。
(6)同时,另外要实现的就是 Data 与 SDO 之间的转换以及其他格式的数据与 SDO、Data 数据之间的数据转换,比如 Binary/Xml/Text/Key/文件/等,最基本的是 SDO 与 Data 之间的 转换,这些转换根据需要,有时候是单向的,有时候是双向的,根据业务需求而定。
(7)序列化与反序来自百度文库化,主要是涉及到 Binary 和 XML 序列化。
2.4 软件逻辑结构
软件架构
图
Erp 系统架构设计方案
框架从层次结构上分主要分为:表示层、服务层、业务层、数据层
◆表示层
表示层由 UI(User Interface)和 UI 控制逻辑组成。 c/s 选用 wpf+智能客户端,b/s 选用 asp.net mvc
WPF 的出现解决了三个问题:
(1) 更快速的去开发更丰富的用户体验:使用 WPF,可以在更加快速的时间内开发出来更加丰 富的界面,满足用户的需求。WPF 借助 XAML 来利用标记而不是编程语言(如 C#) 来构造精美逼真的用户界面 (UI), 只要稍微具备一些 HTML 基础知识,就可以快速地掌
◆逻辑、业务层
业务层封装了实际业务逻辑,包含数据验证,事物处理,权限处理等业务相关操作, 是整个应用系统的核心。因此设计一个能够真实反映实际需要的业务层是非常必要的,我们 将实际业务具体分为业务数据与业务操作两部分。
业务数据
Domain Model 则是根据实际业务按照现实方式用 OO 思想建模,这样很适合业务复杂的系 统。通常采用自定义数据实体(Custom Data Entity)方式表达。自定义数据实体,有着良好 的性能,编译时的类型检查,数据表现方式非常直观符合实际业务的操作方式等优点,但需 要自己定义维护类,在分布式环境下需要自己编写序列化方法。 此阶段负责数据交换(传输)的业务实体被称之为 DTO(Data Transfer Object)。
智能客户端的优势
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 应用程序和服务, 还是高端的企业应用程序。
信息服务其目标是使应用系统能够统一、透明、高效地访问和操纵位于网络环境中的各 种分布、异构的数据资源,为实现全局数据访问、加快应用开发、增强网络应用和方便系统 管理提供支持。
2.3.9 运行管理工具
运行管理工具提供界面友好的图形化方式的监控和管理工具,提供对各种资源和服 务对象的运行管理功能。监控管理工具需要管理核心服务,也需要管理应用服务。可以查看 各个服务的运行状态和历史信息,也能对服务进行启动、停止、暂停、恢复、版本升级等管 理控制操作,同时需要提供分析和统计功能,可以根据服务运行信息实现对系统的调整和优 化操作。
(2)、数据验证。实现 IDataErrorInfo 接口
(3) 对于历史记录。当实现 IEditableObject 这个接口,则必然实现了历史记录。能够找 到集合的所有更改的记录,包括删除的记录。对于单个对象而言是能够得到历史记录和当前 数据,对于集合而言,则能够找出差异集,同时,集合也要具备集合回滚的功能。
Erp 系统架构设计方案
ERP 系统架构设计方案
2009 年 5 月
版本控制
版本 注释
1.0 ERP 系统架构设计方案初稿
作者 麦仲博
时间 2009-05-28
Erp 系统架构设计方案
一、前言 二、架构设计
2.1 架构分析 2.2 架构定义 2.3 架构说明 2.4 软件逻辑结构
三、具体功能简述
3.1 自定义工作流解决方案 3.2 多语言解决方案 3.3 消息发布/订阅系统方案 3.4 报表&打印方案
DTO 要能够支持:数据绑定、数据验证、历史记录、级联触发、合并集合、序列化
与反序列化,要实现一个大的递归,从其中的任何一个对象开始,能够找出整个传递的所有 数据。
(1) 、 数 据 的 绑 定 支 持 。 要 实 现 IEditableObject 接 口 , 对 于 状 态 的 变 化 要 实 现
四、系统平台&支撑组件 五、系统网络结构 六、开发管理层面
Erp 系统架构设计方案
一、前言
一个企业级的商业软件能够满足用户需要、正常运行、易于维护、易于扩展,必须拥有 一个良好的软件架构支撑。本文主要是分析和构建一个企业级商业软件架构。
二、架构设计
2.1 架构分析 企业级的商业软件架构在技术层面的要求主要体系在高性能、健壮性和低成本。 高性能
Erp 系统架构设计方案
INotifyPropertyChanged 接口,这样才能够实现数据的触发,这样就要实现一个对象能够找到 其所有的集合,一个集合要能够其所有的对象,这样一样,就必须实现从对象、集合、对象 的递归,再深入一点,就实现了数据的级联触发,实现了双向数据触发、绑定。数据源的每 个属性变更,要能够在界面上反映出来,绑定界面的改变,能够记录到后台的数据源,并且 要能够支持回滚。对于容纳这些数据的 ObservableCollection 集合也支持绑定处理。
业务操作
业务操作负责对业务数据进行各种业务相关的处理,例如验证,流向,整合,事物, 权限等,但它不负责有关对数据源的操作。
采用整合业务数据与业务方式来操作,将业务数据与相关的业务操作封装在一起称 为业务实体,业务实体作为统一的业务层为表示层提供服务,同时也负责作为 DTO 在各个 层次间传输,这样完整的 Domain Model 设计方式,每个业务实体都可以做为一个单独组件 形式存在,对于组件化复用有着莫大的好处。
2.2 架构定义 本架构以 XML 为整个系统的交互接口,包括系统架构内部和外部。整个系统分为界面 展示层,流程控制层和数据存储层。 2.3 架构说明
系统架构 图
Erp 架构中各核心服务之间满足松散耦合特性,具有定义良好的接口,可通过拆分与组合,
Erp 系统架构设计方案
可以有针对性地构建满足不同应用场景需求的 Erp 应用系统。
对于企业级商业软件来说,软件架构需要尽可能地使软件具有最高的性能,支持最大的并 发性。 健壮性
企业级的商业软件要求软件是可靠的和无缺陷的。现在的架构一般是,服务器模式的。软 件的可靠和健壮主要依赖与服务器。服务器的稳定通过良好的代码和完备的测试能够解决这 个问题。 低成本
企业级商业软件还有一个很重要的要求:低成本。软件架构要求简单、易掌握,复杂度低, 易于维护和扩展,易于测试。
流程服务是业务流程的运行环境,提供流程驱动,服务调用,事务管理等功能。流程服 务需要支持机器自动处理的流程,也需要支持人工干预的任务操作,它支持的业务流程主要 适用于对运行处理时间要求不高的,多方合作操作的业务过程。
2.3.5 交互服务
Erp 系统架构设计方案
交互服务实现人与服务之间的交互功能。交互服务就是需要提供一组完整的功能,以实 现人与服务的便捷交互,既能支持多种交互渠道(如浏览器方式,富客户端方式和移动接入 方式等),也能支持多种交互能力(如单点登录、个性化、支持各种资源的统一内容管理等)。
◆数据层
数据层的宗旨就是为数据源提供一个可供外界访问的接口,我们应该选用一种能够提供 数据源无关的抽象数据访问接口并通过在其下挂接各种不同的 DataProviador 来访问数据源 的数据层组件,这样做便于移植到不同的数据源上。