SOA似乎一直都处于一触即发的状态,软件厂商早在几年前就为SOA推波助澜,但从目前的SOA相关标准化工作进展看,SOA进入成熟应用阶段仍需时日。
近日,国内软件企业新中大公司发布了其SOA架构的新产品。当时,新中大CTO楼激扬描绘了新软件应用前景——只要符合SOA定义的软件产品,都可以实现服务的互相联通,无论是遗留系统还是新建系统都可以通过SOA整合在一起。这幅似乎就在不远处的SOA蓝图令人振奋不已,但问题是到底什么是“符合SOA定义的软件产品”?
“标准就是Web Services和XML。”按照楼激扬的解释,这些标准近几年已经成熟,所以SOA在企业级市场的应用也得到了发展。然而更多专业人士认为,这些标准本身并不是为SOA量身设计的,将它们组合在一起,仅仅达到的是“看上去很相似”的效果。
数周前,IBM、微软、BEA、思科等11家IT业界巨头宣布推出一项服务建模语言(SML)草案,以提供统一标准来整合计算机网络、应用软件、服务器及其他IT资源。同时,由这11家厂商组建的SML工作小组正在草案的基础上,开发一个用于描述网络、操作系统、储存设施的“服务资源库”。SML的最终实现,有望让各软件厂商的独立SOA体系能够用同一“服务描述语言”进行通话。
SML的出现也许会让这些相似的标准最终融合在一起,但想让SML具有变形金刚那样的效果——“业务部门提出服务需求,把所需的服务按照SML进行描述,软件就会摇身一变,自动生成代码和服务配置”,显然还有些脱离现实。
2005年11月,IBM、BEA、Oracle、SAP等公司就曾共同发布了两项SOA的技术规范:服务构件架构(SCA)和服务数据对象(SDO)。当时,由于很多软件厂商(如微软和Sun)各自打着自己的算盘,并没有加入这一标准组织。微软对此的解释是希望新的标准规范可以“靠自己更近一些”,SML的技术基础就是在微软的XML——系统定义模式(SDM)发展起来的。目前,微软的Visual Studio 2005中已经支持SDM,它还宣称从2007年开始,微软所有的管理软件和操作系统都将支持SML。
作为近年来迅速发展的软件架构方法,SOA的技术核心在于从服务的角度重新定义组织的IT资源,将IT资源分解或打包成独立的模块零件,这些模块零件可以随意组合和拆解,从而构成支撑不同业务的软件服务。这种特性使其有可能成为下一代软件技术的基础性架构,然而在各大软件厂商没有把蛋糕分好之前,用户要享受到SOA的应用,仍需付上足够的耐心。