SOA面向服务体系结构(service-oriented architecture,SOA)是一个重要领域,我喜欢SOA。但是SOA并不是解决所有问题的万用方法。这里介绍10条关于SOA的知识,可能这并不是您所愿意知道的。
1.你不能出售SOA。SOA可以使公司更灵活。SOA可以使公司更机敏。是的,如果没有适应性和机敏性是不能建立业务解决案例或形成正当成本,你只能以解决业务问题为基础来构建SOA。在应当的环境中SOA可以使业务方案解决业务问题:这就足够了。
2.就算你可以出售SOA你也不能这么做,因为你不能向商人描述SOA到底是什么。事实上也没有SOA的确切定义。即使作为一个概念SOA也是脆弱的,不同的软件提供商和分析师会给出不同的(大量的)SOA定义。所以就连IT行业都没有统一的定义,你怎么能够期望商家可以理解这一概念?最好就是说SOA是代表一系列有效的技术。
3.业务流程管理(Business Process Management,BPM)不是SOA。两者并非必须共存的,当然,虽然没有BPM的SOA可能会很灵活。
4.业务流程管理(Business Process Management,BPM)处理引擎将成为SOA的潜在瓶颈。如果每一件事都是围绕BPM套件布署,那么服务就不得不回到BPM处理引擎来接收指令,这样一来BPM处理引擎就变成了SOA的瓶颈。所以,你可能需要有多个这样的引擎以及一个“协调引擎的引擎”,就好比一个管弦乐队。更好的方法就是拥有智能、恰当的服务,可以明白自己的路由,保存状态信息:因此减少了对引擎的调用。
5.总之,仅有业务流程管理(Business Process Management ,BPM)是不够的。BPM可以处理相对简单的流程,但是当环境非常复杂时,尤其是业务不可掌控时,BPM则不能发挥作用。这就需要复杂事件处理((complex) event processing ,CEP)来协调。
6.在SOA领域,大多数软件提供商都承认事件处理的潜在角色,但是大家都不理解这一角色的具体含义。例如,我曾见过在SOA中将复杂事件处理(complex event processing ,CEP)与BI型事件处理混淆不清的现象。当然,SOA中应有相应的CEP区块(例如,生产监控而不是业务活动监控(BAM-Business Activity Monitoring)的实例监控――尽管应该将两者结合起来)。Oracle公司明白事件处理,它将复杂事件处理CEP分配在SOA成熟模型的第五层:这样很好,除非复杂事件处理CEP可以完全独立与SOA单独实施。
7.你不需要使用简单对象访问协议(simple object access protocol ,SOAP)。有趣的是该协议并不像大家期望的那样简单――有其他更为简单的协议。
8.SOA面向服务体系结构的一个最大优势就是能够帮助企业重组应用程序,再利用服务。但是怎么再利用呢?我们不能对对象进行再利用,同时我们也不能对组件进行再利用,所以为什么我们认为我们可以对服务进行再利用呢?这是因为我们可以建立SOA管治、执行IT策略与标准,可是这样就意味着开发人员将会严格执行策略吗?什么时候有这样的压力?什么时候规定这项工作必须在明天之前完成?
9.讨论一下管治,怎样进行管治?――SOA与数据管治(data governance)之间的关系是怎样的,举例说明?如果管治的目的之一是为了对进程和数据建立所有权,那么就会出现一个问题,因为所有权就意味着责任,如果有一点点机会,人们就会逃避责任。为管治打造的理论模型都非常优秀,不过如果这些理论模型不能被应用于实际(至少有时可以应用于实际),那么我们就需要一组更注重实效的“我们可以实际作到”的方案,而不是总是以理想状态为目标。
10.大多数讨论SOA的软件提供商都忽略了数据这一块(这里,IBM是一个例外),许多公司的应用程序架构就像一团纠结在一起的面条,可是如果说SOA的作用就是解开、理清过去纠结在一起的面条,那么复杂的数据环境不也一样吗?
转自:TechTarget
 
***********************************************************************
铭铭 附:上周就看到了这篇的英文原稿,这个周一终于看到了相关的翻译稿。本来周末的时候在家试着翻译大概,可惜不是专业只能自己看了。也许是对SOA理念的理解差异,对于这篇文章建议大家看看原文,说不定会有不一样的理解。
 
原文:[url]http://www.regdeveloper.co.uk/2006/11/22/soa_checklist/[/url]
作者:Phil Howard

转载于:https://blog.51cto.com/mingxinzhicheng/10746

关于SOA您该知道却不愿知道的十件事相关推荐

  1. 炉石传说 服务器 维护,网易《炉石传说》已经维护40个小时 玩家:我们愿等你十年...

    网易年底又出大事故了.1月17日凌晨一点,<炉石传说>进入维护,玩家们都以为只是一次平常的维护,不曾想却成为了一次史诗级的维护--到现在差不多有40个小时了,实在让玩家无语. 在漫长的.无 ...

  2. 第16件事 愿景和目标要接地气

    十步法的第四步是确定愿景和目标,说到底其实就是确定了产品战略方向和产品定位后,就要确定要把这个社区产品做到什么程度,短期.中期.长期分别要达到什么样的目标,这就是在第四步中要重点阐述的内容. 1.愿景 ...

  3. 网警信息安全!_只愿与一人十指紧扣_新浪博客

    !

  4. C语言数组只会输出两个!_只愿与一人十指紧扣_新浪博客

    #include int main() {     int a[5]={1,3,5,7,9};     int *num[5]={&a[0],&a[1],};//只赋值两个,下面就只输 ...

  5. 公务员_只愿与一人十指紧扣_新浪博客

    这个是报名条件,上着学不可已报名!最好先考研啦,因为考研后的选择余地比较多! 看来计算机做公务员机会不少! 跟我之前想的一样,考上了就是一个工作啦! 但是,竞争挺大的!2000:1! 2017国考报名 ...

  6. C语言连续指针_只愿与一人十指紧扣_新浪博客

    #include int main() {     int i=2;int *p1,**p2;     p1=&i;p2=&p1;             printf("% ...

  7. C语言指针表示二维数组的方法!_只愿与一人十指紧扣_新浪博客

    #include int main() {     int i,j;int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};     //int *p[3]={a[0],a[ ...

  8. C语言字符串排序!_只愿与一人十指紧扣_新浪博客

    函数原型int strcmp(const char *s1,const char * s2) 当s1<0 当s1==s2时,返回值=0 当s1>s2时,返回值>0 表示你输入的字符串 ...

  9. C语言指针调用函数_只愿与一人十指紧扣_新浪博客

    涨姿势啦!指针调用函数的方式不小心被我学会啦! #include int max(int *a) {     int i,m;     m=*a;     for(i=0;i<10;i++)   ...

最新文章

  1. 大牛深入讲解!java数组冒泡排序从小到大
  2. node.js初探-超越昨天的自己系列(3)
  3. hdu 5521 Meeting(最短路)
  4. IAR在写结构体时不提示_智能物流装车系统的结构优化与改进
  5. Ubuntu防火墙:ufw
  6. bandizip最后一个无广告版本_如果非要选择一款压缩软件的话——Bandizip
  7. 音视频开发(37)---麦克风阵列语音增强(二)
  8. 【干货】Python玩转各种多媒体,视频、音频到图片
  9. DNN训练技巧(Tips for Training DNN)
  10. erlang怎样有效监听大量并发连接
  11. css 超过长度省略
  12. testbench的设计
  13. 转:开个小书店。。呵呵
  14. 制作种子怎么上传服务器,怎么做种子,又怎么发布呢?
  15. 金蝶K3 SQL报表系列-BOM成本明细表
  16. 逆向笔记2--常用的调试软件及插件
  17. word文档怎样删除最后一页空白页
  18. hard link and symbolic link
  19. 条码打印软件如何批量打印快递单
  20. 微信小游戏从零开始申请软著到上线

热门文章

  1. xssfsheet removerow 剩下空白行怎么处理_糟糕!开瓶时酒塞不小心掉进酒里该怎么处理?...
  2. linux mvn m2目录,Maven C盘用户文件下没有.m2
  3. gradle对java插件的扩展_Gradle之java插件入门
  4. vue 指令 v-for 遍历数组
  5. Spring 整合junit
  6. javascript document cookie
  7. Hadoop HIVE 创建表
  8. java 一个list根据另一个list进行排序_java – 基于另一个List对List进行排序
  9. 问题 | golang编程中的坑
  10. php注册树模式,PHP设计模式之注册树模式