soa(面向服务的体系架构)如今虽然备受业界和用户追捧,但是为什么仍是谈者多用者少呢?有人抱怨soa前期投资太大,有人抱怨soa系统太过复杂,有人抱怨soa实施周期长、短时间内难见成效,还有人抱怨soa的实施让本来正在应用的系统要停下来等待......这些都是soa难以回避的问题。
记者在近期采访IONA公司大中华区总裁薛志勇时,他提出用分布式soa的架构来帮助企业用户解决soa叫好不叫座的问题。分布式soa凭借设立在服务器端的一个软件封装,就能把纷繁的系统架构和应用都融合在一个网络里,这种封装方式就像原来不同的网络协议被TCP/IP封装一样;也好比用一个标准信封来装不同的信一样。
薛志勇:因为企业的机房不是集中的,这些机房分布在不同的地点,采用不同的应用、不同的中间件、不同的平台,系统建立在不同的时期,甚至选择的开发商也不同。这样看来,实际上企业的信息化基础架构就是分布式的,很难一揽子地制订一个标准来实现统一。
互联网就是迄今为止规模最大的分布式应用,soa架构正应该具备互联网的这种分布式特性。当用户使用浏览器点击URL链接时,其请求并不是通过安装在服务器或Hub的中央控制程序来路由,而是由浏览器直接传递到请求页面所在的网络服务器。
这种方法非常适合互联网,同样也非常适合企业的soa架构。由于请求不需要通过Hub或中央服务器,因此互联网的每个端点可以自由更新而不致影响客户端,也不会影响其他站点,更不需要更新Hub或中央服务器。一个好的soa架构就应该具备这种功能。
薛志勇:目前大家所了解的soa大都是一种紧耦合的soa,也就是说soa与企业的数据库、操作系统、服务器绑在一起,但是这种紧耦合方式的soa缺乏与其他系统的互操作性,很难在技术上保持中立性和兼容性。
记者:这将导致什么后果呢?
薛志勇:可能导致企业要用自己的资金、自己的应用、自己的人力来适应这种紧耦合的系统,而不是用这些系统为企业的应用提供灵活的服务。这种方式首先投资比较大;第二,由于中间协议很多都是专有协议,因此不够标准化;第三,这种方式的中间件要占用资源、数据转换要占用资源、业务流程的编制要占用资源,导致对硬件平台提出了比较高的要求,本来用PC就可以实现的功能,现在则要用服务器才能实现。
分布式soa首先要把各种互不连通的元素进行互联,无论是基于.COM的还是基于Java的,都采用IONA的Artix(可扩展的企业服务总线产品)进行封装。这种封装方式就像原来不同的网络协议被TCP/IP封装一样;也好比用一个标准信封来装不同的信一样。
另外,不管用户想要实现什么样的服务,我们都提供这个服务通用的中间层服务。比如一个用户要开通手机业务,运营商需要接单、把信息录入、把信息传到ERP系统、给系统下达指令、通过网络开通手机业务、计费,这个流程要进行编制,要对服务进行管理,要对事务进行处理,而且还要保障安全性,这就是soa应该提供的解决方案,我们叫中间层服务。在这种服务中,IONA提供了插件式的架构,用户需要增加哪一项服务,我们就把哪一项服务对应地进行封装,只要在用户的端点上加入程序、纳入soa网络就可以了。而且,这种部署还是动态的,也就是无需用户停下现有业务而等待新业务的加入。
以国内某省网通公司为例,它要把BSS、OSS和MSS系统集成在一个系统里的投资是1500万元,如果用分布式soa则只需20%的投资。