第15章 · 播客 第7集
基于中间件的开发 · EAI 企业应用集成:三层两流程
🎙️ 本集播客:第7集:信息孤岛的成因、49 个应用系统和 33% 预算两个数字、EAI 的定义与中间件带来的四大好处、按集成深度划分的数据集成、应用集成、业务过程集成三层,以及交互式流程与多步流程的区分——低到高的排序题是高频坑。 语音由微软 Edge 神经网络语音预生成(女声·晓伊,男声·云希)。点击下方任意对话可直接从该句开始播,当前句朗读时下一句已预先加载,无缝衔接。
明
阿明
小雅姐,EAI 这个词我在公司天天听,企业应用集成到底集成了什么?
雅
小雅
先看它为什么存在。原文讲得很现实:许多企业的信息系统在最初设计时没有考虑多个系统「协同工作」的需要。这主要是由于企业信息化建设者对信息系统由不熟悉到熟悉,从了解信息化的好处到真正体会到好处需要一个长期的过程,这就客观上造成企业信息化建设缺乏一个整体规划。因而企业的信息化往往是从单项业务系统开始的,不同系统的开发方式及对于开发规范的遵从程度都有所不同,这使得系统间存在很强的孤立性,再加上对企业外部的信息未予以足够的重视,致使各部门开发出的信息系统最终成为一个个信息孤岛。
明
阿明
信息孤岛这个词就是这么来的——缺乏整体规划、从单项业务系统开始。
雅
小雅
还有历史包袱:大多数企业都有过去遗留下来的异构的系统、应用、商务流程及数据源构成的应用环境,应用环境的通信状况是混乱的,只有很少的接口文档,并且维护代价也非常昂贵。然后是本集第一个数字考点:据有关数据统计,一家典型的大型企业平均拥有 49 个应用系统,33% 的 IT 预算是花在传统的集成上,而且普遍是通过「点对点」连接。两个数字配对——49 个应用系统、33% 的 IT 预算,考试会问哪个对哪个。
明
阿明
EAI 的正式定义呢?
雅
小雅
EAI,Enterprise Application Integration,企业应用集成,是指通过将业务流程,应用软件、硬件和各种标准联合起来,对企业中完成不同业务功能的应用系统进行无缝集成,使它们像一个整体一样进行业务处理和信息共享,从而提高企业效率,为客户提供灵活的业务服务。关键短语三个:无缝集成、像一个整体、信息共享。它使人们可以从更高层次来看待企业内的信息资源,使新的信息和应用可以通过可插拔的方式和原有的资源在一个全新的信息集成共享平台上协同工作,共同发挥「1+1>2」的集成效应。
明
阿明
「1+1>2」和可插拔,这两个词也常考。EAI 靠什么技术实现?
雅
小雅
EAI 可以通过中间件技术来连接企业级各种应用,使异构应用系统之间能够相互「交流」与「协作」。中间件带来的好处原文列了四条:首先,中间件产品对各种硬件平台、操作系统、网络数据库产品及客户端实现了兼容和开放;其次,中间件保持了平台的透明性,使开发者不必考虑操作系统的问题;第三,中间件实现了对交易的一致性和完整性的保护,提高了系统的可靠性;第四,中间件产品可以缩短开发周期 50%~75%,从而大大地降低了开发成本,提高了工作效率。
明
阿明
等等,50% 到 75%,这个数字和第一集那个 50% 左右不是一个吧?
雅
小雅
不是一个,这正是本节的对比考点。第一集讲中间件概念时说 Standish 的调查报告显示应用系统的总建设费用可以减少 50% 左右;这里 EAI 一节说中间件产品可以缩短开发周期 50% 到 75%。一个讲建设费用减多少、一个讲开发周期缩多少,题干里看清楚问的是哪个。四条好处的对应也要背:兼容开放、平台透明、交易一致完整、缩短周期 50%~75%。
明
阿明
EAI 分几层?我隐约记得是三层,顺序老搞混。
雅
小雅
原文总纲:EAI 包括的内容很复杂,涉及结构、硬件、软件及流程等企业系统的各个层面,根据 EAI 集成的深度来划分可以分为应用集成、业务过程集成、数据集成。注意原文列举的书写顺序是应用集成、业务过程集成、数据集成,但题目问的是「由低到高」,那就是数据集成在最低、应用集成居中、业务过程集成最高。真题四个选项:业务过程集成到应用集成到数据集成、应用集成到业务过程集成到数据集成、数据集成到应用集成到业务过程集成、数据集成到业务过程集成到应用集成——答案是数据集成、应用集成、业务过程集成。
明
阿明
为什么数据集成是基础?这个顺序的道理在哪?
雅
小雅
原文有明确交代:要完成应用集成和业务过程集成,必须首先解决数据和数据库的集成问题。为了处理多个数据库之间的数据移动,很多企业把数据级 EAI 作为他们实施 EAI 的切入点。当应用系统必须分享信息时,这种集成可以支持不同数据库之间的数据交换。目前有很多支持数据级 EAI 的工具,这使得数据级 EAI 实现起来相对容易,甚至不用修改应用系统的源程序。通行的做法就是将历史数据批量导入新系统中和现行系统中的批量、实时数据处理,也称数据同步。
明
阿明
数据同步、批量导入,甚至不用改源程序。
雅
小雅
随着数据仓库的建立,越来越多的数据同步工作能够采用批量的方式来处理,例如客户类型、客户交易历史和客户习惯的购买、交货方式都能够每日或者每周更新一次。更深层次的数据集成,需要首先对数据进行标识并编成目录,另外还要确定元数据模型——这三步完成后,数据才能在数据库系统中分布和共享。目前数据集成解决方案中最普遍的方法发生在企业内的数据库和数据源级别,即通过从一个数据源将数据移植到另外一个数据源来完成。
明
阿明
数据集成有什么例子和短板?
雅
小雅
例子原文给了一串:将订单从 ERP 系统更新到 CRM(客户关系管理)系统中,以便销售人员实时了解订单情况;从多个系统中同步和规范客户信息,使企业能够 360°全面审视客户;将运作数据实时地保存在系统中,客户和分销商能通过商业智能网络访问库存和订单信息;每天一次或多次地将 ERP 中的数据导入 SCM(供应链管理)系统,有助于制订物料需求计划;每天多次将运输的价格信息传输给下游分销商。短板一句:数据集成的一个最大的问题是商业逻辑常常只存在于主系统中,无法在数据库层次去响应商业流程的处理,因此限制了实时处理的能力——「商业逻辑只存在于主系统中」是判断题原句。
明
阿明
中间那层应用集成呢?
雅
小雅
应用层次的集成主要为两个以上的应用中的数据和函数提供接近实时的集成,是网络环境中的跨平台应用程序之间的应用到应用(A2A)的集成。它涵盖的技术原文列举:普通的代码(COBOL、C++、Java)撰写、应用程序接口、远端过程调用、分布式中间件如 TP 监控、分布式对象、CORBA、RMI、面向消息的中间件及 Web 服务等。应用层次的集成一般来说是通过处理多个应用系统之间的消息交换实现系统间的集成,各个应用能够处于同步模式,即基于客户(请求程序)和服务器(响应程序)之间的请求响应交互机制。但有一个代价要对出题人说清楚:这需要对系统进行修改以建立发送和接收消息的接口。
明
阿明
A2A 这个缩写记住了。最高层业务过程集成呢?
雅
小雅
业务过程集成需要处理企业范围内的业务过程和把企业存在的应用系统整合到这些业务过程中。它是一个完全的企业应用集成实现策略,因为它使企业内的一个个分离系统变成了一个支持业务过程的连续系统。当对业务过程进行集成的时候,企业必须在各种业务系统中定义、授权和管理各种业务信息的交换,以便改进操作、减少成本、提高响应速度。业务过程集成包括业务管理、进程模拟,以及综合任务、流程、组织和进出信息的工作流,还包括业务处理中每一步都需要的工具。
明
阿明
业务过程集成里那两种流程,交互式和多步?
雅
小雅
原文说业务过程集成至少包括以下两种形式的流程。第一种交互式流程:包含了跨两个系统之间的事务处理,这种流程是完整的且不间断的,它不包含任何需要人为参与的工作和间断的流程。由于交互式流程通常是在两个系统之间流转的,它不需要特别复杂的 EAI 处理。记三个特征:跨两个系统、完整不间断、无人为参与。
明
阿明
多步流程就是跨多系统按顺序流转?
雅
小雅
原文:作为业务流程的一部分,许多单独的事务处理根据事先定义的顺序在两个或者多个系统之间流转,这就涉及工作流和业务流程重组。多步流程有一系列的步骤并同多个系统相关,能在一定的时间内完成。这种流程可以是一对多、多对一或者多对多的关系。辨析抓两头:交互式流程是两个系统、不间断、不需复杂 EAI 处理;多步流程是多个系统、按事先定义的顺序、涉及工作流和业务流程重组、一对多多对一多对多。考「哪种流程不需要特别复杂的 EAI 处理」,答交互式流程;考「涉及工作流和业务流程重组的」,答多步流程。
明
阿明
EAI 集成完了企业内部,还管外部?
雅
小雅
原文的升华:在企业内部,EAI 通过建立底层结构来联系横贯整个企业的异构系统、应用、数据源等,完成在企业内部的 ERP、CRM、SCM、数据库、数据仓库以及其他重要的内部系统之间无缝地共享和交换数据的需要。而在电子商务时代,企业不仅需要在内部的应用系统之间进行集成,还需要对供应链中的不同企业系统进行集成,以帮助企业创建一条畅通于企业的各个部门以及它的供应商、承运商、分销商、零售商和顾客之间的信息流。EAI 也是在企业之间建立信息沟通共享的一种科学而有效的方式,从而有效地降低供应链网络的整体拥有成本。
明
阿明
内部五个系统名加外部供应链那串角色,都是多选题素材。
雅
小雅
本集必背清单:信息孤岛成因——缺乏整体规划、从单项业务系统开始、开发规范遵从程度不同、对企业外部信息重视不够;数字两个——典型大型企业平均 49 个应用系统、33% 的 IT 预算花在传统集成上、普遍点对点连接;EAI 定义——无缝集成、像一个整体、1+1>2、可插拔;中间件四好处——兼容开放、平台透明、交易一致完整、缩短开发周期 50% 到 75%。
明
阿明
三层和两种流程再过一遍。
雅
小雅
按深度三层由低到高——数据集成、应用集成、业务过程集成,数据集成是基础和切入点、可不用修改源程序、最大问题是商业逻辑只存在于主系统中;应用集成是 A2A、接近实时、靠消息交换、需修改系统建立接口;业务过程集成是完整实现策略、分离系统变连续系统,交互式流程两个系统完整不间断无人为参与不需复杂 EAI 处理,多步流程多个系统按事先定义顺序、涉及工作流和业务流程重组、一对多多对一多对多。
明
阿明
三层两流程的顺序和辨析都焊死了。下一集是最后一集了吧?
雅
小雅
对,压轴讲轻量级架构——MVC 模式怎么把业务和显示分离、SSH 三个框架各管哪一层、Spring 的 IoC 依赖注入、Hibernate 的 hbm.xml 映射文件和 HQL、轻量级和重量级各自的优劣、还有 JPA 怎么调和这对矛盾。最后一集会把全章必背清单整个过一遍,听完你就可以直接去做练习了。