ERP
认证企业
ERP
|
软件资讯
「ERP」如何设计新的ERP系统架构?
SEP技术支持
|
2020/10/19 11:39:42
推荐使用:
免费企业erp系统
(免费下载,像Excel一样极速上手,可灵活自定义的企业管理软件)
「ERP」如何设计新的ERP系统架构?
我常说的一句话便是:互联网技术改变了我们的日常生活方法,也改变了大家的工作方式。
ToC行业产生最明显转变的是以BAT为意味着的各种各样运用,电子商务付款,通信沟通交流,检索交通出行这些,ToB行业最明显的转变则是ERP、SCM、CRM等的普及化。
好多年前,曾经的我开发设计过两个ERP系统,做为一个ERP系统,系统软件关键程序模块只不过是订单管理系统、产品管理、生产制造购置、仓储管理、物流信息管理、财务会计这些。做为一个智能管理系统,大伙儿的一般开发设计习惯性便是应用.Net或Java技术性,创建一个每块(单过程)构架的运用,只有一个SQLServer或MySql数据库查询。随后在新项目文档中分刘海一下每个控制模块,三层构造方法组织机构代码撰写开发设计。最终检测,交货发布。
最初,由于信息量并不大,系统软件特性还不错,各种各样目录查寻,表格查寻,Excel数据信息导出来作用等用的都很顺畅。可是伴随着公司业务发展趋势,订单信息量积少成多,中后期各种各样各个部门的表格查寻、数据信息导出来要求持续增加,大家逐渐就觉得系统软件运作愈来愈慢。
因此大家很有可能最开始想起的解决方法便是,优化软件短板数据库查询这一大部分。大家很有可能的一种试着便是将数据库查询独立置放到一个网络服务器,完成数据库查询和应用软件分离出来,或是是创建各种各样数据库表数据库索引,提升编程代码等方式。历经那样一番科学研究提升,系统软件一些作用概率能确实进一步提高,可是大家還是发觉一些作用目录的数据统计导出来仍然比较慢,或是伴随着信息量再次累积,原先迅速的目录导出来作用,也越来越越来越迟缓了。大家耗尽各种各样方法,最终也达不上理想化的系统软件特性速率。
为了更好地提升系统软件特性,大家或许会独立思考一些互联网企业的技术性工作经验,哪些分布式系统、性能卓越、互联网大数据、读写分离等计划方案,察觉自己压根找不到方向。大家会感觉由于系统软件业务流程特性不一样。
ERP系统并发量不高,主要是业务流程繁杂,各种各样业务流程耦合性远超这些互联网技术运用,不太好做分拆,数据统计逻辑性要远比互联网技术系统软件繁杂,一个目录页查寻出去的数据信息,通常必须关系4、5张表才可以获得結果。一些表格类的乃至大量。再加上各种各样业务流程实际操作事务性工作、数据信息一致性规定很高,许多 情况下造成 大家措不如手,没法进一步优化软件。
时至今日,因为我被那样或那般的原因所挫折,觉得ERP系统十分独特,无可救药,但是之后......
曙光乍现
在描述实际计划方案前,先说下自身的念头。我最先感觉大家做ERP系统前,就得有现如今互联网营销。大家千万别去做一个大一统的系统软件了。我们要拆分一个大系统软件,制成一个个小系统软件。随后根据系统软件插口让这种小系统软件互相通讯。那样来构成一个大系统软件,从总体上便是“分布式系统”、“服务创新”的互联网营销。让系统软件在架构模式上便是一个先天性适用高宽比可拓展的系统软件。
怎么做呢?
从总体上便是要将订单管理系统、产品管理、生产制造购置、仓储管理、物流信息管理、财务会计拆分为一个个分系统。这种分系统能够 独立开发设计,对外开放显现出各种各样别的分系统要求的api接口就可以。每一个分系统都是有独立的数据库查询。乃至这种分系统能够 交给不一样的精英团队去开发设计和维护保养,应用不一样的技术性管理体系,应用不一样的数据库查询。而不是再像之前那般,都集成化在同一个专而精的系统软件中,一个专而精的数据库查询。
「ERP」如何设计新的ERP系统架构?
针对新构架的系统软件他有哪些优势呢?
最先,也是最重要的便是处理系统软件的特性难题。过去数据库实例只有一个,无法拓展出好几个案例,便于在特性受到限制的状况下借助提升数据库实例来做到三层交换机。或许有些人要说能够 应用读写分离计划方案,可是由于ERP系统的特性,这一计划方案许多 情况下不实际。
例如实际操作库存量的情况下,你不能从读杜兰特读库存量,随后在写杜兰特载入库存量。由于主从复制会出现及时性,载入的库存量并不可以立刻载入从库。那样的情景在ERP中也有好几处。更何况写库不可以拓展,只有有一个。而新方案设计是写库是分离出来的,每一个分系统有自身的数据库查询。
次之,便是升级十分便捷,每个分系统之后台微服务架构的方法存有。前台接待一个独立的web项目,这一web项目启用后台管理这种分系统的服务项目插口。那样的设计方案,在某一业务流程分系统必须升级的情况下,能够 独立升级。无需像之前那类单过程构架时,一个小升级必须全部系统软件重新启动,导致用户对话也遗失,客户必须新登陆。而如今的这类设计方案就不容易有这个问题。
系统软件总体设计方案
系统软件物理学布署主视图
总体设计
分拆网络层
分拆网络层,是贯彻“微服务架构”构架的核心理念。将原先专而精的单过程构架依照业务流程控制模块拆分为可单独布署的应用软件,为此来做到光滑系统升级、升級、便捷负荷拓展的目地。从总体上,技术性上能够 应用restfull设计风格的插口,还可以应用像java中dubbo架构方法来简单化开发设计复杂性。
ERPWeb端或别的手机端也是一个独立的运用当做主要表现层。十分薄,仅仅简易的接纳主要参数,读取后台管理别的各种各样微系统服务的插口获得所需展现的数据信息。微服务架构当做领域模型层,每一个微服务架构全是可单独布署发布的程序流程,对外开放给出的数据浏览插口。
微服务架构能够 应用时兴的各种各样RPC架构,例如dubbo,能够 适用多种多样启用协议书Http、TCP等,这种架构促使编号较为非常容易,架构封裝最底层数据通讯关键点,促使手机客户端实行远程控制方式好似实行当地方式一样简易。
dubbo分布式架构,还适用服务治理,三层交换机等作用。那样不但能够 提升系统软件的易用性,还能动态性提高系统软件网络层的特性。例如仓储管理中进库业务流程十分忙碌,占有十分多的CPU和运行内存資源,我们可以此外加一台设备,独立再部署一个仓储管理服务项目上来。那样促使全部系统软件,有两个仓储管理服务项目在另外工作中,均衡负荷。而这一切都是在服务项目认证中心,例如Zookeeper下全自动进行的。
微服务架构构造,与生俱来非常好的终端软件升级升級实际操作。例如会计控制模块有一个新要求必须发布,大家只必须更换会计控制模块的服务项目重新启动就可以。这对早已登录系统的客户而言,沒有是多少危害,无需再次登录系统软件,别的控制模块服务项目应用都不受影响。
分拆数据信息层
数据库查询短板是ERP系统的永久性之伤。很多繁杂的数据统计表联接逻辑性弥漫着全部系统软件。数据库查询竖直分拆取得成功的重要便是怎样再次设计方案系统软件数据信息层每个控制模块互相藕合的难题。能处理这个问题,永久性之伤便能够 解决了。
大家先看来一个典型性数据信息层控制模块藕合难题。要求是展现原材料库存量,目录字段名:原材料序号、原材料名字、类目、库房、总数
物料表:
原材料ID
名字
类目ID
Z0001
Iphone6鲜红色手机套
Z
Z0002
iPhone6灰黑色手机套
Z
库存表:
原材料ID
库房ID
总数
Z0001
W1
10
Z0002
W1
20
类目和库房表省去。。。
很显而易见,传统式一个数据库查询中,大家只必须简易的join实际操作,就可以关系这二张表,另加关系类目和库房表就可以查寻出大家所需的数据信息。可是如今大家的构架中,物料表和产品表没有同一个数据库实例中,我们不能应用join实际操作了,那大家该怎么实现需求呢?
新的构架,只容许大家根据另一方的服务项目插口来读取数据,不可以立即关系另一方服务项目的独享数据库查询。最少从构架上,服务创新视角而言不可以立即浏览另一方服务项目的数据库查询。这类状况下,假定web控制模块分系统启用库房分系统来读取数据,则大家必须在库房控制模块中建立一个service方式来安装这种数据信息。随后回到给web分系统。如下图所显示,仓储管理方式最先获得当地库存表的物料编码规则、和库房表的库房名字字段名信息内容,而且分页查询完后最后提前准备回到20条数据信息到Web控制模块前,将这20条数据信息中的原材料ID做为主要参数要求产品控制模块分系统,产品分系统回到这20个原材料ID有关的产品信息给到仓储管理控制模块,随后仓储管理控制模块再次拼装上目录需要的原材料名字和类目2个字段名数据信息,完成最后要回到给Web分系统的数据信息。
或许你能说,这太麻烦了,这类方式的特性毫无疑问沒有立即join来的高,难以解决特性难题。咋看上去好像是这样,可是细心考虑看看,在系统软件并发量低、信息量小、业务流程算不上忙碌的自然环境下,确实特性还比不上传统式一个数据信息中join方法来的迅速。但大家想一想之后吧!大家如今的架构模式是将一个数据库查询分解成好几个数据库查询,每一个数据库查询能够 运作在独立的网络服务器上来,那样之后就能负荷数据库查询的工作压力了。总体而言那样才可以不容易让数据库查询变成将来业务流程忙碌情况下的特性短板了。想一想都感觉令人激动不已,是否?
此刻有些人又会问,那以后系统软件信息量、业务流程更变大,连这个拆分为好多个数据库查询还不够用怎么办呢?我的方式是,能够 根据分拆的数据库查询,独立每一个库能够 做读写分离、应用缓存文件等。乃至能够 再次分拆下来,将分系统再度拆分为好几个小孙子系统软件。视业务流程控制模块忙碌水平而定。
报表系统
有些人又会问,一些目录查寻逻辑性比较复杂,关系十多张表,假如按所述方式分拆数据信息,那真是是灾祸啊!是的,你觉得的沒有错。这类状况下我的计划方案是将这类更为繁杂的表格等级的数据统计展现要求,能够 独立做一个报表系统。表格概念模型设计选用数据库管理方法。为了更好地高些的载入特性,我们可以将数据库表设计方案成许多沉余字段名方法也就是反现代性设计方案,及其创建十分多的组成数据库索引。
这类系统软件取得成功的重要便是数据信息和主ERP系统业务流程库的同歩难题了。一般能够 写一个定时执行同歩程序流程,将ERP主业务管理系统的数据信息历经筛选、转换等方法立即转化成表格主视图需要的最后或正中间数据信息,简单化关联查询。报表系统还可以选用分布式架构设计方案。如下图所显示:
假如表格需要的数据信息规定即时的,我们可以让ERP系统业务流程实际操作时,开启同歩数据信息的要求,即时同歩至表格库。
分布式事务
或许有些人又问了,ERP系统许多实际操作都规定事务性工作,你拆分系统后如何完成事务性工作,确保数据信息一致性呢?
这个问题非常好,也就是我决策写本文前思索的最后一个难题。在分布式架构中,完成夸服务项目的事务管理并不易,最少不象本地应用应用本地数据库事务管理那般便捷,特性高效率,数据信息一致性好。
或许你听过分布式事务这一定义。有二种场景,一种是一个运用中应用好几个数据库查询,为确保数据信息一致性,必须应用分布式事务。也有一种状况便是对于大家这一构架来讲的。
微服务架构自然环境下的分布式事务,从总体上举个例子。采购入库这一实际操作设计方案在仓储管理服务项目中。进库后,必须升级购置分系统中的订货单中的进库总数。这一全过程规定数据信息一致性,也就是订货单进库取得成功后载入了库存表中的总数,另外要升级订货单表格中的进库总数。
我们不能立即在库房服务项目中去浏览购置服务项目中的数据库查询,务必根据购置服务项目出示的服务项目插口才行。假如那样,大家怎能确保数据一致性呢?由于很有可能库存表载入取得成功,但读取购置服务项目载入订货单数据信息时失败了。可能是网络问题缘故造成 的,那样数据信息也不一致了。
在分布式事务技术性中,有完成最后一致性那么一说,含意便是要是我可以确保两侧数据信息最后完成了一致性就可以了,不一定要应用事务管理。那样来说就会有计划方案了。
如库房分系统在解决采购入库时必须提升出入库单数据信息和升级库存量数据信息等好几个表,这好几个表都会库房分系统中,我们可以应用一个当地事务管理来确保库房分系统中的表数据信息一致性。随后启用购置分系统升级订货单里的进库总数。为了更好地避免 这一全过程忽然终断造成 启用不成功,大家考虑到提升一个消息队列分布式数据库如ActiveMQ。
假如插口回到不成功大家就往MQ里载入这一解决要求,直到购置分系统恢复过来后,MQ通告购置分系统解决这一升级实际操作。因为信息消費掉之后不容易还有通告了,购置分系统处理方式中产生出现异常造成 更新失败,必须将难题载入当地的系统日志库,便于通告管理人员做事后赔偿解决。
「ERP」如何设计新的ERP系统架构?
就是这样根据各种各样方法来做到数据信息的最后一致性就可以。尽管听上来有点儿坑,但这就是解决方法。沒有别的更强的了。或是更新失败后再次启用库房分系统回退出入库单和库存量数据信息,做到最后一致性!如下图所示:
124
上一篇:「ERP」选择跨境电商ERP有哪些好的建议?
下一篇:企业为什么需要erp系统?
相关主题
erp系统怎么使用?erp系统的使用方法
17536
服装行业常用的ERP软件推荐
5933
ERP是用友强还是金蝶好?
5458
哪个品牌的ERP系统好用?
5201
免费ERP管理系统推荐
5164
做企业管理软件的企业排名(仅国内)
5089
「ERP」有哪些好用的国产ERP软件?
4717
细数过去十年ERP损失最惨重的失败案例
4464
「ERP」小工厂需要使用ERP系统吗?
4321
ERP管理软件的选型误区有哪些呢?
4310
企业ERP软件
推荐
精品
推荐
免费品牌入驻
ERP系统
管理生产企业的销售部、采购部、工程部、生产部、仓库、财务部。企业ERP管理软件支持按订单、按计划生产,适合生产制造企业、加工厂,包括自有研发及销售的全面型制造企业。
进销存软件
管理企业的出入库、进货、销货、库存、资金。支持商品的组装和拆卸业务,详细记录商品的应收、应付款,并自动统计未结款项。
客户管理系统
销售团队管理、销售成本分析、客户售后管理、售后材料及成本管理。
OA办公系统
管理公司的人事、行政、办公、资产、审批。
房产中介系统
为房地产公司、房产中介、公寓公司提供销售及客户的信息化管理。
项目管理软件
管理企业的项目、合同、工程材料、工程设备、劳务分包、租赁等业务。让工程成本核算、项目利润一目了然,合同的应收、应付款项有据可循,材料的采购/用量实时统计。
表格共享协作
免费的、多人同时编辑Excel共享表格的软件,提供企业内网版和在线云表格两个版本。
货代管理系统
管理货代物流企业的货运代理运输、车辆配送、集装箱、仓储出入库,支持陆运、海运、空运,自动统计货运成本及收入。
企业ERP软件
热门资讯
发布资讯
erp系统怎么使用?erp系统的使用方法
服装行业常用的ERP软件推荐
ERP是用友强还是金蝶好?
哪个品牌的ERP系统好用?
免费ERP管理系统推荐
做企业管理软件的企业排名(仅国内)
「ERP」有哪些好用的国产ERP软件?
细数过去十年ERP损失最惨重的失败案例
「ERP」小工厂需要使用ERP系统吗?
ERP管理软件的选型误区有哪些呢?
ERP管理系统有哪些?
「ERP」云ERP是什么?与传统ERP的区别有哪些?
仓库管理软件哪个品牌好?
推荐