信息化建设越来越成熟,但由于过去的建设手段,软件开发手段不尽相同,技术手段、开发理念也参差不齐,面向过程、面向对象、COM、CORBA、组件化种种技术,软件系统也有产品式、项目式等,然而很多这些技术和项目,都是解决一个方面的问题,这对于我们这个社会主义社会结构、各行各业的业务结构来说,都只能解决某个局限的问题。社会是不断进步和发展的,业务也是一样,其中的种种关系千丝万缕,等你回头一看,你就会发现原来我们很多东西只做了其一,还有更多东西原先并没有考虑到。
简单说个例子。人员/权限系统大家都做过,而且还可能每个业务系统都做过。但实际上,在现实的社会结构中,某个单位的人员/权限系统本来就不复杂,张三只有一个,李四也只有一个,张三在A业务的权限只有一套,在B业务的权限也只有一套。哪为什么就不能统一一套权限系统,里面记录张三在A、B业务系统的权限,或者未来更多的XX业务系统的权限,并为这些系统提供权限校验服务?或者是否我们一开始就只认为,我开发A系统的时候,只考虑A业务,谁管他B还是XX业务的东西。如果现在还是这样子考虑问题,那你就too naive, too out了!
面向服务,更趋向于将业务结构抽象化,而不是简单的对象抽象化。天气预报、权限查询都同样是一种业务性很专一的系统,单和这业务相关的其他业务却千千万万,如何更好的抽象这些业务,使之更好的为过去、现在、将来的系统作出自己最大的效益,那就得用面向服务的思想来指导我们的问题考虑。
现在实现面向服务的技术也越来越多,然而最让人关注的还是WebService,尽管SOA!=WebService。随着微软的Indigo推出,我想SOA在微软框架下的实现也越来越成熟,越来越有效率。
未来会是一个什么样的软件结构呢?对,卖的就是平台;面向的就是服务。软件越来越趋于社会描述,对社会的体现也越来越成熟,而不再是简单的一个个对象的抽象和实例化。试想一下,以后的所有信息处理,都有可能被别人实现和共享,而你要做的,就是怎么样合理利用者些信息去处理你自己的业务。当然这个伟大的理想,恐怕不是一两年就能实现。但我想未来的信息化,应该无处不在,服务无处不在,你可以在你办公室的电脑桌面屏幕摆下你家里的信息收集(冰箱运行情况、监视器运行情况)、你需要处理的公文信息、天气预报……,还可以设定当天气为下雨时,你家里的窗户会自动关闭。
美好的世界,SOA,面向服务,面向社会!
浙公网安备 33010602011771号