现实世界里的 SOA

在现实世界中,SOA 常常是失败的。确保 SOA 成功的最好的实践是熟悉 SOA 的设计模式和成功案例。

一个成功案例

SOA 是解决数据管理问题的一个强大工具。在你的企业里是否存在数据不一致的问题?将存在这种问题的数据实体的 CRUD (Create、Read、Update 和 Delete) 都封装在同一个服务中。这是对你的数据进行集中控制和方便访问的一个简单办法。
我们这个成功案例就是这样 - ACME Carrot 公司 (化名) 正面临一些客户数据实体的问题。

如上图所示,客户数据会在众多系统及报表集市之间进行复制和改变。随之而来的一些问题:

  • 客户常常抱怨说,ACME 的员工经常向他们要自己已经提供的信息
  • 员工需要定期手工重新调整客户数据
  • 关键流程依赖于重新定义的数据
  • 客户数据不可信,因为批处理作业的延迟性造成这些数据实时性不高
  • 数据问题引发客户订单和发货通知错误

SOA 的解决方案

ACME 抓狂了。他们制定了规则 - 由 CRM 系统作为客户数据的 master 数据存储。
为了保持对客户数据的开放存取,他们创建了 SOA 服务来对其进行察看和更新。

具体细节

ACME 的具体实现细节是使用了几个 SOA 设计模式 - 企业服务总线、多服务契约、服务门面、认证代理以及 SOA 服务无关事务
数据访问和安全相关逻辑在一个组件层 (译者注:SOA 系统总体划分的三个层次:组件层、系统层、集成层) 中实现 - 以和其它服务进行共享。

效果

ACME Carrot 公司的三个 SOA 服务 - 客户列表下载、客户查找以及客户更新,被广泛使用于公司内部。事实上,这些服务最终拥有 50 多个客户。
最终效果 - 流程得到了简化,减少了人工错误,员工开始信任客户数据而客户也再也没有重复请求提供基础数据。
这就是一个低成本 SOA 项目的例子,它改进了关键的运营操作指标以及客户满意度问题。
原文链接:Soa In The Real World,发布日期:2011 年 2 月 11 日。
作者简介

John Spacey 是一名工作在东京的加拿大籍企业级架构师。

时间: 2024-10-21 12:19:09

现实世界里的 SOA的相关文章

Cocos2d-js官方完整项目教程翻译:六、添加Chipmunk物理引擎在我们的游戏世界里

添加Chipmunk物理引擎在我们的游戏世界里         一.简介                   cocos2d JS能给我们力量来创造令人印象深刻的游戏世界.但缺乏某种现实.          虽然我们可以做复杂的计算,使游戏世界更真实的,但有另一个选择          它可以缓解我们的生活.答案是物理引擎.          物理引擎提供了重力,碰撞检测和物理模拟,可以使我们的游戏世界看起来更真实.          在本教程中,我们将介绍的ChipMunk的物理引擎进入我们的

区块链世界与现实世界最大的分歧点是什么?

区块链世界与现实世界最大的分歧点是什么? 1.区块链,天使还是恶魔? 目前社会上对区块链的看法有两种极端,第一种是认为区块链是未来,是非常伟大的创新,是继互联网之后最伟大的科技革命:另外一种看法则认为区块链没有实际意义,无法落地,现在的区块链项目都是些骗子项目. 其实人们对于区块链技术本身是没有那么大疑问的,比如目前你能想到的互联网的巨头企业都已经纷纷的投入资金.人才.精力来进行区块链项目的研发,有很多项目方甚至已经拿出了产品的原型. 而且国家层面也多次提到区块链,有地方政府已经将发展区块链写入

你回到现实世界后,下次再进入未来时

对了,现在你所处的地方,叫起点镇,是免费的默认传送点,以后你进入未来时,如果你想传送到其他地方,可以在传送前进行选择,系统将按距离扣除你相应的点数.” 说到这里,七号用力将口里的口香糖吐了出去,又厌恶地吐了口唾沫,继续道:“进入未来后,你只要完成指定的任务,就可以返回现实世界休整十天,然后再重新进入,一直重复下去,直到你完成了未来的所有任务,以后就不用再进来了.不过,任务难度会越来越大,不是打击你,成功混到最后的机率非常小,你中途挂掉的可能性大得多.还有,这里完成任务的奖励点数与华丽人生奖励点数

UGUI和现实世界的比例关系

之前测试过默认大小的 Cube 在现实中的 比例关系,得出基本单位为 m 的结论,至于 UGUI和现实世界的比例关系 看下图就知道了: Cube 的大小: Button 的大小: 其实基本单位都是m....哈哈哈,你们不用动手测试了

编写高质量代码改善C#程序的157个建议——建议112:将现实世界中的对象抽象为类,将可复用对象圈起来就是命名空间

建议112:将现实世界中的对象抽象为类,将可复用对象圈起来就是命名空间 在我们身边的世界中,对象是什么?对象就是事物,俗称“东西”.那么,什么东西算得上是一个对象呢?对象有属性.有行为.以动物为例,比如猫(Cat).Cat可以有Name,这就是属性:Cat有一个恶习ScratchSofa(挠沙发),这就是行为.我们把这些属性和行为结合起来,就称为一个类型: class Cat { public string Name { get; set; } public void ScratchSofa()

你好,C++(32) 类是对现实世界的抽象和描述 6.2.1 类的声明和定义

6.2  类:当C++爱上面向对象 类这个概念是面向对象思想在C++中的具体体现:它既是封装的结果,同时也是继承和多态的载体.因此,要想学习C++中的面向对象程序设计,也就必须从“类”开始. 6.2.1  类的声明和定义 面向对象思想把现实世界中的所有事物都看成是对象,而类是对所有相同类型对象的抽象,是对它们总体的一个描述.比如,学校有很多老师,张老师.李老师.王老师,虽然每个老师各不相同,是不同的对象个体.但他们都是老师这一类型的对象,有着共同的属性(都有姓名.职务)和相同的行为(都能上课.批

告别2017虚拟世界,走进2018现实世界

很久很久以前,一直喜欢使用VMware Workstation来模拟企业生产环境! 谈不上喜欢! 更多的时候,是企业,个人没有这么多真实环境! 在2017年,尽量抛弃虚拟环境! 在2017年,尽量采取真实环境! 准备了半年多,计划2017年07月01日开工测试,分享! 结果,各种因素,将时间推迟到2018年! 在今年,我将走向现实世界的一年! 由于时间问题,2017年12月31日,2018年1月1日,一直忙过不停 ! 未能用心来写作此博文! 此博文,只是记录2018年一个新的开始! 好戏还在后面

GAIAWORLD神盾协议:能与现实世界交互的预言机

微信公众号:GAIAWorld 预言机VS图灵机   区块链应用落地最大的障碍在于难以和现实世界交互,链上世界和现实世界之间存在一条难以跨越的鸿沟,智能预言机是目前唯一可行的链接区块链网络和现实世界的方式.智能预言机通过黑盒的方式将现实世界的参数导入区块链网络,并使用链上图灵机回答决定性问题.  简单而言,智能预言机=能映射现实世界的预言者+图灵机. 图灵机的作用在一些区块链项目中被故意扭曲和夸大:"我们是图灵完备的,所以能做任何事情".图灵完备只代表能做任何计算,不代表能做任何事情,

计算世界里的抽象

三. 计算世界里的抽象 计算机世界里的抽象无处不在. 技术是问题的解决方案和手段的机制抽象: 每一类技术都建立了一套抽象,针对所面临的问题提出一种一致的机制,然后遵从该机制来实现这一类问题的求解: 开发框架是对不可变的过程抽象,将可变部分留给应用开发者根据具体问题域来定义和实现: 编程语言是对硬件执行的语义抽象: 标准库SDK 是对常用子任务的过程抽象或数据抽象: 操作系统是对进程实例执行的过程抽象: 数据库是对大量数据存储.查询与汇总统计的抽象: 网络是对计算互联与远程数据传输的抽象: 所有这