SOA从应用开始!因为我们绝大多数的IT建设都是通过一个个的应用项目来实现,我们很难平白无故地把未来的业务都先设想好,而是更多地通过一个个解决实际业务问题的项目来建设我们的业务应用。不过我们以前也是从应用开始建设,显然老的方法和技术带给我们的应用在灵活性、可集成性、用户体验和更高效率上的一些问题,这些问题使得我们对于客户要求的满足不够,并可能直接反映到我们自身的市场竞争力。因此我们就需要在建设应用前就有一套更好的方法、规范和模式来解决这些问题。其中SOA的应用模式是落地SOA,获得SOA利益的关键所在。
商业的变化与SOA
先给大家看一下,我们所处的背景环境正在发生着哪些变化,这个趋势非常的重要。万事不能自己闷头就说SOA是好的,而要看看我们的业界客户,我们自己,我们的竞争对手他们在发生哪些变化。首先,我们正处在一个转向以客户为中心的时代。最近在新浪上发表了一篇文章,一个分析机构分析了我们中国信息化的500强,其中排名第一的是中国工商银行(ICBC),中国工商银行正在规划建设它的第四代IT系统,它又为什么要做第四代的IT系统建设呢?其实,现在的商业银行产品成千上万,工商银行将通过这个第四代系统在世界范围内第一个摆脱一人千面的困扰。它会在全国乃至全球的中国工商银行,要在业务处理层面实现同一个ICBC,就是One ICBC。这是我们客户发生的一些战略性的转变,我们也同时可以看到一些领先的银行正在规划其新一代的技术架构(2.0)。去年电信业也完成了重组,现在每家电信运营商都提供全业务的电信服务,所以他们也在规划和建设自己的新一代应用系统(NG-*)。同样我们的电子政务也在往这个方面发展,政府在促进更好的一个窗口、一个中心去服务于我们的企业和市民。为了更好地转向客户为中心的时代,就要求我们的业务能够围绕客户的需求,快速整合资源并体现企业自身的差异化优势。在IT的圈子里大家都会阅读Geoffrey A.Moore写的《跨越鸿沟》等系列书籍,作为企业发展过程中的重要参谋。最近他又出了一本书叫做《公司进化论》的书。该书提到的最重要的一个观点就是:“业务的核心就是创造差异,满足客户需求的偏好”。我们要去实现这一点的时候就会发现,要完整地满足一个客户的需求就要做很多很多的事,但同时外界的资源已经非常的丰富,银行的资源也能用,电信的资源也能耗,互联网上还有更多的资源,这个时候我们的策略就是快速低成本地整合外围资源,围绕着客户的偏好和自己的差异化竞争力上面。因此我们对于所依靠的基础就有了新的要求,'服务'、'SOA'的产生就是为了提供这样策略实现的基础。当然为了更好地理解'服务'和'SOA'的使命,我们自然会问:'服务从哪里来?''服务又要到哪里去?'。答案很简单,服务一定来自于你的业务应用,并一定会回到你的业务应用中去。归纳下来,服务会来自四个方面:第一方面是你还没有该业务功能,那就需要构造新的业务服务;第二方面是在你的已有应用系统中这个业务功能已经存在,分装成标准的业务服务就行了;第三方面就是有了如上的两种服务,把它们用服务组装(Assembly)的方式构造出更粗粒度的新业务服务;第四方面就是通过流程编排(Ochestration)已有的服务来实现新的业务服务。服务从这四个方面而来,同样服务也必然回到应用当中去使用。中国工商银行和电信公司要建新一代(2.0)的技术体系,一定是在向以客户为中心的转变过程中,需要能够更好地整合资源,实现能力的融合,并快速推出符合客户偏好的差异化业务,而这恰恰正是SOA存在的必然性所在。
SOA从应用开始是必然
有句俗话叫:“现在的问题一定是现在的方法所造成的”,如今我们众多业务系统出现的信息孤岛、业务交付慢、灵活性差、定制化能力弱、管控能力不足、用户体验不良等现象都是与我们现在的技术和方法相关,也正是我们所采用的单系统架构所直接导致的。在Gartner对于系统架构演进的分析报告当中提到,单系统的体系架构正在走向终点,而面向开放和网络环境下的SOA体系架构正在成为主流。那么SOA到底是什么?我们可以看到最早的时候,我们理解的SOA就是Web Services。几年前大家都说支持SOA了,其实大家说的是支持Web Services了,解决了业务之间的互通问题。又过了一段时间,就是过去2-3年,大家都在讲我买了ESB、Repository,所以我也SOA了。可是经过这两个SOA的阶段之后,好像我们用SOA的效果并不是那么好。因此随着技术和应用的发展,我们对于SOA的理解会更加的本质,才会看清SOA存在的意义是什么?SOA是从哪里来的?SOA又要到哪里去?
在上述的图中我们可以看到,SOA的本质一定在应用中,它需要从左侧的应用中来,也必定要回到左侧的应用中去体现价值。接着当我们的SOA服务日积月累达到几百个、几千个,我们的服务更多来自于已有服务的组装和编制时,甚至于我们的服务更多来自于合作伙伴、银行服务、电信服务、互联网服务的时候就需要把这些服务能很好的管起来,这个时候对于SOA的基础设施就显得尤为重要了。这样一个体系我们首先要把SOA应用建立起来,这是实际解决我们现在业务问题的应用,在建立这样应用的时候,我们需要有相应的应用模式、应用平台、定制环境,把我们的服务不断的构造、组合和编排出来。当然建设SOA的应用自然要遵循业界公认的标准化体系和一套方法规范。在05年筹备,06年7月份正式成立,并且在07年3月份发布第一个SOA国际标准的OSOA组织,担当了这套SOA标准体系建设的任务。这个组织是由17家全球领先的基础软件厂商共同推进成立,普元也成为了亚洲唯一核心成员。对于SOA的理解和应用也是一个不断深入的过程,我们将从理解和应用SOA就是ESB、Repository的阶段进入到SOA更为实质的阶段,即“打造SOA应用”的阶段。
SOA的典型应用模式
回想2000年初的时候,在应用服务器上做应用是件非常困难的事情。大家回想一下,后来什么事情发生之后使得我们在应用服务器上做软件变得容易起来?才真的体现出应用服务器的价值。对,那是直到应用服务器上MVC应用模式成型,以SSH为代表的开源框架实现MVC应用模式时,才真正让应用服务器成为了主流。所以当前的SOA也遇到了同样的尴尬,大家为什么很难找到真正的SOA成功应用呢?为什么SOA的价值诉求还是更多停留在概念上,还停留在PPT上呢?答案很显然,正是缺乏SOA架构下的应用模式,所以SOA的价值很难显现出来。
本文将介绍三种成功实施的典型SOA应用模式和一种即将到来的应用模式,从而帮助大家更好地应用SOA,获得SOA所诉求的价值。这四种应用模式是:即插即用的One应用、业务导向的客户定制、基于服务的业务交付,以及未来的软件即服务(SaaS)。