其次所谓企业服务总线是在企业集成过程当中,在分布的系统当中各种各样的系统怎么样相互交互的一种最佳实践的架构模式,为什么这么讲呢?我想过去我们分布式系统情况之下我们有各种各样的搞法,在企业观察当中我们发现虽然中间件炒得很多,事实上发现以我的统计数据发现,绝大部分的企业进行系统之间整合的时候用得最多的是FTP。所以各种各样的做法实质上在企业当中都存在一些问题,由点对点的方式逐渐移到HUB的方式,无论在物力上都在单一的控制,这种控制在面对一个分布的系统需要自制,在自制的系统上相互协调上产生根本性的冲突,所以我们实质上希望每一个物理系统部署运营的地方应该具备一定原来HUB提供的服务,从而结构物理和HUB的观念,作为一个架构模式,我希望在大家互联互通这个事情上,每一个物理的部署点都具备联通性的能力,并且这种联通性是规范化的,是大家都可以了解和认同的,而且这种东西不仅仅发生在联通性这件事上,而且还要实现一些消息本身传递转换,还有ATI,协议等等不同东西的转换能力。每一个交互的实体寻址,并且在这种概念之下我们要提供基于业务的语译本身进行寻址的能力,这种事情会使服务的提供者和请求者之间的关系是一个动态的关系,是一个在适时对业务流程运行过程当中动态的关系,到今天为止,以我的实践我们看到,这种真正的动态在业务当中的需求不是那么强,事实上你要去看其他的一些类似BPEL的组装和流程的技术到目前为止大多是做静态的绑定。
符合应用刚刚提到过了,它是一个很好的基础,而且很好的解耦,SOA通过单一的实力避免到CTO经常看到的功能与数据的冗余,我们可以看到大量的数据冗余,这对IT是情有可原的,业务人员总是说,我有一个业务的需求,麻烦你赶紧做了,他的期望值是第二天可以做好,这样IT人员压力很大,他只能从别的地方拷贝过来改一改然后安装做好。所以我这在企业里面非常的普遍,在SOA的做法里面,我们都表现一个可重用的业务资源,整个企业架构范围内都是单一实现的实例,你需要用的时候可以调用这些来服务用,这样可以提高我们的生产效率,不过要做到这一点不容易,这里面有相当多的政治问题,也存在企业要做到这个事情需要做什么,需要做IT监管和SOA监管,就是大家要制定一个游戏规则,不仅仅是发生在SOA今天要强调业务驱动,所以业务人员需要和IT一起来看业务的模型本身长什么样子。过去就是这些用例给你,今天这么搞业务人员是没有办法交差的,我们向SOA的方式转型我们需要业务人员说OK,我给你一个模型,是由这些小小的Service来组成的,这件事情不是IT人员做的,是我们需要和业务人员一起搞的。
从这样一个角度来说,我想我们这样东西的实现牵扯到业务人员和IT人员之间的互动,这样以免IT人员的冤案,业务人员自己的业务模式没有想清楚,IT工具再好也帮不了什么再大的忙。要做的事情我们还是需要整个IT的组织进行一点点的转型,我们今天的CIO面临这种麻烦一个原因是因为过去是以部门为导向进行决策的,进行系统规划的,进行系统建设和维护的,今天突然我们要谈论我需要端到端跨业务部门的流程整合。我们讲整个一个状况需要改变,需要我们整个IT部门,要由过去部门为导向的转向着眼整个企业范围进行规划建立各种各样的标准,包括企业架构的标准(数据问题、安全问题、整合架构问题、管理问题,以及整体各种各样的问题),以及这些要求如何实现,包括我们开发的过程要用什么样的方法,我们选择产品有什么样的标准和原则,我们选择技术方法论是哪些,为什么要这么搞等等。我想所有的这些事情其实都是现在要搞的。
刚才仲老师讲得很清楚了,通过提供这些东西我们可以为业务的变化提供一个非常好的适应能力,从而使得业务变化有一个很快的变化基础。从IT的角度来讲,SOA最主要的是提供了一个非常好的以服务为中心的整合能力,我在IBM也写了一篇文章,就是以服务为中心的企业整合,这里面谈得比较清楚,我们谈一下后面,站在一个实践者的角度SOA的解决方案当中有什么样的技术?
第一个我们开始要逐渐的摸索、探索和实践所谓的以服务为中心的分析与设计方法,这种方法有两条,把商务领域转化成为所需要实现的服务和这些服务的融合,并且这种组装是具有业务模型变化能力。我想其中所使用的一些其他方法都是传统的方法。对各种各样的业务变化以及流程变化等等一些变化不会产生自身的变化的技术。
通过这样一种在业务上的做的分解,并不是我们找到了Service,找到了我们实现的Service,我们将IT和商务结合在一起。它在业务层面做完以后第二个关键点是充分的利用过去的使用案例和方法去处理对象层次以下,而且在IBM的做法里面非常强调模型,我们我的业务模型可以采用模型转换,由业务层次逐渐往组件,对象转变,技术层次和业务层次都很好的利用。
再其次我们通过方法论在概念上,让我们的问题分解成了几部分,如果我们的计算环境还是支持对象的组件我们就很难搞,现在我们的技术开始升级,并且在这个上面提供了相应的编程模型。我们将信息服务转化为基础服务,它有一个通用描述的方法,但是SOA的绑定是可以是加上接口的调用。
在IBM的想法里面,我们如何德国Service开始也就是建模,到我们如何组装起来,到业务过程、到部署,到业务管理上去找到Service进一步修改我们的业务模型,从而使得我们的IT非常支持业务模型,让这个业务模型持续的变化而且去优化,这种优化意味着业务的创新,从而使得IT从业务需求从被动转化到一个可以主动的帮助业务创造价值,帮助业务创造和优化的境界。
在我的想法里面Web到了今天为止依然像英特尔发明四位或者是八位的芯片,我们的DOS还没有普及的应用,只有一些小的应用,今天事实上我们可以看一下在互联网里面我们只是实现了非常简单的信息发布,这是第一代的Web应用,以门户为主。紧接着我们提供了一日三餐必须用的能力,就是搜索能力。事实上搜索已经取代了第一代的Web门户,从而成为一个新的门户,至少我上网不会找哪个网站了,我想知道什么事就到GOOLE里面搜一下。
事实上今天随着互联网用户的越来越多,互联网本身的草根性也非常的民主,也得到了充分的体现这就是今天谈论的社会化的软件,我认为这种社会性的加入其实并没有改变今天互联网处在低阶发展阶段,技术也是这样,我们从过去非常简单的一些HTMLL,我们有了今天的RSS,来进行网站之间机器和机器谈论的方式进行,以网站之间搜索的方式进行交互,进行功能的交换,我们也有一些EBAY提供WebService。所以Web的一些公司具有一个极其大的发展空间,就像DOS逐渐的出现,我想接下来整个互联网将会从仅仅提供信息到提供越来越多开放的方式大家相互贡献数据、应用,从而使得用户以互联网作为一个媒体形成一个在一系列的网站S和这一系列的网站相互所代表的信息、服务的聚合,通过聚合的过程产生完整的商业价值和让我们的互联网最终用户获得一个良好端到端的用户体验,向这样一个状态进发,其中数据性大家以松散的方式相互的协作产生的内容提供服务,相互协作的特性将会越来越强。
在我的想法里面,Web2.0和SOA有非常多的不同也有很多的相同,从不同的角度来讲,至少站在我的理解上面,SOA专著企业内部的部分,Web2.0是专著企业外部的东西,SOA专注于B2B的应用,Web2.0更多专著的B2C的东西。SOA是面向企业应用的,强调严密的技术体系,严密安全体系,还有严密的可管理体系等等。Web2.0很轻度。Web2.0发展很快,Web2.0服务简单,以及去支撑这样一个大量数据在Web运营上怎么样使得它持续可靠的运行。但是我想说的是一旦这个背后二者的驱动力是一样的,都是来自互联网等各种各样技术的发展(XML),我想伴随Web2.0从简单的应用到高度以来数据,逐渐转移到我的功能越来越丰富,我提供的商务价值越来越丰富的层面上,Web2.0也将不得不在安全性、可靠以及在动态的价值网络上面进行数据应用和各个网站提供的功能聚合事情上不得不迈出新的一步。而这新的一步必将牵扯到安全事故等等方面体系。
SOA伴随高度控制体系,我相信它也会向Web2.0学习一些东西,从而使得未来在某一个点上Web本身提供了足够丰富强大的能力,这样一个服务网络相互融合,我就讲到这里。
<<上一页
1
2