从语义上讲,SOA是面向服务架构,它与面向过程、面向对象、面向组件一样,是一种软件组建及开发的方式。与以往的软件开发、架构模式一样,SOA只是一种体系、一种思想,而不是一种具体的软件产品或技术。就整体而言,大部分的软件开发者和使用者对SOA的概念认识还比较模糊。同时对SOA有一定了解的人群里,也存在两种不容忽视的极端:一种是过于激进,持这一极端思想的人认为,传统软件架构一无是处,主张用SOA改写所有程序;另一种是过于虚无,持这一极端思想的人认为,SOA毫无用处,SOA并未与以往的软件架构有什么不同。
事实上,SOA不像激进者所认为的,一夜之间就可以全部取代传统软件架构。在许多软件领域,SOA并无用处,最为典型的就是一些小型的单独应用的工具类软件,是不是SOA对软件价值没有多大的改变。另外SOA的虚无主义者也将会看到有悖于他们想象的事实:一大批基于SOA的软件因为具有协同、高效、易于布署和维护等优点,将会迅速取代传统架构的软件,Gartner预计明年全球销售出的所有商业应用软件产品,SOA的将超过 80%。SOA也给许多新兴的软件厂商带来空前的市场机会,特别是协同软件与SOA在理念上相关性较大,使SOA更易于凸显协同软件的价值。例如复旦协达新一代的协同软件由于采用了SOA,迅速得到用户认可,并被IDC、CCID、CCW等权威IT机构评价为产品竞争力位居同行前列。在国外,BEA也通过SOA迅速崛起,谋求了自己在新兴IT应用市场中相对领先的地位。未来将会有更多像复旦协达、BEA一样的公司,因SOA而给其产品和公司带来更多竞争能力。
从SOA软件的开发和应用模式来看,SOA带给软件本身的变化极其有限,有一些较为早期的软件虽然没有明确提出SOA,但已经体现出SOA所具有的特征。从这一事实我们可以发现,SOA这一概念虽然比较新,但SOA所体现的思想内核早就萌芽。无论是早期带有SOA部分特征的传统软件,还是完全基于SOA研发的新一代软件,都在试图解决的问题主要是:快速构建与应用集成。
1
2
下一页>>