打造先进的SOA应用
Dancing-on-SOA
程朝晖,普元软件副总裁
在开始阅读本文之前,我想先建议你能给自己做一个调查,已明确自己阅读此文的初衷,并能帮助你更好地与此文互动。大家都知道,通常到周末的时候如果你有机会带小孩出去吃饭,为了激励一下他,你就会问他/她:‘想要去哪里吃饭?’。他/她的答案一般只有两个,麦当劳或者肯德基。所以在开始表述本文之前也想请你能问下自己,当下你是需要SOA而看此文,还是想要SOA而看此文?需求往往可以分为两类:一类是目前遇到了问题,在客观上需要解决,所以这类需求通常称之为‘需要(Need)’;而另一类则是目前也没有特别的问题,只是主观上期望更好,所以这类需求通常称之为‘想要(Want)’。那么目前的你,是客观上需要SOA来解决你当前的问题呢?还是主观上想要SOA为你带来更好更好?所以在小朋友们想要去麦当劳的时候,其实并不是要解决饥饿的问题,而是想要去麦当劳获得更快了的体验。所以经常我的女儿到了麦当劳之后,吃两口就跑到玩的地方去玩了。所以需要SOA往往也是很客观的,是有了当前的问题,需要用SOA来解决;而想要SOA则是现在好像也没有太多的问题,但是听说SOA很灵活、效率很高、体验很好,希望把现状变得更好。那么你现在已经知道你阅读此文的初衷了吗J
SOA从应用开始!因为我们绝大多数的IT建设都是通过一个个的应用项目来实现,我们很难平白无故地把未来的业务都先设想好,而是更多地通过一个个解决实际业务问题的项目来建设我们的业务应用。不过我们以前也是从应用开始建设,显然老的方法和技术带给我们的应用在灵活性、可集成性、用户体验和更高效率上的一些问题,这些问题使得我们对于客户要求的满足不够,并可能直接反映到我们自身的市场竞争力。因此我们就需要在建设应用前就有一套更好的方法、规范和模式来解决这些问题。其中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存在的必然性所在。
有句俗话叫:“现在的问题一定是现在的方法所造成的”,如今我们众多业务系统出现的信息孤岛、业务交付慢、灵活性差、定制化能力弱、管控能力不足、用户体验不良等现象都是与我们现在的技术和方法相关,也正是我们所采用的单系统架构所直接导致的。在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应用”的阶段。
回想2000年初的时候,在应用服务器上做应用是件非常困难的事情。大家回想一下,后来什么事情发生之后使得我们在应用服务器上做软件变得容易起来?才真的体现出应用服务器的价值。对,那是直到应用服务器上MVC应用模式成型,以SSH为代表的开源框架实现MVC应用模式时,才真正让应用服务器成为了主流。所以当前的SOA也遇到了同样的尴尬,大家为什么很难找到真正的SOA成功应用呢?为什么SOA的价值诉求还是更多停留在概念上,还停留在PPT上呢?答案很显然,正是缺乏SOA架构下的应用模式,所以SOA的价值很难显现出来。本文将介绍三种成功实施的典型SOA应用模式和一种即将到来的因公模式,从而帮助大家更好地应用SOA,获得SOA所诉求的价值。这四种应用模式是:即插即用的One应用、业务导向的客户定制、基于服务的业务交互和软件即服务(SaaS)。
即插即用的One应用,刚才提到的中国工商银行正在采纳这样的一种发展战略。我们当前的应用系统繁多、用户操作低效,每天要登录众多的系统,用户的体验差异。而每个系统都要学习操作,界面风格也都不一样。而现在的应用趋势则是走向以‘用户为中心’,用户并不希望去应付风格迥异几十个系统,而是能在同一个业务工作台上操作业务、审批代办。所以我们企业就需要建立一种‘One应用’的模式。企业里面整个部门是一个应用,整个管理是一个应用,整个业务是一个应用,甚至整个企业是一个应用。给到用户更加良好的体验和高效的操作。那如何去建立这样的‘One应用’呢?这就需要在我们的组织级建立统一的面向服务模型(Model),统一的集中工作台(View)给到用户一致的应用访问,统一的集中任务中心(Control)负责获取任务、调度任务、管理任务。与我们以往单系统的MVC有很大的不同,这是支持多业务的One应用模式。这样应用的好处是可以即插即用、迭代演进。例如OA应用中把会议室管理模块做好了插进去,用户再登录时就可以使用了。这种SOA的应用模式通过模块化、松耦合、可组装、可配置给我们带来了更好的用户体验和更为灵活高效的应用建设方式。
业务导向的客户定制,这是第二种SOA的应用模式。大家都知道,软件很难适应变化,一旦要改就要从需求开始,设计、开发、上线、部署等等,冗长的过程。因此我们希望我们的软件对于同样一个版本,对于不同的客户可以更加灵活的定制和个性化。我们会发现,在我们的应用系统中流程、规则、表单都会经常变,而调整的周期又太长。业务导向的客户定制,使得你在做业务设计的时候,流程设计的时候,你的业务人员跟IT人员就是在一起,大家有共同的语言、共同的理解。并且可以通过这样一种定制的手段、方法、工具来帮助我们实现客户化的工作,并可实现基于底层的服务快速编排。我们的某一个省的应用系统可能需要部署到不同地市。同类业务在不同的地市就会有不同的流程,类似电信业的‘服务开通’业务,在不同的地市就有不同的开通流程,我们就需要为不同地市的客户快速地定制,即时上线,从而达到软件的快速响应业务需求和持续优化。
基于服务的业务交付,这是第三种SOA的应用模式。目前的电信和银行业务都越来越走向融合的道路。电信更多需要把自身的各种能力(短信、彩信)互通和融合,也要把互联网上的SP/CP的服务互通和融合,并自身不断快速交付和支持SP/CP不断快速交付新的服务。当我在淘宝上购买Nikon D90,到下完单后支付时,就会用到银行提供的支付服务。很难想象在我要付钱时,一下子弹出个招商银行对私系统,我将无所适从。其实在淘宝上购物时,我最后需要的是银行提供的支付服务。可以看到我们企业的业务都在走向基于服务的交付模式,而不再仅仅是一种完整应用系统的交付方式。在这样的一种需求背景下,我们需要有相应的服务构造环境(SCE)和服务的运行环境(SEE)来实现这样的一种SOA应用模式。这种模式实现了企业的快速整合资源,这个资源可以来自于企业内部,也可能来自于企业的合作伙伴和上游供应商等。企业的差异化竞争优势就体现在是否能够快速地整合外围资源,应用于其核心业务,并通过核心业务来满足客户的偏好。我们看到这样一个SCE和SEE的环境,把我们企业里面已有的资源进行重新的组合,也可以把外界的资源进行组合和快速编制,形成一个增值的新业务服务。在这方面电信的SDP(Service Delivery Platform)这样一个应用领域已经走在了SOA应用的前面。相信其他的行业也会快速跟上。
软件即服务,这是第四种SOA的应用模式。随着应用的越来越广泛,我们希望企业的计算资源和应用资源,都能够更好地被集约化使用。在《福布斯》2月份的报导中提到过,企业计算环境正在进行下一场的技术大战,这场战争是什么呢?就是我们谁有能力在SOA的体系架构下,能够让客户更好的去定制个性化,实现软件即服务的模式和利用云计算的能力,谁就将在企业计算平台领域胜出。当然现在很多企业还没有走到这一步,我们需要去把握关注这样技术发展的潮流。
如上的SOA应用模式实则对于企业的计算架构提出了新的要求。当我们指望应用能够即插即用和迭代演进,当我们指望应用能够基于服务可交付和可消费,当我们指望应用能够灵活定制,当我们指望应用能够有更好的用户体验。这些对于应用的期望和需求就自然产生了对于企业计算架构的要求,这也正是Gartner在分析报告中指出的SOA所要承接的五个技术特征:模块化、松耦合、可共享和复用、分布式部署和Document风格的接口。这些先进的SOA技术架构和SOA应用模式都可以通过普元软件最新发布的两款平台EOS 6.0和BPS 6.0来帮助实现。
我们可以看得到,SOA已不再那么复杂,已不再那么遥远。2007年的1月苹果公司发布了他们第一款iPhone的时候,真正把手机用户的体验和效率推向了一个新的里程碑。同样我们可以看到,SOA通过三种先进的应用模式‘即插即用的One应用’、‘业务导向的客户定制’和‘基于服务的业务交付’,把企业应用的体验、效率、灵活性和可靠性推向了一个新的里程碑。我们期待将会看到更多‘One工商银行’的出现,我们会看到更多符合客户需要的定制应用的出现,我们会看到更多企业能够更易整合资源快速交付业务服务,我们会看到更多企业能够用好SOA,融入到社会计算的浪潮中。
分享到:
相关推荐
本书是继《SOA·方法·实践》之后,IBM SOA技术专家精心打造的又一SOA技术力作,是SOA专注应用之作。 作者从SOA技术一线的经验出发,深入剖析SOA核心技术铁三角——SCA、SDO和BPEL的理念。之后沿此三个主要技术方向...
### 基于SOA架构打造敏捷企业的实践 #### 一、面向服务式计算与SOA架构概述 面向服务架构(Service-Oriented Architecture,简称SOA)是一种分布式计算模式,它强调通过网络将软件功能封装成独立的服务,这些服务...
U9 SOA战略的核心目标是打造一个随需应用的IT架构,全面支持产业链的规模化定制和扩展。这一战略不仅反映了用友公司对未来企业信息化发展的深刻洞察,也体现了其致力于帮助企业提升竞争力的承诺。 #### 1.1 什么是...
因此,打造基于SOA架构的电信行业CRM系统,要求开发者全面理解SOA的含义,即SOA不仅是一种技术,更是一种设计模式和设计方法。它涉及的服务是可互操作的、独立的、模块化的、位置明确的、松耦合的,并且可以通过网络...
- **规模化定制**:U9SOA的目标是打造软件工厂模式,实现软件产品的规模化定制开发。 - **敏捷**:采用敏捷开发方法,提高应对变化的能力。 - **分层与迭代**:开发过程被划分为多个层次,并在每个层次上进行多次...
**SOA引领中国软件产业新发展** SOA,即面向服务的架构,自1996年由Gartner...中国软件产业应抓住这一机遇,充分利用人力资源优势,积极参与国际标准制定,打造健康、可持续的SOA生态系统,以实现产业的繁荣与升级。
中创软件商用中间件股份有限公司(以下简称中创软件中间件)推出的“中创软件银行信贷管理SOA解决方案”,充分融合了SOA思想,基于自主创新的中间件技术,并依托长期的金融应用开发背景,针对银行敏捷企业信贷管理...
**成功规划SOA:打造你的SOA蓝图** SOA蓝图定义了服务架构的总体框架,包括服务的分类、接口定义、服务之间的关系以及治理策略。创建蓝图有助于保持一致性,避免后期的混乱和冲突。 **长期SOA规划** 长期规划涉及...
通过SOA,中国有望发挥其人力成本优势,将软件产业从创意驱动转向制造驱动,打造出有竞争力的SOA产业链。 总的来说,SOA引领了中国软件产业的新发展,它带来的不仅是技术上的革新,更是商业模式和产业结构的深刻...
#### SOA技术解析与应用 服务导向架构(Service-Oriented Architecture,简称SOA)是一种设计思想,旨在通过将应用程序的不同功能单元(称为服务)通过服务定义接口暴露出来,并以统一的方式进行交互,从而实现系统...
SOA软件平台的开发和应用不仅是实现软件定义汽车的基础,更是未来汽车数字化变革的基石。以下是详细的知识点: 1. SOA软件平台的定义与功能: SOA是一种软件架构理念,它将整车的智能控制算法、感知设备和执行设备...
汽车行业的服务导向架构(SOA)正在逐渐成为推动技术创新的关键因素,特别是在电动汽车领域。随着欧洲汽车产业寻求...因此,对SOA的理解和应用不仅是技术层面的升级,更是整个汽车行业向软件定义汽车转型的战略选择。
总结来说,数字化企业应用系统建设涉及多方面的技术和策略,如IT规划确保业务与技术的协同,业务级SOA推动应用和数据融合,物联网和移动计算增强数据收集和通信能力,而云计算提供灵活的资源支持。这些元素共同构建...
Web 2.0的关键特征包括:社交网络、博客、维基、RSS订阅、富互联网应用程序(RIA)等。这些技术让互联网从单向的信息传递转变为双向的交流平台,推动了用户生成内容(UGC)和社区建设的繁荣。Web 2.0不仅改变了人们...
在Oracle成功收购BEA后,其在中间件和SOA(Service-Oriented ...通过这些战略调整,Oracle旨在打造一个更加统一、强大的中间件和SOA产品组合,以满足企业日益复杂的信息技术需求,巩固其在市场中的领导地位。
详细地论述SOA及企业服务总线的基本概念、工作原理,借助IBM消息中间件MQ和总线产品MB为商业银行分析设计出面向服务架构的企业服务总线,打造一个随需而变的银行SOA企业应用平台,以应对不断变化的市场环境和用户...
总体来说,电子政务内网应用软件支撑平台的建设旨在打造一个标准统一、功能全面、技术先进的政务协同工作环境,提高政务信息化水平,实现政务资源的数字化、内部办公的协同化和信息交流的网络化,同时加强安全保障,...