发布网友 发布时间:2022-04-02 16:40
共1个回答
热心网友 时间:2022-04-02 18:09
一、ESB优点
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是个繁重的操作