克服SOA实施过程中的障碍

Jonathan Mack说,现在SOA实施“并不像许多分析机构或Web研讨会所指出的那样普遍”。原因很简单:成功的SOA实施是颇具挑战性的。Jonathan Mack概述了三大挑战:

\u0026#xD;\n
  • 解决早于SOA的架构——将现有企业资产整合到SOA里去。 \u0026#xD;\n
  • 说服公司采用SOA——用具体的事实(而不是总体的陈述)阐述为什么SOA能够产生与其成本相称的效益,得公司涉众(stakeholders)信服。 \u0026#xD;\n
  • 设计最有效的SOA路线图——定义实现SOA愿景的过程。 \u0026#xD;\n

虽然大部分SOA实践者们提倡在现有企业应用之上构建一个瘦服务层、尽量重用已经存在的功能,但这样实施的挑战性常常比通常认为的要大得多。Jonathan Mack指出:

\u0026#xD;\n
过去构建的遗留系统(legacy systems)是一些零散的批处理或在线处理程序,它们必须按特定的顺序组合起来才能产生有意义的业务功能。那些遗留的处理程序是用于满足实际需要的, 它们常常是根据实际开发流程得到的、而不是与具体的功能相对应。从服务的观点来看,这些程序缺乏一致性和含义。
\u0026#xD;\n

关于解决这一问题的实际办法,Jonathan Mack概述如下:

\u0026#xD;\n
\u0026#xD;\n
  • 为你将构建的服务增加一个瘦服务层作为过渡。所以要创建一些便于插入服务层的组件,以便遗留系统的程序员们可以按他们过去的方式进行工作(即用明确定义的输入输出来设计程序)。 \u0026#xD;\n
  • 从一开始就在服务层中留好监控与异常处理钩子(hooks)。SOA最重要的优点之一,就是它可以精确监控应用的活动。 \u0026#xD;\n
  • 若服务(service)比点对点的交互(point-to-point interaction)更具优势,那就构建专门的服务。应为服务的构建定义和发布明确的标准。最重要的一则标准就是:该服务存在多个客户。 \u0026#xD;\n
  • 不要迷信卓越中心(Centers of Excellence)。确保拥有一个小型团队,选择成员时应特别注重他们与其他开发者协同工作的能力。从一开始就通过合作共同构建将来作为服务层基础的公共服务。 \u0026#xD;\n
  • 尽量构建直接与主机(mainframe)交互的原子服务,尽量用ESB软件来构建合成服务。保持原子服务层与合成服务层的分离。 \u0026#xD;\n
\u0026#xD;\n

可重用性(reusability)是SOA的一大卖点。不幸的是,这常常是一种信念,而非事实。能够支持这一观点的数据很少很少。Jonathan Mack说: 

\u0026#xD;\n
要使重要涉众(stakeholders)信服,你的阐述要更加具体才行。虽然用图来解释“SOA如何能帮助解决错综复杂的 系统所面临的问题”很不错,但公司里的涉众想更具体地知道这一努力将如何产生与成本相称的效益。而且,他们很擅长分辨ROI预估里数字的虚实。不论 你采用何种方式实施SOA,假如你希望被认真对待的话,你就必须提供非常实在的数字。
\u0026#xD;\n

至于SOA路线图,最近出现了两种流行的SOA实施途经:

\u0026#xD;\n
  • 企业级(自上而下的)SOA实施途经:风险很高,最初预算要几百万美元。另外,根据不同的规模与复杂程度,这类项目的耗费基本无法准确预估。 \u0026#xD;\n
  • 草根级(自下而上的)SOA实施途经:将SOA元素(包括服务和基础设施)作为现有业务驱动的IT任务来实现。这种途径一般不会成功。一来,最终得到的服务仅限于特定的业务问题,对企业的其他部分来说可能不适用(甚至是错的)。二来,构建SOA层所需的时间与开销将有损于项目里的其他业务需求。 \u0026#xD;\n

Jonathan Mack提出的另一种途径是:

\u0026#xD;\n
逐步构建SOA。大部分厂商已经觉悟过来,认识到了这是最合理的途径。然而,这做起来并不容易。企业服务总线 (Enterprise Server Bus,ESB)的核心元素——对不同系统间的信息进行转换与转化的能力,以及路由消息的能力——以及用于传递消息的消息传递基础设施,这些必须从一开始 就要具备。公共(共享的)服务(如登录、监控和异常处理等)也应该是最早实现的。
\u0026#xD;\n

SOA围绕IT业吵闹了将近10年,由于整体复杂性,至今仍没有万无一失的成功实施方案。每一个新的SOA项目“必须有明确的务实态度,必须对成功的实施步骤(及代价)有深入的研究和理解”。

\u0026#xD;\n查看英文原文:Overcoming Obstacles in Implementing SOA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux生成随机字符串

cat /dev/urandom | sed s/[^a-zA-Z0-9]//g | strings -n C | head -n L其中C表示字符串的字符数,L表示要生成多少行字符。 [rootlocalhost sqlite3]# cat /dev/urandom | sed s/[^a-zA-Z0-9]//g |strings -n 5|head -n 1 oMcFO

“全裸”:看向京的雕塑艺术展

《一百个人演奏你?还是一个人?》 9月6日,向京雕塑艺术亚洲巡回展在北京798艺术区当代唐人艺术中心开幕。展览主题是“全裸”,意在恐怕不光是女人身体的曝光,更是女性内心的一种敞开。展览的宣传页有这样一句提示&#…

易错笔记总结

易错笔记总结 每一个模块都需要有一个使能信号(en)和一个结束信号(done),以便控制每一个模块的开始和结束。这个使能信号(en)一般是一般是以脉冲的形式给出。编写激励文件时,输入是reg,输出是wire。这是连接试验台的检验性质决定的。每一个输入端口,在激励时记得初始…

Unable to find the ncurses libraries的解决办法

我们在更新CentOS或者Ubuntu的内核时,执行make menuconfig可能看如这样的错误: *** Unable to find the ncurses libraries or the *** required header files. *** ‘make menuconfig’ requires the ncurses libraries. *** *** Install ncurses (ncu…

一之活生的院鲁

地点:798,这位老者在看什么呢? 广西的何(谢)赛克球场救险。 叶(梁)戈亮,大步搓球。 双打天王,发球胜似闲步。

我怎么了?

好吧,我又想发牢骚了,最近总是忍不住自己的脾气,想要发泄一下,但是仔细想想怎么发泄呢,找人打一架吗?估计也打不过别人,被人一脚给踢飞了,YY一会还行,其实无非就是在各种…

线性序列机与串行接口ADC驱动设计与验证

线性序列机与串行接口ADC驱动设计与验证 ADC128S022 型 ADC 内部工作原理 在 AC620 开发板上使用的模数转换器为逐次逼近型的低功耗芯片 ADC128S022,其具有 8 通道以及 12 位的分辨率。电源采用独立的模拟供电以及数字供电,其中模拟电源 VA 输入 范围为 2.7V~5.25V,数字电源…

从身体扮演到身份确认:谈谈EMI的人体自拍作品

1906年,一个叫依莫斤坎安宁(Imogen Cunningham)的女摄影师在美国华盛顿大学的草坪上,脱掉了自己的衣服,拍下了世界上第一张女性人体自拍作品。由此打破了一直以来由男性主体和视角塑造与规定的女性形象,尤其…

二之活生院鲁

新长征路上的摇滚——老崔老藏?崔是崔健的崔,藏却不是藏天朔的藏,乃天津卫超隐喻发明人藏策是也。 在可口可乐、手机和用纸做杯子的时代,浪诗是件多么奢侈的事情。 我的乒乓师傅——白丁。他唱歌爱嚼起嘴巴。 最疯狂的一个业余歌手…

U_boot 的 bootcmd 和bootargs参数详解

http://www.cnblogs.com/cornflower/archive/2010/03/27/1698279.html U-boot的环境变量值得注意的有两个: bootcmd 和bootargs。 u-bootcmd 前面有说过bootcmd是自动启动时默认执行的一些命令,因此你可以在当前环境中定义各种不同配置,不…

core dump

什么是coredump?通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。可以理解为把程序工作的当前状态存储成一个文件。许多程序和操作系统出错时会自动生成一个core文件。如何使用coredump?coredump可…

TFT显示屏驱动设计与验证

TFT显示屏驱动设计与验证 RGB 接口的 TFT 屏扫描方式和 VGA (Video Graphics Array)标准类似,也是使用行列扫描的方式。在介绍 TFT 屏扫描原理之前,先来介绍下 VGA 显示器的扫描原理。在 VGA 标准兴起的时候,常见的彩色显示器一般由 CRT(阴极射线管)构成,色彩是 由 RGB 三…

看日本雅-miyavi演唱会

九月底和女儿在星光现场音乐厅看了雅-miyavi的演唱会。雅-miyavi是目前日本最受欢迎的视觉系摇滚歌手之一。所谓视觉系是起源于欧美,后风行日本的注重视觉效果的演唱形式。对他们来说,歌唱的技术也许并不重要,重要的是服饰、化妆以及舞台照明…

我堕落了~~

发现自己原来这么差劲。。。。。

PIC32单片机harmony开发环境 - uart例程和代码分析

开发环境:mplab 3.45 harmony 1.09 xc32 1.42 源代码下载:http://download.csdn.net/detail/zn2857/9712707 源代码分析: void APP_Tasks ( void ) {/* Check the applications current state. */switch ( appData.state ){/* Applications …

0欧电阻的用途

0欧电阻的用途 1、在电路中没有任何功能,只是在PCB上为了调试方便或兼容设计等原因。 2、可以做跳线用,如果某段线路不用,直接不贴该电阻即可(不影响外观)。 3、在匹配电路参数不确定的时候,以0欧姆代替,实际调试的时…

呼伦贝尔印象

秋天,接近黄昏中的新巴尔虎草原。在我去往中俄边境小城满洲里的路上。 鄂温克旗著名的巴彦胡硕草原,蜿蜒的伊敏河。 夕阳里的喇嘛庙。 风车与火烧云。都是童年才见过的景色。 满洲里的“套娃”广场。夜色中的满洲里是我见过的最美的边境小城。

ISO C99中的一些扩展(草稿)

一、指定数组初始化 int arry[6] { [4] 29, [2] 15 }; //指定arry[4]29, arry[2]15 ,其他的为0 等价于 int arry[6] { 0, 0, 15, 0, 29, 0 }; 类似于注定结构体初始化 二、空结构体,C89标准的结构体不支持空结构体的。。 struct empty { }; 三、C一样…