将 Siebel 应用程序中存储的数据提供给企业中的其他应用程序时,通常需要遵循以下两种基本模式之一:

  1. 发布-订阅
  2. 阅读

“发布-订阅”是一种机制,根据该机制,一个系统(发布者)将更改或更新的数据提供给其他系统;其他系统(订阅者)注册以示它们希望接收数据更改以及数据事件的通知。

“阅读”机制实际是大量其他模式(如事件驱动的客户、点对点、选择性客户、事务客户端等)的混合。任何符合“使用者请求数据,提供者发送数据”这一原则的模式都可视为该超集的一部分。与“阅读-发布”模式不同,“阅读”模式不需要使用某种中间件(或者在
Siebel 应用程序中进行大量编码),因此该模式无疑可被视为点对点模式。

这两种模式都具有自己的优点和缺点,都具有自己关于特定集成以及整个企业集成基础架构的需要和假设。Siebel(或任何其他应用程序)的需要和约束通常会与融合中间件平台截然不同,有时可能是对一方直观而对另一方不直观。

发布-订阅

“发布-订阅”模式的基本概念是,订阅者接收数据集 更新,这暗示每个订阅者必须拥有一份要使用的数据的副本。因此,如果使用“发布-订阅”模式的企业有 n 个订阅者,就会有 n 个记录。

对于小型数据集,该数量不会过大;但是对于大型数据集,例如销售报价或订单,该数量很快就会影响整个企业的容量规划。

“发布-订阅”模型另一个要考虑的问题是主数据问题,即“您对复制的数据有多信任?”,或许应该是“ Blade Runner”问题!如果使用“发布-订阅”模式的企业有多个数据副本,那么每个系统从哪里获取数据?当然,正确答案是从中间件以及数据的主系统获取,但是如果下游系统直接访问众多副本中的一个,会发生什么情况呢?如果访问的副本并不是最新数据副本,会发生什么情况?
,太可怕了。因此,如果需要事务数据,使用“发布-订阅”模式需要慎重考虑。

那么,从应用程序的角度来看,“发布-订阅”模式的优点是什么?对于易变性相对较低的参考数据集(例如,“联系人”或“帐户”),使用“订阅-发布”模式可以很好地将数据复制到下游系统,以允许它们使用数据集并以“接近实时”的方式进行更新(我只是喜欢“接近实时”这种表达,事物或者是实时的,或者不是实时的……“接近”毫无意义)!

阅读

“阅读”模式和“发布-订阅”模式最基本的差异是效率。假设某个帐户以“发布-订阅”模式进行了更新并且该更改将传送到
10 个下游系统,则将从 Siebel 传递一个消息到中间件,然后再传出 10 个消息,分别到达各个订阅系统。使用“阅读”模式时,如果这 10
个下游系统需要访问该帐户,则 每次请求该数据时 都需要总共 40 个消息。

“阅读”模式的数据传输“低效性”是集成架构师更喜欢采用“发布-订阅”模式的首要原因。但是有些情况下,确实需要使用“阅读”模式。“发布-订阅”模式出现问题时就需要“阅读”模式大显身手了,如以下情况:不需要复制数据,否定整个企业的数据完整性问题,以及避免整个订阅系统的容量“复杂化”。对于易变性较高的事务数据,“阅读”模式通常是不错的选择。

因此,总的来说,没有任何一种方法是执行集成的“正确”方法,每个客户情况都不一样,在各个阶段,都需要慎重考虑技术和组织双方面的驱动因素,然后再给出一致的策略。我个人认为,应该始终对采取决策所涉及的相关事项加以试验和考虑,因为孤立地进行
Siebel 集成甚至 Oracle 部署的时代已经过去了。

Siebel 集成中的“发布-订阅”与“阅读”的更多相关文章

  1. Javascript中理解发布--订阅模式

    Javascript中理解发布--订阅模式 阅读目录 发布订阅模式介绍 如何实现发布--订阅模式? 发布---订阅模式的代码封装 如何取消订阅事件? 全局--发布订阅对象代码封装 理解模块间通信 回到 ...

  2. 【转】Javascript中理解发布--订阅模式

    Javascript中理解发布--订阅模式 阅读目录 发布订阅模式介绍 发布---订阅模式又叫观察者模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时 ...

  3. [转] Javascript中理解发布--订阅模式

    发布订阅模式介绍 发布---订阅模式又叫观察者模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知. 现实生活中的发布- ...

  4. redis中的发布订阅(Pub/Sub)

    这里使用nodejs的redis模块说明,具体可见https://www.npmjs.com/package/redis,先来通过一个简单的例子了解下redis中的Pub/Sub具体怎么实现吧.. v ...

  5. javascript中的发布订阅模式与观察者模式

    这里了解一下JavaScript中的发布订阅模式和观察者模式,观察者模式是24种基础设计模式之一. 设计模式的背景 设计模式并非是软件开发的专业术语,实际上设计模式最早诞生于建筑学. 设计模式的定义是 ...

  6. python开发-实现redis中的发布订阅功能

    Python3学习(二十七):python实现Redis的订阅与发布(sub-pub机制) 先介绍一下redis的pub/sub功能: Pub/Sub功能(means Publish, Subscri ...

  7. Vue中的发布订阅分析(Vue2/3中的 emit 实现)

    Vue中的发布订阅模式分析 模块:instanceEventEmiiter.ts(在下方有简单实现和解析) 在Vue3中,已经取消了对这个模块的引用,故而不再支持 $on.$off.$once相关的方 ...

  8. 【spring boot】【redis】spring boot 集成redis的发布订阅机制

    一.简单介绍 1.redis的发布订阅功能,很简单. 消息发布者和消息订阅者互相不认得,也不关心对方有谁. 消息发布者,将消息发送给频道(channel). 然后是由 频道(channel)将消息发送 ...

  9. OrcharNoCMS中的发布订阅使用

    对于Orchard里面的EventBus,没有太多的文章去介绍说明.它最好的应用是发布订阅的应用. 使用介绍: 在Car模块中,我们定义一个接口,继承IEventHandler接口. 当我们在创建一条 ...

随机推荐

  1. Codeforces - 38G 可持久化Treap 区间操作

    题意:\(n\)个人排队,每个人有重要度\(p\)和不要脸度\(c\),如果第\(i\)个人的重要度大于第\(i-1\)个人的重要度,那么他们之间可以交换,不要脸度-1,交换后先前的第\(i\)个人也 ...

  2. mysql命令查询表的个数

    https://blog.csdn.net/xiao__ge/article/details/56671221 语句如下: SELECT count(TABLE_NAME) FROM informat ...

  3. [转] Android:用GSON 五招之内搞定任何JSON数组

    [From] http://www.open-open.com/lib/view/open1472632967912.html 写在前面 关于GSON的入门级使用,这里就不提了,如有需要可以看这篇博文 ...

  4. Q205 同构字符串

    给定两个字符串 s 和 t,判断它们是否是同构的. 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的. 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序.两个字符不能映射到同一 ...

  5. layui table合计但是未计算的解决

    在项目里table开启合计功能,但是并未进行数据计算,后来发现是field写错了的问题,上代码 for(var i = 0; i < that.checkboxAll.data.length; ...

  6. linux命令之find

    find find命令的格式:find [-path……] -options [-print -exec -ok] path:要查找的目录路径.       ~ 表示$HOME目录       . 表 ...

  7. 前端性能优化之优化图片 && 优化显示图片

    前端图片优化一直以来都是热门话题,从需求上来看,很多站点往往是图片体积大于代码体积, 图片请求多余代码文件请求, 给前端的性能带来了很大的困扰,那么应该如何解决呢? 零. 认识图片 我们通常使用的图片 ...

  8. mac下安装win7虚拟机和导入linux虚拟机

  9. 【Linux】网络性能测试工具iperf详细使用图文教程【转】

    参考链接:https://www.cnblogs.com/yingsong/p/5682080.html Iperf是一个网络性能测试工具.Iperf可以测试TCP和UDP带宽质量. Iperf可以测 ...

  10. HTTP和HTTPS的区别?

    HTTP1.1(Hypertext Transfer Protocol Vertion 1.1)超文本传输协议-版本1.1它是用来在Internet上传送超文本的传送协议.它是运行在Tcp/Ip协议族 ...