论坛首页 Java企业应用论坛

对SOA的理解

浏览 17509 次
锁定老帖子 主题:对SOA的理解
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-11-15  
SOA
  昨天与两个同事聊到SOA,由于大家都有在电信领域开发的背景,讨论中形成了对SOA较为准确和生动的理解,特写此文以记之。
  现在SOA的话语权主要集中在IBM,BEA这样的大公司手里,在我看来,他们最擅于将简单问题复杂化,用时下流行的话说,叫做"忽悠",愣是可以把一个简单的SOA,划分若干个看似NB的组成要素,再冠以SOAP, WSDL, UDDI, ESB等很神秘的词汇。

  在电信网络中,同一种设备,一般由不同的厂家生成,同一个网络中,往往有多种设备,多个厂家提供,但运营商又需要对这些设备集中,统一的管理,这样的现状和需求,催生了一个重要的管理架构,这个架构名字很简单,叫做MA结构。

  MA的原理也很简单,M就是Manager, A就是Agent,每个设备,除了需要实现自己的业务功能(如路由器的业务功能就是路由功能)以外,还要让自己能够融入到网络中,让上级的网管(Manager)能够管理,所以往往这样的设备,还需要附带一个Agent,这个Agent将本身的被管功能暴露给上级的网管。

  展开一下,MA结构是可级联的,有些实体(软件或者设备),它作为下层实体的Manager,同时又是上层实体的被管实体,其自身又需要附带Agent,这些关系,有时候也用南向,北向接口指代,南向就是本实体和下层被管实体之间的接口,北向就是本实体和上层管理者之间的接口,MA就是站在这两种接口两侧的对象。

  回过头来看现在的SOA,在我们看来,其本质就是软件产品的Agent,让软件像硬件那样具有互通性。

  由于设备的标准化较高,定制化程度较低,所以,设备软件的模块化,集成化较高,相应的这些方法论也早于一般应用软件和业务系统。

  从SOA宣称的各种功能和好处来讲,本质上要求上SOA的软件系统像设备一样开发,系统内部功能自行开发,系统要以标准、统一的接口与外部集成,WSDL的服务定义,与SNMP的MIB定义何其相似。在设备的开发中,SNMP等协议早已相对完善,其中所涵盖的内容,包括命名,建模,服务的定义和发现,通讯协议栈,和SOA的内容也差不多,只是用于不同的层面。
   发表时间:2007-11-15  
一言惊醒梦中人!
0 请登录后投票
   发表时间:2007-11-15  
引用
现在SOA的话语权主要集中在IBM,BEA这样的大公司手里,在我看来,他们最擅于将简单问题复杂化,用时下流行的话说,叫做"忽悠",愣是可以把一个简单的SOA,划分若干个看似NB的组成要素,再冠以SOAP, WSDL, UDDI, ESB等很神秘的词汇


深有同感!
0 请登录后投票
   发表时间:2007-11-15  
偏偏不认同红字的那句话。
另外,简单、复杂是相对的,SOA的概念可以关联到你已经掌握的知识结构上,所以你觉得简单。
IT领域现在本来就很少有真正全新的东西了,都是新瓶装旧酒,但很多新人对旧酒也不熟的,那就全是新的复杂的东西了。
0 请登录后投票
   发表时间:2007-11-15  
呵呵,我发现JavaEye里面回复不了自己发的帖子。
0 请登录后投票
   发表时间:2007-11-15  
不同意可以亮出你的观点,SOA到底是什么?
我只是想用一个比较简单的方式来说明我对SOA的理解。

诺铁 写道
偏偏不认同红字的那句话。
另外,简单、复杂是相对的,SOA的概念可以关联到你已经掌握的知识结构上,所以你觉得简单。
IT领域现在本来就很少有真正全新的东西了,都是新瓶装旧酒,但很多新人对旧酒也不熟的,那就全是新的复杂的东西了。
0 请登录后投票
   发表时间:2007-11-15  
让软件像硬件那样具有互通性只是SOA的一部分,是ESB或其他通讯机制解决的问题。
SOA还是解决问题的思路,以流程为出发点,从上到下规划的过程。
我的博客写了一点观点,接下来还会继续写几篇阐述我的理解,以后多多交流吧
0 请登录后投票
   发表时间:2007-11-15  
metaphor is so important to software, from device management, you do give us a clear description on SOA!
0 请登录后投票
   发表时间:2007-11-16  
  如果你做一个设备,一开始就从你的被管特征着手,描述清楚产品的北向或者说被管接口,建立完整的信息模型和管理接口,这个是不是SOA中的自上而下的方式呢?原理应该是完全一样的,SOA最要不得的就是明明只是一个Agent的功能,非要把自己打扮得像个救世主。

  我个人不是说SOA不好,而是说,不要盲目扩大它,有需要和其他软件集成的软件,应该学习设备的开发那样,系统内部改用C用C,该用Java用Java,对外装个标准的Adapter即可。
  最怕有些软件,一辈子不会和其他的软件集成,非要在自己系统内部上SOA,搞得庞大又笨重。

诺铁 写道
让软件像硬件那样具有互通性只是SOA的一部分,是ESB或其他通讯机制解决的问题。
SOA还是解决问题的思路,以流程为出发点,从上到下规划的过程。
我的博客写了一点观点,接下来还会继续写几篇阐述我的理解,以后多多交流吧
0 请登录后投票
   发表时间:2007-11-16  
哈哈,我同意楼主的概念。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics