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

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

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个人总结

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

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

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

  1. 集成底座平台和数据中台的关联分析

    企业的信息化建设是伴随企业发展不断延伸.不断升级的过程,而随着信息化体量不断增大,建设的复杂度也在不断提升,业务系统间的集成与数据整合也越来越重要.为了提升系统集成的便捷性,针对企业实际业务建立集成底 ...

  2. 集成底座与业务系统对接过程梳理

    集成底座作为企业信息化的基础架构平台,主要满足5A管控.主数据治理以及业务集成等需求,通过基础架构的搭建,为企业的信息化建设提供一套全面稳定.标准统一.易于复用.灵活调整的基础环境.集成底座主要包括三 ...

  3. 集成底座统一认证配置说明

    企业的信息化建设是一个循序渐进.不断延展的过程,在这过程中企业对于体系架构.集成整合.数据治理.安全管控的要求也会不断提升,而集成底座方案的诞生就是为了解决信息化建设时缺乏整体规划.集成整合难度大.安 ...

  4. 搭建Spring Boot2.X集成Hibernate5项目,并集成传统SSH老项目的安全认证组件,以Spring Boot方式开发项目并集成到老系统

    搭建Spring Boot2.X集成Hibernate5项目,并集成传统SSH老项目的安全认证组件,以Spring Boot方式开发项目并集成到老系统 场景 可行性分析 搭建Spring Boot集成 ...

  5. 政务部门数据交换共享方式对比

    近年来我国各级政府已经进入了信息化高速发展的时代,随着各级政府业务开展的同时,业务数据越来越多的积累,部门之间为打破"信息孤岛",开展业务协同进行了不懈的努力.随着国家政策的不断完 ...

  6. 元素隐藏的三种方式对比(针对移动端项目中的按钮,先隐藏且不能被点击 visibility:hidden)

    元素隐藏的三种方式对比 display:none opacity:0 visibility:hidden 项目需求 表面一个图片遮罩,鼠标hover遮罩消失,内部元素展现,其中有一个按钮在移动端是手指 ...

  7. 前端项目模拟数据两种方式

    文章目录 1. Mock.js 1.1 安装依赖包mockjs 1.2 在 src 目录下创建 mock 文件夹 1.3 准备模拟的数据 1.4 创建 mockServer.js 1.5 引入mock ...

  8. 前端常见提交数据方式对比

    前言 目前的前后端的界限越来越明显,当然,其实现通信的方式主要就是通过Http协议完成.但是在这个过程中,提交数据的格式有时候不同确实是让后端比较头疼的问题,那么,阿福就来总结下常用的提交数据的方式有 ...

  9. 客快物流大数据项目(七十三):Impala数据导入方式

    文章目录 Impala数据导入方式 一.load data 二.insert into values 三.insert into select 四.create as select Impala数据导 ...

最新文章

  1. 百度重新定义「智能屏」,瞄准10后
  2. 复旦大学2016--2017学年第二学期(16级)高等代数II期末考试第七大题解答
  3. 微服务架构系列二:密码强度评测的实现与实验
  4. php怎么取request,PHP-如何在Guzzle中获取Request对象?
  5. 又一波“打工人”财富自由!快手赴港上市,4000员工人均身家一夜涨至3000万...
  6. golang 初始化并赋值_Golang 切片综合指南
  7. Selectsort Tournamentsort Heapsort
  8. 第三季-第26课-守护进程设计
  9. 七月算法机器学习 7 工作流程与模型调优 Kaggle案例泰坦尼克号问题
  10. java服装销售系统课程设计_毕业论文(设计)基于javaweb的服装销售管理系统的设计与实现.doc...
  11. uniapp页面打印pdf文件
  12. 联想Y470 非虚拟机安装苹果Mac OS X Mavericks 10.9.1教程详解(文字+图片),通俗易懂亲自动手——序列二之镜像写入,引导建立
  13. J2EE总体的学习计划(百搜技术)
  14. 建行tendyronU盾 插入电脑突然不能自动跳转IE跳出登录密码框
  15. mini2440中nand falsh的使用
  16. 瞧,他的代码,他的内裤
  17. YUV/YCbCr/YPbPr
  18. 一著名软件公司的java笔试算法题的答案
  19. 博文视点官方博客已经开通!
  20. SSH配置公钥后仍需要输入密码问题解析

热门文章

  1. 双系统下ubuntu自动挂载windows盘
  2. Online Meetup DevOps World 社区议程和 CFP
  3. 播音主持如何运气发声?早上应该如何练声?
  4. 近几年一直流行说的DSP具体是什么,为什么大家都在关注
  5. 今天跟我薅当当羊毛!4 折买正版书了!!
  6. 电影魔术|改变世界?乔布斯可不仅仅用苹果
  7. 牛客小白月赛4 I.合唱队形
  8. python第一弹 爬虫淘女郎图片
  9. 实战:“小打卡”小程序从创意到上线完整开发过程解析
  10. 【寻找最佳小程序】04期 :探访“小打卡”产品打磨细节及线下场景真实应用...