| SOA SOA的概念,出现已有些时日,从软件技术现在"飞速发展的状况"来看,那甚至是很久远的事情了.
可是直到今天,SOA的讨论往往还是从SOA到底是什么开始.为何如此?因为它一直以来只是抽象的概念,没有踏踏实实落到实处.
在作为一种潮流,要将它落到实处的今天,个人认为,我们已没有必要讨论这样的问题,就让它停留在概念那里吧,我们更需要关心的,是在这个概念之下,到底发展出一些怎样的东西,来让我们能够解决什么样的问题.从架构这个词来说,大到一个大型企业的整体规划,小到几个设计模式的使用,都可称其为架构.我们不如来看看这个面向服务的架构有多大,能帮我们解决什么.
从概念的出现,到以前以WebService的形式体现,我们可能会发现,其目的在于整合企业应用.
在一个稍微有些规模的企业,不可能只拥有一个软件系统.各系统之间的互连和互通,一直成为需要解决的问题.只有几个系统的时候,我们可能只考虑数据共享.但随着业务的要求,我们发现很多时候需要统一一致的服务,而不仅仅是数据.另外.当软件系统不停增长的时候,要使他们互通,迁就不同性质的共享接口和技术,工作量成倍的增长.当有几十个系统互相关联的时候,就发现管理这些关联需要高昂的代价.SOA的提出,就是解决这个问题的.它不仅仅是一种技术,一个开发方法.它象CMM管理一样,需要从上到下的重新看待整个IT系统的规划,需要一个企业,从业务和业务管理的角度,将需要的"功能"划分为服务.而不是"系统".不同的人通过"门户"等操作端,去使用自己权限内的服务.实现这一切的可能就是统一的规范.例如SCA,SDO.
从而我们也可以得出结论.企业需要的是一个平台,和一些封装手段.在构建新的应用时,以平台为依托,构建符合SOA规范的服务.用封装手段,去封装已有系统提供的应用,使他们参与到"服务"的体系中来.
另外可以看到,当划分为"服务"时,很有可能,很多"服务"是共性的,是可以在多个企业,甚至不同类型企业间共享的.例如,职员管理相关的众多服务.
那么,如果我们有这样一个平台,真的是以构件方式规划的,标准的,构件可插拔的平台.那么,这些通用服务不再需要由单独的一家或有限的几家公司来开发.更多的IT人员可以参与其中.这时.这个平台的价值该是很可观的吧. |