毛新生:我以前在大企业里面但是不搞网站的事情,我一直认为SOA和Web2.0是同样的技术发展脉络所驱动的,就是互联网所驱动发展的,是靠简单的协议,靠相互协作自制的个体协作形成的,是靠协议完成的。
第二个我觉得Web2.0和SOA相同的是复杂性系统,实际上我们发现SOA之所以提出来是因为我们在部门一级做企业级的应用已经很好了,都做得很好,可是一旦拉到整个企业满为内,甚至说往前超前一点,这个企业生存在网络里面,大家的IT企业搞来搞去这以为着一个动态的,越来越复杂的,越来越不确定的IT生态系统协作,如何从一个原来只是着眼于单一部门级的应用系统,一个相对封闭的系统,逐渐的走向开放,要协作,要动态,要确定的生态系统里面去看起来要发生变化,所以企业级预算也好,Web1.0、Web2.0也好,都是从控制转变为独立的自制的协议去协作,而且看似无序又是向一个有序的生态系统发展,借助于互联网的契机发生一个很大的变成从静态转向动态从封闭转向开放,这么一个系统怎么构造,契约靠开放而简单的协议相互去互联互通,然后相互之间要协作,这种协作看似无序又给用户提供丰富的用户体验,并且在过程当中产生价值,这是SOA企业范围内要解决的问题,
谈完这个背景之后,我们看SOA的架构对于一个Web2.0网站意味着什么?首先我们要看这个网站本身是什么样的规模,如果这个Web网站规模相当小,或者说用户量很大,但是它本身集中的能力很弱,事实上这就是1.0和2.0的特色。这样一个简单的应用本身从逻辑的建模,到逻辑的成分组织在一起进一步根据你具体的实施运作环境,其实问题并不是很大,我看到绝大多数Web2.0的应用是面条式的的做法,但是不要忘了,所有的Web2.0网站中间要生存开放和协作的网络生态系统当中,所以你逐渐使得别人记住你的技术支持,你也可以提供网站本身固有的功能供别人调用,也可以和别用互动,很多的互联网世界里面的网站正在启动RSS,正在启动Service的方式,这是我在看Web2.0网站与普通的网站的区别,相当高的网站如果你做我会跟你探讨。我想另外一点很重要的是所有Web2.0的网站虽然本身的应用逻辑是如此简单,但是有一点是所有的企业计算都有一些头疼的,就是大规模的用户访问量,如果是GOOGLE他们的访问量很大,这对Web2.0网站构成一个极大的压力,就是你如何在全球的范围内进行以Web2.0网站应用逻辑的分布布局,包括数据,使得用户访问它的时候交互性感受比较好。另外由于Web2.0是一种线上系统,它不是软件。在这种情况之下,所谓的Web2.0网站在运营这个事情,怎么保证你的高价值,高可用性,我觉得这是一个相当大的问题,这作SOA设计当中这是并不涉及的。