`
kadvin
  • 浏览: 8749 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论
阅读更多
  昨天与两个同事聊到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的内容也差不多,只是用于不同的层面。
分享到:
评论
40 楼 allaneiaaa 2008-08-25  
soa面向服务 基于行业流程的。然后在其流程上规划和抽象一些接口。形成可插入的服务节点,“节点服务的提供”可以组件化。 它的主要思想就是要,贯穿业务的整个主线流程。
39 楼 jackey3316 2008-07-11  
个人觉的SOA是一个企业级信息或者系统整合的一个思路,用对了地方,自然是复杂的问题简单化。

而如果应用范围局限,甚至大才小用了 ,自然像lz那样想的  简单问题复杂化了。

这也是IT业的发展趋势决定的。

以前一个应用都没有,当然先要开发系统,有几个系统了,就开始考虑用组件来架设新系统,再多了,就要考虑按服务来构建环境了。
38 楼 ss1 2008-07-11  
呵呵,还是不明白,SOA是什么东西
37 楼 tangchaodong 2008-06-11  
kadvin 写道
  如果你做一个设备,一开始就从你的被管特征着手,描述清楚产品的北向或者说被管接口,建立完整的信息模型和管理接口,这个是不是SOA中的自上而下的方式呢?原理应该是完全一样的,SOA最要不得的就是明明只是一个Agent的功能,非要把自己打扮得像个救世主。

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




恩,对外主要是用,对内怎么方便怎么实现就行!
36 楼 zhuyx808 2008-06-11  
SOA说白了就是公共接口更加抽象,直接抽象到面向服务,是一个系统架构
35 楼 zhufanamo 2008-06-07  
跑个题~ 帮个朋友做去见一个政府的客户,接类4于办公流的项目小几w
他们的要求是用j2ee实现, 用websphere ,工作流 , soa

他们懂个嘛j2ee? 这些光鲜的名词那里来的~~

所以还是要感谢ibm,bes这些公司,提高整个行业的价值..有他们起个大头,下面才有的吹呀

你说一个weblogic 只卖个几十块,你让其它人怎么混
34 楼 aleigood 2008-05-20  
lz is a zter?
33 楼 gblyh 2008-05-20  
现在我们团队是做移动增值服务平台的,对楼主的意见很有同感,因为经常要处理不同企业开发的增值应用,有的是webservice的接口,有的是jms,tuxido等等,还有的直接就是post,需要为不同的系统提供消息转发,服务管理,并开放一些自有接口给其他系统使用,最后归结到在这个系统之上做一套电子商务的应用,因此体会了SOA的设计思想对于后续开发效率和业务敏捷起到了推很好的动。
32 楼 taelons 2008-05-15  
<div class='quote_title'>kadvin 写道</div>
<div class='quote_div'>在我看来,他们最擅于将简单问题复杂化,用时下流行的话说,叫做"忽悠",愣是可以把一个简单的SOA,划分若干个看似NB的组成要素,再冠以SOAP, WSDL, UDDI, ESB等很神秘的词汇。<br/></div>
<p>IBM们做一个"hello world"的SOA的demo,很多同学以为是把“简单问题复杂化”了<br/>其实SOA恰恰是为了把"复杂问题简单化",只是同学们还没有做到那一步,或者说中国企业还没有达到那境界,所以会觉得一辈子也用不上SOA<br/>现有业务,接着才有技术<br/>做SOA是做企业,而后是做技术</p>
31 楼 abang 2008-05-15  
SOA是一种规范,规范了系统集成的一些概念、方式和方法。

在SOA概念出来之前,大家其实在各个领域都遇到过也作过类似的东西,所以就有了楼主“将简单问题复杂化”的说法,但是那个时候概念并不统一,大家各叫各的,如果两个领域的人凑在一起要完成一个项目,在很多事情上沟通是一件比较费劲的事情。

我想,SOA的出现很大的原因是为了统一思想、统一概念,方便大家沟通,方便集成。

PS:制定规范、标准正是一流公司极力做的事情。每个人将这些理解了之后转化成自己的语言,其实就是一个很简单的东西。

30 楼 strgo 2008-05-15  
楼主有一部分观点我比较看重,比如讲到MA相关的。
前些日子,我去参加BEA的DEV2DEV  Java2SOA的上海交流会,恁是被他们熏陶了半天,说到底就是对他们基与Eclipse的开发软件,专门来实现SOA相关的,感觉有点过于注重图形化了,PRO的CODE估计快被他们忽略光了,个人不喜欢这样的情况。我喜欢硬编码,心里比较实在,生成的东西不踏实。
上面一个所谓的BEA经理在上面演示一个简单的订单实例,偶将工程建错了包,调了半天没有调好,最后才发现问题所在。其实一看就知道他不是做技术的,也许是开始做了 一年技术然后就去做市场去了,后来他的助理演讲下一段,感觉比较好,感觉就不一样,做技术的人看的出来。
我看了大家谈论的上面谈到的,又了解不少。有一点我觉得应该提出,SOA的出现是要去实现什么,并不是要去取代什么。我们的心态应该在用SOA去实现。SOA里面的那个总线的管理方式个人比较欣赏,但是比较不苟同那个基于Eclipse的开发工具。不喜欢。
29 楼 hantsy 2008-04-29  
SOA=Same Old Architecture
BEA提出SOA时一个老外的解释。
28 楼 shikonglaike 2008-04-29  
站在不同的角度来看,每个人的理解都可以是对的。
27 楼 bonny 2008-04-28  
同意lz的观点,简单健壮 适用性和生命力更强,而且已经得到验证。
26 楼 小嘴看世界 2008-04-28  
SOA只是对流程的阐述 并没有具体的技术实现
那些个大公司搞得东西是都很好很强大 对行业发展肯定是有意的
25 楼 hongsoft 2008-04-26  
<div class='quote_title'>kadvin 写道</div>
<div class='quote_div'>  昨天与两个同事聊到SOA,由于大家都有在电信领域开发的背景,讨论中形成了对SOA较为准确和生动的理解,特写此文以记之。<br/>
  现在SOA的话语权主要集中在IBM,BEA这样的大公司手里,在我看来,他们最擅于将简单问题复杂化,用时下流行的话说,叫做"忽悠",愣是可以把一个简单的SOA,划分若干个看似NB的组成要素,再冠以SOAP, WSDL, UDDI, ESB等很神秘的词汇。</div>
<div class='quote_div'><br/></div>
<div class='quote_div'>------------》这里说的是武断了点。<br/>
<br/>
  在电信网络中,同一种设备,一般由不同的厂家生成,同一个网络中,往往有多种设备,多个厂家提供,但运营商又需要对这些设备集中,统一的管理,这样的现状和需求,催生了一个重要的管理架构,这个架构名字很简单,叫做MA结构。<br/>
<br/>
  MA的原理也很简单,M就是Manager, A就是Agent,每个设备,除了需要实现自己的业务功能(如路由器的业务功能就是路由功能)以外,还要让自己能够融入到网络中,让上级的网管(Manager)能够管理,所以往往这样的设备,还需要附带一个Agent,这个Agent将本身的被管功能暴露给上级的网管。<br/>
<br/>
  展开一下,MA结构是可级联的,有些实体(软件或者设备),它作为下层实体的Manager,同时又是上层实体的被管实体,其自身又需要附带Agent,这些关系,有时候也用南向,北向接口指代,南向就是本实体和下层被管实体之间的接口,北向就是本实体和上层管理者之间的接口,MA就是站在这两种接口两侧的对象。<br/>
<br/>
  <span style='color: #ff0000;'>回过头来看现在的SOA,在我们看来,其本质就是软件产品的Agent,让软件像硬件那样具有互通性。<br/>
<br/>
<span style='color: #000000;'>  由于设备的标准化较高,定制化程度较低,所以,设备软件的模块化,集成化较高,相应的这些方法论也早于一般应用软件和业务系统。</span></span><br/>
<br/>
  从SOA宣称的各种功能和好处来讲,本质上要求上SOA的软件系统像设备一样开发,系统内部功能自行开发,系统要以标准、统一的接口与外部集成,WSDL的服务定义,与SNMP的MIB定义何其相似。在设备的开发中,SNMP等协议早已相对完善,其中所涵盖的内容,包括命名,建模,服务的定义和发现,通讯协议栈,和SOA的内容也差不多,只是用于不同的层面。</div>
<div class='quote_div'>---》这里说对了一部分,但是只强调了 EAI部分的思路,没有说出 SOA的  统一流程规划 方面的思想。 SOA比EAI还是要多一点内容。<br/></div>
<div class='quote_div'><br/></div>
<div class='quote_div'><br/></div>
<p> </p>
24 楼 xiaolin0105 2008-02-04  
soa是忽悠人的,没什么高深的,只是一种生产手段。
23 楼 Michael.zhl 2008-01-30  
SOA一个概念而已,说难能说出一堆来.说简单一句话概括了.
其实没什么.几个不同的WEB服务.通过xml交互,集成为一个系统.就可以说是SOA.
22 楼 jackieAlb 2008-01-30  
SOA就是对设计模式  Proxy+Adapter的系统的诠释
21 楼 agile_boy 2007-12-31  
赞同LZ的类比,但是SOA有其自己的特色和环境,也有其诞生的背景。
BTW:我也是做Telecom行业开发的,有时间多交流。

相关推荐

    SOA 基础架构和项目扩展最佳实践 -- ORACLE

    ORACLE 对 soa理解与实践 ,ORACLE 对 soa理解与实践,ORACLE 对 soa理解与实践

    对SOA技术的理解和阐述。

    SOA 是一种分布式的软件模型。SOA 的主要组件包括 服务、动态发现 和 消息。 服务 是能够通过网络访问的可调用例程。服务公开了一个接口契约,它定义了服务的行为以及接受和返回的消息。术语 服务 常与术语 提供者 ...

    SOA 培训资料 对理解有用

    SOA 培训资料 对理解有用 特别是SOA governance

    通过一个真实故事理解SOA监管

    如果能够举一个例子,那么大家就容易理解得多。恰好昨天在书上看到一个真 实的故事,很形象地说明了SOA监管的意义。所以不妨跟大家分享一下。这个故事是关于Sun的,当然这类事情实际上曾经发生在很多大型公司里。

    SOA的设计误区(SOA架构师必读)

    成功需要理解并适应各种关系以及SOA解决方案要素和关键企业IT资产之间相互依赖的关系。  在充分了解了目标和问题后,下一步我们将要检验最基本的误解,这些基本的误解经常和成功实施SOA解决方案架构有着很大的关系...

    理解SOA中的服务生命周期-设计时

    理解SOA中的服务生命周期-设计时.doc

    理解SOA中的服务生命周期-运行时

    理解SOA中的服务生命周期-运行时.doc

    微软SOA架构介绍,便于大家理解SOA

    微软SOA架构介绍资料,从架构层向大家展示和介绍SOA,可以帮助大家理解

    SOA的理解送给需要的朋友

    个人理解,soa的概念介绍

    理解SOA中的服务生命周期:设计时

    在本文中,通过进一步理解与共享服务生命周期相关的设计时需求,正在寻求使用SOA促进重用和增加业务灵活性的企业可能认识到及早建立基础架构(如方法学、分 类指导方针以及开发工具)是实现早期及后续成功的重要因素...

    如何理解SOA与Enterprise Web2.0

    记者:请问你是怎么理解SOA的?孟岩:我这个理解来说下来就是,有这么大概几个过程,也分成这么几个阶段。最早就是03年左 右,我刚到CSDN的时候,那个时候呢,SOA有一段的这个宣传的这种高潮,各大公司,包括微软、...

    详解SOA五种基本架构模式

    虽然SOA 的理论很容易理解,但要部署一个设计良好、真正实用的 SOA 系统却非 常困难。本文试图通过解析 SOA的模式,提供与架构相关的技术指导,进而对以 上问题提供详尽的的解答。 在本文中,一共提到了五种模式。...

    SOA服务设计原则(第一部分)

    通过阅读本书,读者不仅可以更加深入地理解SOA的基本原理以及SOA能够带来的好处,更重要的是,可以更加深入地学习在实践SOA的过程中需要遵守的基本原则,并通过书中的实际案例来掌握如何在实践中运用这些原则。

    下一代软件架构--SOA.doc

    2002年12月,Gartner提出SOA是"现代应用开发领域最重要的课题",还预计到2008年,SOA将成为占有绝对优势的软件工程实践方法,主流企业现在就应该在理解和应用SOA开发技能方面进行投资。 更好支持商业流程 SOA并不是...

    SOA服务设计原则].厄尔.扫描版(第二部分)

    通过阅读本书,读者不仅可以更加深入地理解SOA的基本原理以及SOA能够带来的好处,更重要的是,可以更加深入地学习在实践SOA的过程中需要遵守的基本原则,并通过书中的实际案例来掌握如何在实践中运用这些原则。

    SOA 实用案例研究

    通过实例给读者讲解SOA,易于理解 BEA Jesper Joergensen

    SOA 之实践经验分享

    – 充分沟通,在概念、价值等方面形成对SOA 的一致理解 § 规划 – 建立业务与IT 的和谐互动 – 业务人员认同并积极参与以奠定业务驱动的基础,保证业务与IT共舞,实现SOA 的最大价值 – 整体企业架构规划,确立SOA ...

    SOA核心技术及应用(全书)第一部分

    本书立足于技术底层,试图指引读者理解构建SOA的基础编程模式。这一技术模式也并非耳熟能详 的Web服务,而是新兴的SOA技术标准——服务组件架构(Service Component Architecture, SCA)、 服务数据对象(Service ...

    SOA风格架构的java例子

    例子较清晰的说明了SOA架构概念、风格、构建方法,使难以理解的SOA思想能清晰的得到体现

    解析在SOA中实现语义互操作性

    本文的目标是使应用程序架构师和数据架构师认识到语义和语义互操作性的重要性,以便在构建新的基于 SOA 的解决方案或者将现有系统迁移到 SOA 时能够进行合理的决策。要想理解语义互操作性,我们首先必须了解其背后的...

Global site tag (gtag.js) - Google Analytics