很久以来,SOA一直作为业界的热点话题斥着各大主流媒体和相关技术网站。人们对SOA的看法更是褒贬不一。但由于SOA架构的实现有相当技术难度,以及目前也没有完全成型和统一的世界性标准,在全球范围和国内鲜有成功的先例,特别是大型管理软件,因此用友U9到底是不是真正实现了SOA?是如何实现的?完全支持又体现在什么地方?
对此,在2009年8月19日与网友的沟通中,用友副总裁、CTO兼U9产品本部总经理黄涛详细介绍道:“我们把SOA架构看成非结构性到结构性,从OO到SOA软件设计架构的演进。对于SOA我们从两方面来做,第一个事情就是符合SOA架构的分析和设计技术,例如OO技术、领域工程技术等。我们04年下半年到06年下半年,一直在做业务模型,再基于业务模型做服务组件切割和设计。”
此外,黄涛指出,用友U9除了采用一些微软的像WCF、WF这样的底层技术,还在上面还做了很多的内容:“例如我们做了我们的服务引擎,实现我们的ESB,我们特别做了U9的一个技术和开发平台UAP,在这个开发平台上支持服务的建模、流程的建模、支持源数据的描述、支持全生命周期过程的开发、基于模型驱动(MDD)的开发模式等,并自动产生相应服务的代码,产生相关的表达逻辑,解决我们公共的性能问题、安全性问题等等。在开发平台基础上,我们做了一个运行平台,做了一个完整的运营、部署、治理平台,实现计算资源的监控、服务质量的监控等等。”
同时,黄涛特别强调指出:用友的SOA最重要之处,不是实现简单的SOA的调用,也不是WEB服务某个技术规范的实现问题。最重要的问题是U9的业务建模,即把所有的应用变成服务。因为基于SOA设计的软件和基于传统的过程化设计的软件,可能实现功能差不多,但体系结构是不一样的,前者由服务模型实现。SOA则实现了业务服务概念到IT服务的完美转变和结合。U9里面每一个服务都是和业务服务对应的,这就实现了IT对业务敏捷性的支持,这才是SOA强调的本意,更是用友U9的SOA和其他SOA之间的差异。
对于使用了微软的底层技术,黄涛并不否认,他表示,目前如果把一个服务发布成WEB服务,还需要应用软件开发厂商来具体实现WebService某个技术标准的1.2、1.5版本的具体细节,那就说明目前SOA技术还不成熟,还不到发布SOA架构的U9的时机。应该由底层平台厂商来实现这些基础的WS技术标准的相关细节。
同时SOA的目的不只是解决一个系统的调用方式,而是解决业务敏捷的问题,让IT更好的支持业务的变化。它的前提条件是运作服务化,然后把组织能力通过接口的服务体现,通过服务的组合编排来实现灵活的业务过程。架构是一个基础性的东西,而十几年前开发的软件也支持SOA架构,但那并不是SOA架构,而只是调用方式。
针对网友“作为U9设计服务,有什么样的流程,能够实现什么样的监控?”的问题,黄涛详细的介绍了U9服务建模的实现过程:首先是U9平台里面服务的建模,即在U9开发平台里面定义相关服务的接口、服务安全性的要求、服务发布的约束和配置;其次,用模板和代码来实现服务的逻辑,这时可以将其发布到运行环境里面去,然后进行调试和部署。并在后台对这个部署进行监控,这时可以把这个服务发布到某个工厂,也可以发布到销售公司,实现服务的透明分布,实现分布式的SOA。此外对服务的运营,也可以进行监控。服务的资源部署用了服务器资源可以进行监控和管理,这个过程中,每一步都有相应的平台工具和规范来约束和支持。 |