ERP系统架构设计方案
2009 年 5月
版本控制
版本 | 注释 | 作者 | 时间 |
ERP系统架构设计方案初稿 | 麦仲博 | 2009-05-28 | |
一、前言
二、架构设计
架构分析
架构定义
架构说明
软件逻辑结构
三、具体功能简述
自定义工作流解决方案
多语言解决方案
消息发布/订阅系统方案
报表&打印方案
四、系统平台&支撑组件
五、系统网络结构
六、开发管理层面
一、前言
一个企业级的商业软件能够满足用户需要、正常运行、易于维护、易于扩展,必须拥有一个良好的软件架构支撑。本文主要是分析和构建一个企业级商业软件架构。
二、架构设计
架构分析
企业级的商业软件架构在技术层面的要求主要体系在高性能、健壮性和低成本。
高性能
对于企业级商业软件来说,软件架构需要尽可能地使软件具有最高的性能,支持最大的并发性。
健壮性
端午节寄语 企业级的商业软件要求软件是可靠的和无缺陷的。现在的架构一般是,服务器模式的。软件的可靠和健壮主要依赖与服务器。服务器的稳定通过良好的代码和完备的测试能够解决这个问题。
低成本
企业级商业软件还有一个很重要的要求:低成本。软件架构要求简单、易掌握,复杂度低,易于维护和扩展,易于测试。
架构定义
本架构以XML为整个系统的交互接口,包括系统架构内部和外部。整个系统分为界面展示层,流程控制层和数据存储层。
架构说明
系统架构
图
腾讯微博账号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 运行管理工具
运行管理工具提供界面友好的图形化方式的监控和管理工具,提供对各种资源和服务对象的运行管理功能。监控管理工具需要管理核心服务,也需要管理应用服务。可以查看各个
服务的运行状态和历史信息,也能对服务进行启动、停止、暂停、恢复、版本升级等管理控制操作,同时需要提供分析和统计功能,可以根据服务运行信息实现对系统的调整和优化操作。
软件逻辑结构
软件架构
图
框架从层次结构上分主要分为:表示层、服务层、业务层、数据层
小米恢复出厂设置◆表示层
表示层由UI(User Interface)和UI控制逻辑组成。
c/s选用wpf+智能客户端,b/s选用 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应用程序一般简单方便的部署
mvc内置AJAX支持。
本身含的MVC(模型-视图-控制器)和本系统MVVM(Model-View-ViewModel)就是双胞胎,在demo里已经有很好的集成
*注:因xaml和html是标记语言,此层大部分可用代码生成器生成。
◆服务层范玮琪张韶涵
采用微软的WCF,Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信编程框架平台,是.NET Framework 的重要组成部分。使用该框架,开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案。WCF从一开始就是工程化的,能够简化应用程序的开发与部署,降低开发成本。用于构建面向服务的应用程序,不管这些程序是独立的桌面应用程序,还是Web应用程序和服务,还是高端的企业应用程序。
◆逻辑、业务层
业务层封装了实际业务逻辑,包含数据验证,事物处理,权限处理等业务相关操作,是整个应用系统的核心。因此设计一个能够真实反映实际需要的业务层是非常必要的,我们将实际业务具体分为业务数据与业务操作两部分。
发布评论