热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

集成底座项目典型数据下发方式对比说明

随着企业信息化的不断发展、不断升级,越来越多的业务系统在满足企业业务发展的同时,往往又会成为信息化建设和业务操作上的瓶颈,无论是频繁进行业

随着企业信息化的不断发展、不断升级,越来越多的业务系统在满足企业业务发展的同时,往往又会成为信息化建设和业务操作上的瓶颈,无论是频繁进行业务系统切换,还是跨系统之间的基础数据的维护与打通,都难以应对企业业务的快速变化和发展,而为了更便捷地打通系统的关联,消除系统集间使用的瓶颈,针对企业实际业务建立集成底座平台则是非常有效的一种方式,通过集成底座打通各业务系统,实现系统的对接,从而满足在实际业务过程中系统间有效、快速、稳定对接。

通过集成底座构建企业信息化的基础框架,实现业务系统的集成和数据互通,实现对基础数据的统一管理和集成整合,打通各个系统的访问壁垒,实现便捷交互、快速切换,无论是对于信息化建设还是企业企业发展都是非常有利的。


1总体说明

集成底座主要包括:IDM统一身份认证平台、MDM基础数据管理平台、ESB企业服务总线三款核心产品,并通过UMC云管理平台进行部署维护。从架构规划上,集成底座更偏向于信息化层面,是基于信息化系统基础上的第一层集成,更多的是要打通系统间的访问壁垒,初步的完成基础数据的集成。


1.1集成架构

整体架构图如下:

由业务系统作为基础数据的源头,如组织、岗位、人员等人事类主数据由HR系统提供,这些基础数据通过ESB同步至MDM平台进行统一管理,并进行数据清洗,保证基础数据的准确性、唯一性。MDM再将治理后的组织、人员分发至IDM平台生成对应的群组和认证账号信息,并将账号数据下发到下游系统实现统一账号和统一认证,用于支持统一认证等业务。MDM将各类基础数据分发至下游业务系统,保证各系统基础数据的一致性。 


1.2业务流程 

对于集成底座项目的实施,主要针对实际项目中IDM、ESB、MDM产品的集成模式进行梳理,主要包括主数据同步、主数据分发、用户分发三部分内容。 

1.主数据同步: 

1)源头推送数据(或者推送查询标识)至ESB的集成流程; 

2)ESB的集成获取源头数据(或者通过查询标识从源头查询数据)后,在集成流程内部调用MDM的接口; 

3)生成主数据编码,并将数据写入MDM,同时生成任务和同步日志; 

4)ESB集成流程调用MDM的自动提交接口将任务提交至MDM的BPM工作流中,BPM工作流通过调用ESB的分发流程实现数据向下游系统的分发。 

2.主数据分发: 

1)通过ESB开发主数据分发的集成流程,提供给MDM的BPM工作流进行调用; 

2)集成流程的入参为MDM任务的taskId,通过taskId查询MDM的任务数据,并根据业务要求进行数据处理; 

3)处理后调用下游系统的数据接收接口将数据写入到下游系统中; 

4)下游系统完后数据写入后调用MDM的日志回写接口进行数据回写操作。 

3.账号分发: 

1)账号分发主要是通过IDM将登录用户信息分发至下游系统,实现各系统的统一认证和单点登录; 

2)账号分发涉及两种场景,一是业务系统的账号和人员信息是一致的,那么直接通过MDM分发人员至下游系统即可,IDM只需要管理认证信息,不需要对下游进行分发;二是业务系统的账号和人员是分开,那么MDM负责人员的分发,IDM则负责账号的分发; 

3)IDM账号分发主要是将IDM的账号信息通过任务的形式分发下游系统,和MDM的分发方式类似; 

4)在账号信息进入IDM平台,可以手动或自动的方式生成分发任务,再通过IDM内置的BPM工作流进行自动提交; 

5)在BPM工作流内调用ESB的IDM分发集成流程实现向下游系统的数据分发; 

6)IDM分发集成流程的入参为IDM任务的taskId,通过taskId查询IDM的任务数据,并根据业务要求进行数据处理; 

7)处理后调用下游系统的账号接收接口将数据写入到下游系统中; 

8)下游系统完后数据写入后调用IDM的日志回写接口进行数据回写操作。 


1.3下发方式 

集成底座的集成方式主要分为三种:推送模式、推拉模式、消息队列,三种方式适用于不同的业务场景中各有优缺点,在实际项目中需要根据集成模式、数据类型、业务场景、技术要求等不同的情况合理选择对应的下发方式。 


2推送方式 

推送方式是最直接的对接方式,即源头系统直接把数据推给下游系统,下游系统直接接收数据,在集成底座项目中,推送方式就是MDM或IDM将需要下发的数据封装成JSON格式直接推送给下游系统,下游系统获取数据后直接进行系统写入操作。 


2.1使用场景 

推送方式一般适用于数据量较小的情况,如实时小数据量推送,如果MDM每次分发都是推送单条或几条数据,就可以考虑推送的方式,保证数据集成的同时也不会对服务器造成太大压力,典型如组织、岗位、人员主数据。 


2.2业务流程 

1.对于集成底座而言,由于MDM、IDM等源系统提供的接口都是基于推拉模式的,所以如果实现推送方式,都是通过ESB进行二次封装处理的; 

2.MDM生成taskId后,将taskId发送给ESB,ESB基于taskId调用MDM的增量数据接口获取增量数据; 

3.ESB拿到数据后根据需要进行简单的转换处理,然后调用下游系统的数据接收接口进行数据推送; 

4.下游系统获取ESB发送的数据后进行数据处理,并写入到下游系统内部,写入完成后进行日志记录,并将写入结果同步返回给ESB; 

5.ESB获得下游系统的结果后,进行日志记录,并调用MDM的日志回写进行进行日志回写。 


2.3方案说明 

优点: 

1.下游系统可以直接拿到数据,不用再次调用MDM的接口,减少技术底座和业务系统的二次交互; 

2.在下游系统进行接口开发时,只需要按照对接标准,考虑接收数据进行数据处理即可,不需要考虑从MDM或IDM获取数据的逻辑。 

缺点: 

1.不利于对接标准的固化,如果对接业务系统时需要字段扩展,就需要进行标准变更; 

2.如果MDM的类别以及数据量较大时,同时下发不仅会造成MDM服务器的压力过大,也会造成ESB服务器的压力过大(因为是通过ESB进行数据下发); 

3.在前期测试以及后续的运维过程中,每次测试都需要反复在MDM进行手动下发,再抓取数据进行判断,特别是远程联调时,需要反复操作,产生大量历史数据,还有降低测试效率;需要MDM和下游系统同时抓取数据进行分发,问题定位比较繁琐; 

4.如果MDM进行字段新增、修改操作等,可能需要根据ESB流程情况进行调整,增加后续变更的风险。 


3推拉方式 

推拉方式是将推送方式进行拆分,分成两步实现,先由源头系统下发标识或通知到下游系统,下游系统根据标识或通知主动从源头数据拉取数据。在集成底座方案中,推拉主要体现是由MDM或IDM分发taskId给下游系统,下游系统通过taskId调用MDM或IDM接口获取对应增量数据。 


3.1业务场景 

推拉模式一般适合于单次数据量较大的场景,如新系统上线时需要大批量推送数据,或者每次推送时都需要同时发送多大批量数据的情况,典型如物料主数据,特别是在生产制造业务中,每次物料调整可能都需要对BOM、工艺等数据进行关联推送的场景。 


3.2方案说明 

优点: 

1.MDM通过分支的方式发送taskId给不同的下游系统,便于下游系统按照统一标准进行接收,后续新系统接入是直接对照标准获取数据即可; 

2.MDM只发送taskId,起到削峰的作用,避免大批量发送数据造成服务器压力过大以及网络堵塞; 

3.MDM和下游系统解耦,每个系统只负责自己的内容,保证MDM能发送taskId,下游系统能接收即可,后续维护时便于进行问题的排查和定位; 

4.如果MDM后续进行字段新增、修改操作等,不需要调整ESB流程,通过taskId获取的数据会自动进行变更; 

5.测试比较方便,因为taskId是永久的,只要做一次任务,下游系统就可以独立进行测试而不需要每次由MDM进行分发测试; 

6.MDM只提供taskId,将后续新系统对接时入参格式变更带来的风险降到最低。 

缺点: 

1.需要下游系统进行二次操作,获取taskId后需要再调用一次MDM的接口获取数据; 

2.需要对接规范中定义好入参格式,如果后续MDM调整字段,需要及时变更对接标准规范。 


3.3业务流程 

1.首先由源头系统根据数据建立任务,并生成任务标识taskId; 

2.源头系统通过内置工作流等方式下发taskId,下发时可以考虑通过ESB代理下游系统,也可以直接发给下游系统接口; 

3.下游系统接收taskId后,直接调用源头的接口进行数据获取,也是可以采用代理或直接调用两种方式; 

4.下游系统获取数据后进行数据解析处理,写入系统数据库中; 

5.写入完成后生成对应的日志,进行日志记录并调用源头系统的日志接口进行日志回写。 


4消息队列 

消息队列的方式一般是采用消息队列中间件实现上下游系统的交互,源头系统将数据或消息发送至消息中间件中,下游系统通过监听消息中间件进行数据获取,再实现下游系统的写入。 


4.1使用场景 

消息队列的方式一般会采用MQ实现,这种方式更多的适用于小数据量,频度很高的推送场景,如业务单据对接的场景,一般每次都是单条数据,但是推送频率比价高。一般情况下主数据并发频度不高,而数据量的大小确实不定的,所以不建议采用MQ的方式。 


4.2方案说明 

优点: 

1.进一步解耦,源头和下游系统直接对接MQ,不直接进行交互,降低服务器压力; 

2.异步处理,无需进行等待,各系统只需要读写MQ实现数据读写; 

3.异步分发,系统接口无需考虑返回值的问题,只需要记录好日志。 

缺点: 

1.不适合单次大数据量,适合单次数据量小,但频次高,便于削峰解耦; 

2.考虑到使用性能和安全性,需要单独搭建MQ平台,最好是MQ集群; 

3.MQ不适合放大量的数据,所以有时还是需要采用推拉的方式,将taskId之类的通知或标识发送到MQ中,下游系统根据通知或标识再获取一次数据; 

4.下游系统需要考虑实时性问题,及时获取MQ中存入的数据; 

5.因为要对接多系统,采用发布/订阅的方式,要充分考虑MQ中数据的有效性(定时销毁会不会影响下游系统接收)。 


4.3集成流程 

1.首先源头系统生成标识信息或需要分发的数据,并将该标识或数据发送到MQ中; 

2.下游系统进行MQ的监听,监控到数据后直接从MQ中进行标识或数据获取; 

3.下游系统从MQ拿到数据后,如果是标识,则需要调用源系统接口获取数据(类似推拉方式),如果获取的是数据则直接进行数据处理(类似推送方式); 

4.下游系统内部处理完成后再进行日志的记录与回写。 


5分析总结 

集成底座主要是解决企业信息化建设过程中系统对接的问题,通过主数据集成和统一认证解决多系统之间系统交互、集成的难题,而通过集成底座进行系统集成,最重要的内容之一就是基础数据的同步分发,对于不同的业务系统和业务场景如果设计集成模式是保证项目顺利建设的重要环节。 


5.1场景分析 

在进行集成底座项目建设的过程中,对于实际业务场景的分析至关重要,只有充分理解客户的实际业务,才能在实际实施过程中选择合适的对接方式。在实际实施过程中,要学会灵活分析,面对客户的实际业务,要从具体的使用情况分析,虽然推送、推拉、MQ等方式都有自己的使用场景,但是也要充分考虑客户业务场景的复杂性,基于实际业务灵活控制,甚至可以采用多种方式结合来处理。 


5.2实施总结 

对于集成底座的项目,选择合适的集成方式只是整个集成方案的一个环节,而为了保证项目实施的效果,制定标准化的集成规范也是非常重要的,集成底座的标准规范不仅包括主数据的同步分发规范,同时也包括了统一认证的标准。同时,对于集成过程中不同业务系统间的字段信息、唯一标识等信息也要做好统一和规范。 


5.3个人总结 

最近参与了多个集成底座的实施交付项目,通过项目实施的过程,除了验证集成底座的实施交付模式外,对于涉及具体的业务场景,主数据同步分发的方式,统一认证配置实现的过程中,也是在不断完善集成底座产品和方案的过程。在实际项目中根据实际业务梳理集成底座的实现方式,并整理出不同场景下,集成底座的具体处理过程,并结合最佳实践和标准的对接流程,可以有效的对集成底座需要完成的内容进行整合。 

对于个人而言,熟练掌握集成底座的实施模式,熟悉不同的实际业务应该如何进行产品的交互配置是非常有必要的,在实际项目过程中,能够基于最佳实践给客户提供建议,保证实施效果的同时也能更好促进客户的信息化建设。从个人发展来说,目前大部分的项目都是与集成底座和数据中台相关的项目,掌握集成底座的实施模式无论是对后续项目的推进还是个人项目能力的提升都是有帮助的。 


推荐阅读
  • GAMETECH腾讯云游戏行业技术沙龙成都站圆满落幕
    11月13日,由腾讯云主办、游戏茶馆协办的2020年首场GAME-TECH腾讯云游戏行业技术沙龙在成都圆满落幕。本次沙龙邀请了腾讯云游戏行业解决方案总监宋永周、腾讯云游戏行业高级解决方案架构师曾梓恩、腾讯云游戏行业高级产品架构师郑晓曦、腾讯云游戏行业高级解决方案架构师温球良和天美L1(王者荣耀)服务器技术副总监杨光,为参会同行们带来了干货满满的技术建议。本文介绍了腾讯云游戏云的优势和为不同游戏研运场景提供的服务。腾讯云在中国游戏云服务市场领跑,成为众多游戏开发者的合作伙伴。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 本文介绍了Redis中RDB文件和AOF文件的保存和还原机制。RDB文件用于保存和还原Redis服务器所有数据库中的键值对数据,SAVE命令和BGSAVE命令分别用于阻塞服务器和由子进程执行保存操作。同时执行SAVE命令和BGSAVE命令,以及同时执行两个BGSAVE命令都会产生竞争条件。服务器会保存所有用save选项设置的保存条件,当满足任意一个保存条件时,服务器会自动执行BGSAVE命令。此外,还介绍了RDB文件和AOF文件在操作方面的冲突以及同时执行大量磁盘写入操作的不良影响。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
author-avatar
巴黎不快乐123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有