1、 不需要写大量的代码
Esb产品采用了可配置的方式,用户无需写大量的代码,通过esb产品就可以很轻松地实现数据的流转整合。传统写代码的方式,在控制数据整合时,需要写大量的jdbc或者其他相关的代码,工作量巨大,而且容易出错;而采用esb产品的话,所有工作都是通过配置方式实现的,不需写代码或者只需少量的代码即可实现相关功能,大大提高了工作效率。
2、 屏蔽了底层实现
数据传输和整合不仅仅是写jdbc代码这么简单,对于不是直接 *** 作数据库的情况,如采用webservice接口或者jms、socket等方式的情况,用户还需掌握这些底层技术,增加了技术复杂度,带来了额外的学习成本;而通过esb产品,用户只需不同的组件跟流程通过配置就可实现相关功能,无需关心底层的技术实现。
3、 准确性高
写代码的方式需要在代码中指定 *** 作哪些数据源,哪些用户,哪些表,取哪些字段,只要发生一个小的错误就可能导致数据传输的失败或者数据的不准确;而esb产品采用可配置的方式,所有跟数据 *** 作相关的元素都由esb产品来获取,用户只需简单选择即可,避免了错误的发生,可以达到百分之百的准确。
4、 丰富的协议
Esb产品中包括各种常用或者不常用的传输协议,用户可以根据实际情况选择使用,可以应付各种不同的项目情况。
5、 丰富的行业积累
Esb产品作为一个产品化的产物,不仅仅是解决一些基础的问题,产品自身还会根据在项目中的应用不断完善和发展。Esb产品会把各种行业解决方案中用到的内容逐渐丰富到产品中,随着项目的增多,行业的增多,esb产品的功能也越来越丰富,可以应对不同行业的不同需求。
6、 可维护性高
写代码的方式,如果需求等方面出现变动,就需要修改相应代码,少则可能几处,多则可能十几处几十处,给维护工作带来了很大的不便,中间的任何疏漏都可能导致错误的发生;esb产品采用组件实现,即使需求发生变化,只需修改几个组件即可,既减少了维护的工作量又增加了可靠性。
7、 安全性高
写代码的方式很少考虑安全性方面的要求,代码只满足了基本的需求,但是安全性不高;esb产品是成熟的全面的产品,不仅实现功能,还包括安全性方面的内容,比如在数据传输中采用安全性的协议,对传输的数据进行备份,对传输过程进行日志记录,即使在复杂的网络情况下也能保证数据安全传输,即使出现问题也能通过日志和备份进行分析查找并恢复,将损失降到最低。
8、 性能高
Esb产品充分考虑性能问题,在性能方面做了大量优化,可以极大提高传输效率,这是写代码所无法比拟的。
9、 监控管理
Esb产品包括监控平台,可以通过监控平台查询已做的 *** 作,正在运行中的 *** 作及出错的 *** 作,及时掌握整个数据传输中的情况,还可以看到当前资源消耗的情况,快速找出瓶颈所在。监控平台还有统计分析功能,方便用户直观的掌握整体情况,这些都是写代码所不能实现的。
二、esb缺点
依赖于Weblogic
重量级的统一消息格式:
通过反编译OSB的源码,可以看出OSB将各种协议(HTTP,WS,JMS…)接入的消息统一转换为SOAP Message,再通过Xquery Engine对SOAP Message进行XML *** 作。
以下场景其缺点可立即显现:
1.HTTP下的大数据包
2.JMS Object类型的大数据包(最新版本OSB才支持JMS Object类型,之前只支持JMS Text类型
依据:
对大数据包进行XML *** 作比较耗CPU
将大的Object转换为XML是个繁重的 *** 作
1、数据集成方法的选择数据集成又可称为信息集成。用于解决数据的互通问题。数据集成的核心任务是要将互相关联的分布式异构数据源集成到一起。使用户能够以透明的方式访问这些数据源。集成是指维护数据源整体上的数据一致性、提高信息共享利用的效率。透明的方式是指用户无需关心如何实现对异构数据源数据的访问。只关心以何种方式访问何种数据。数据集成的难点主要集中在三个方面:数据源的异构性、分布性和自治性。12I异构性:被集成的数据源通常是独立开发的,在数据语义、相同语义数据的表达形式、数据源的使用环境上存在着差异。分布性:而且数据源是异地分布的。依赖网络传输数据。存在网络传输的性能和安全性等问题。自治性:各个数据源有很强的自治性。它们可以在不通知集成系统的前提下改变自身的结构和数据。典型的数据集成方法有模式集成法与数据复制法。这两种数据集成法各有优缺点与适用范围。模式集成方法为用户提供了全局数据视图及统一的访问接口。透明度高。但该方法并没实现数据源间的数据交互。用户使用时经常需要访问多个数据源。因此网络依赖性强。执行效率也相对较低。数据复制方法在用户使用某个数据源之前将用户可能用到的其他数据源的数据预先复制过来。用户使用时只需访问某个数据源或少量的几个数据源。这会大大提高系统处理用户请求的效率。但很难保障数据源之间数据的实时一致性。模式集成方法适用于被集成的系统规模大、数据更新频繁、数据实时一致性要求高的情况。数据复制则适用于数据源相对稳定、用户查询模式已知或有限的情况。如果采用模式集成方式的联邦数据库系统。每个系统都要实现一个与虚拟共享库的接口。要对原系统做相应的修改。同样对于中间件的模式集成需要建立一个全局的模式。需要花费大量的时间。更为重要的是目前现阶段建立数据中心主要目的不是为了数据的查询。而是为了共享数据的收集和交换。所以。单纯的模式集成法不能完全适应数字化校园建设需求的方案。因此。在经过详细的需求调研、分析与综合考虑各种因素后我们选择数据复制法。建立数据中心数据仓库。为今后的应用需求提供实现空间。而对于一些本身业务具有封闭性的系统则使用统一的数据封装格式如XML。通过通讯前置机来实现数据信息的共享。2、信息交换平台框架信息交换平台需要提供一个集成平台包括的所有数据集成的功能:基于数据的、基于事件的和基于服务的。设计要点:(1)保持现有业务系统基本不变。在各业务系统与数据中心之间做接口。完成对接。实现抽取与推送数据的目的。节约成本。(2)根据实际应用的需求,数据交换采用数据库级交换与应用级数据交换相结合的方式来应对不同的数据交换要求。数据库级数据交换比较适合于数据集实时要求高数据量不大的数据。交换。如学籍异动、成绩修改等类型数据交换提供数据的业务系统通过CDC(ChangeDataCapture)动态数据捕获机制。每次只捕获、集成有变化部分的数据。从而减轻数据中心平台网络传输及系统处理的负担。应用级数据交换比较适合于数据实时性要求不是很高但数据量比较大的数据交换。(3)坚持信息共享这一基本原则,以师、生角色为主线。将分散在各部门业务系统的基础数据集中到数据中心统一存放,提供跨部门立体式的人事、教学、科研、公共资产等综合数据,从而为教工、学生提供全方位的信息服务。(4)保证中心数据库数据的权威性。及时更新与同步各业务系统数据。(5)虽然目前现阶段建立数据中心的主要目的不是为了数据查询,而是为了共享数据的收集和交换。但也需要提供良好的数据环境。为将来更高层次的决策和应用提供数据准备。(6)建立统一的信息标准,保证信息的交流和共享。关于ESB,目前还没有被一致接受的标准。ESB的功能在于帮助服务的集成,而不是参与业务逻辑。通俗点讲:ESB就是在SOA架构中实现服务间智能化集成与管理的中介。企业服务总线(Enterprise Service Bus,ESB)的概念是从面向服务体系架构(Service -Oriented Architecture, SOA)发展而来的
ESB的两个基本功能:面向服务的原数据(MetaData)管理功能 和中介(Mediation)功能。 作为SOA的重要构成部分,ESB承担的重任还包括怎样将企业架构中已存在的业务服务连接到总线上来,我们称之为适配器(Adapter)功能。
ESB应该构筑在完善的SOA架构上,做它应该做的事-服务集成。至于怎样集成,应该根据你的上下文环境,考虑有哪些SOA的基础设施可供你使用,然后再基于SOA的基础架构来实现你的ESB设计。
在更高的层次,ESB还提供诸如服务代理,协议转换等等功能,我们称之为ESB的应用模式(ESB usage pattern)。
至于为什么要用ESB,在一个企业里必然有很多系统,但是不是 *** 作系统之间的数据传输格式、传输协议等等都是不相同的。这样的话,不同系统之间调用肯定是非常复杂的,接口的维护费用肯定是很庞大的,这时就很需要企业服务总线ESB来中介。ESB的产品也比较多,IBM的WebSphere Message Broker、甲骨文的OSB、WSO2的Synapse/WSO2 ESB。IBM的特点是简化开发方式,减低了使用门槛,减少了使用中出现的概率,并且开发方式将由自底向上转变为自上而下。IBM在国内也有很多代理商,像北京神码、上海德慧都是IBM比较大的代理商。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)