论坛首页 Java企业应用论坛

对SOA的理解

浏览 17497 次
锁定老帖子 主题:对SOA的理解
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-11-16  
SOA的用处是服务复用和统一接口管理,是面向企业集成系统的,概念上感觉和lz提的硬件的agent从实现形式上是类似的。
只是软件开发和其它制造业是有很大区别的,这是与硬件的不同之处。
模式这个词,从建筑学引入以来,设计模式的发展给软件开发带来的影响相当大。SOA也概念上的先发展,最近比较热门,能不能起到实际的作用,还需要时间来检验。
个人认为,如果单个系统都能以组件开发的形式作好,SOA还是能起到一些作用的。
0 请登录后投票
   发表时间:2007-11-16  
kadvin 写道
  如果你做一个设备,一开始就从你的被管特征着手,描述清楚产品的北向或者说被管接口,建立完整的信息模型和管理接口,这个是不是SOA中的自上而下的方式呢?原理应该是完全一样的,SOA最要不得的就是明明只是一个Agent的功能,非要把自己打扮得像个救世主。

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

诺铁 写道
让软件像硬件那样具有互通性只是SOA的一部分,是ESB或其他通讯机制解决的问题。
SOA还是解决问题的思路,以流程为出发点,从上到下规划的过程。
我的博客写了一点观点,接下来还会继续写几篇阐述我的理解,以后多多交流吧

SOA本来就不只是一个Agent的功能,还包括系统分析设计的思路、业务规划的思路等各方面。 你把它理解为一个Agent的功能就能得到Agent的好处,其他好处就得不到。
kadvin 写道
系统内部改用C用C,该用Java用Java,对外装个标准的Adapter即可
,SCA就是这样的思路,我也很赞同。
0 请登录后投票
   发表时间:2007-11-16  
从我听BEA老虎老师的宣讲来看,他们主张的SOA并不是一个简单的Agent的实现。

SOA起因
搂主说的没有错,对企业而言,需要把各种厂商的东西集成起来。 但是,为什么要集成起来呢?从企业的观点来看,企业中的技术其实是底层建筑,并不是企业中的主流。企业的核心是高效业务流程的运转、业务流程的创新带来的新的利润。在我业务流程越来越自动化,越来越追求高效的情况下,可能发现以前的计算机系统是由多个开发商建设的,现在新的业务流程需要这些系统之间进行通讯,以满足业务的需要。因此才需要集成,不然花那心思干嘛?

SOA的内容
企业如何SOA呢?企业如何去建设信息平台呢?全部包给一个公司?作一套软件平台? 对企业而言,很显然信息化的过程需要进行整体规划! ---SOA需要规划方法学

如果分时,分部位进行企业信息化平台的建设,那么如何保证这些系统能够互通呢?---SOA需要企业级信息架构

如何能保证企业的单个系统能高效开发,我其他系统可以复用这部分系统功能呢?如何保证系统性能?如何保证企业在单个系统的投入可以长期生效?不重复投入?
---SOA需要软件开发方法学支持,需要对公共部分的规划抽取

如何管理企业的信息化平台高效运作?如何管理公共服务的生命周期?
---SOA需要进行服务的监管

and more...

SOA的结论
现在厂商很聪明,站在企业的角度思考问题,而不光是看到表象(把硬件集成在一起),买的不只是一个公共平台, 买得是一套方法学和一套系统平台软件。想想看,其实真的很聪明。。。SOA的原理很简单,但是市场定位至少是上规模的大客户。

SOA是一个用一个系统互通的基本思想,串了一套方法学,一套架构思想,一个高端用户的市场定位。

引用

最怕有些软件,一辈子不会和其他的软件集成,非要在自己系统内部上SOA,搞得庞大又笨重。


这个是我感觉最头痛的,现在对外市场如果不SOA好像都快买不出去了。。仿佛要SOA点才有技术含量。。
0 请登录后投票
   发表时间:2007-12-17  
发贴的这位朋友看来不是很了解SOA,你的观点很片面

另外我很赞同诺铁的发言——SOA和OOP应该是一个层面的东西:方法论。
0 请登录后投票
   发表时间:2007-12-22  
rEloaD_cn 写道
发贴的这位朋友看来不是很了解SOA,你的观点很片面

另外我很赞同诺铁的发言——SOA和OOP应该是一个层面的东西:方法论。


这句总结得非常好,如何实现你的程序,你可以选择面向对象,也可以选择面向过程;如何架构你的系统,你可以选择面向服务,也可以选择面向实现。

SOA并不神秘,举个不算高科技的例子就可以很生动地说明什么是SOA,比如说我们遇到问题了,要报警,看看这两种方式有什么不同吧。

面向实现的方式是你必须找到最终能帮助你的警官,因此你必须清楚你处在哪个派出所的管区,你遇到的问题属于这个派出所的哪个科管,你还需要知道当时有哪个警官正在值班,最后等你找到这个人后才有可能去解决你的问题,这就需要你对整个公安系统的运作方式非常清楚,而且一旦这种运作方式发生任何变化(比如说组织变动、人员调动或是警官生病请假等等)你的报警程序就要重新编写。

而面向服务就是你通过一个服务来实现你的报警功能,这个服务就是110,你将你遇到的问题、你需要什么帮助、你现在的位置等等这些依赖信息统统注射给一个你不认识但总是在那里的110接线员,余下的问题就由他去帮你解决了。至于公安系统内部到底是怎么运作的,对于你来说就不是那么重要了。

如果我们所需要的公共服务都是通过110、119、120、122等等这样的服务来实现的,那我们的政府就是SOA的;而如果我们遇到问题需要去找张主任、王科长或是李书记,那就不是SOA的。
1 请登录后投票
   发表时间:2007-12-25  
jasonhsu 写道
rEloaD_cn 写道
发贴的这位朋友看来不是很了解SOA,你的观点很片面

另外我很赞同诺铁的发言——SOA和OOP应该是一个层面的东西:方法论。


这句总结得非常好,如何实现你的程序,你可以选择面向对象,也可以选择面向过程;如何架构你的系统,你可以选择面向服务,也可以选择面向实现。

SOA并不神秘,举个不算高科技的例子就可以很生动地说明什么是SOA,比如说我们遇到问题了,要报警,看看这两种方式有什么不同吧。

面向实现的方式是你必须找到最终能帮助你的警官,因此你必须清楚你处在哪个派出所的管区,你遇到的问题属于这个派出所的哪个科管,你还需要知道当时有哪个警官正在值班,最后等你找到这个人后才有可能去解决你的问题,这就需要你对整个公安系统的运作方式非常清楚,而且一旦这种运作方式发生任何变化(比如说组织变动、人员调动或是警官生病请假等等)你的报警程序就要重新编写。

而面向服务就是你通过一个服务来实现你的报警功能,这个服务就是110,你将你遇到的问题、你需要什么帮助、你现在的位置等等这些依赖信息统统注射给一个你不认识但总是在那里的110接线员,余下的问题就由他去帮你解决了。至于公安系统内部到底是怎么运作的,对于你来说就不是那么重要了。

如果我们所需要的公共服务都是通过110、119、120、122等等这样的服务来实现的,那我们的政府就是SOA的;而如果我们遇到问题需要去找张主任、王科长或是李书记,那就不是SOA的。

好形象啊!
0 请登录后投票
   发表时间:2007-12-28  
jasonhsu 写道

……

而面向服务就是你通过一个服务来实现你的报警功能,这个服务就是110,你将你遇到的问题、你需要什么帮助、你现在的位置等等这些依赖信息统统注射给一个你不认识但总是在那里的110接线员,余下的问题就由他去帮你解决了。至于公安系统内部到底是怎么运作的,对于你来说就不是那么重要了。

如果我们所需要的公共服务都是通过110、119、120、122等等这样的服务来实现的,那我们的政府就是SOA的;而如果我们遇到问题需要去找张主任、王科长或是李书记,那就不是SOA的。



呵呵,现实社会中,要是真是认识某个主任、书记的,那可比通过110、120什么的来获得帮助要管用得多啊!

0 请登录后投票
   发表时间:2007-12-30  
rEloaD_cn 写道
jasonhsu 写道

……

而面向服务就是你通过一个服务来实现你的报警功能,这个服务就是110,你将你遇到的问题、你需要什么帮助、你现在的位置等等这些依赖信息统统注射给一个你不认识但总是在那里的110接线员,余下的问题就由他去帮你解决了。至于公安系统内部到底是怎么运作的,对于你来说就不是那么重要了。

如果我们所需要的公共服务都是通过110、119、120、122等等这样的服务来实现的,那我们的政府就是SOA的;而如果我们遇到问题需要去找张主任、王科长或是李书记,那就不是SOA的。



呵呵,现实社会中,要是真是认识某个主任、书记的,那可比通过110、120什么的来获得帮助要管用得多啊!

这个扯远了吧~~
0 请登录后投票
   发表时间:2007-12-31  
IBM确实是个大忽悠
0 请登录后投票
   发表时间:2007-12-31  
赞同LZ的类比,但是SOA有其自己的特色和环境,也有其诞生的背景。
BTW:我也是做Telecom行业开发的,有时间多交流。
0 请登录后投票
论坛首页 Java企业应用版

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