SOA技术介绍及其应用
- 格式:docx
- 大小:132.76 KB
- 文档页数:10
SOA 技术与应用
时间:2007年3月12日来源:赵迪 IBM资深架构师
近期,越来越多的IT人士提及SOA,那么,SOA到底是什么呢?一个概念?一种产品?一套方法论?一种新的技术?
全球著名的第三方评测机构GARTNER GROUP曾说:“系统采用SOA,变革将更加灵活〞。SOA三个字母是英文Service Oriented Architecture 的首字母简称,翻译成中文,即为“以效劳为核心的架构体系〞或译为“面向效劳的架构体系〞。在SOA中,这个“S〞即效劳,是整个SOA的关键所在。那么,我们便从最根底处为SOA作出明确的定义:
效劳。广义上讲,效劳的涵义相当宽泛,我们在生活中碰到的任何非自己一方可完成的事件,都可称之为效劳。比方,在报亭买份报纸,这个是报商对读报者的效劳;在银行新开一个帐户,便是银行对开户者的效劳。在SOA中,我们对效劳有一定的限制,那就是“一项可重复的业务动作〞;我们将这个可重复的局部封装成IT架构中的一个效劳单元;所以,SOA便可定义为:“一种支持将业务动作整合为效劳工作流的IT架构〞。读者们此时便可清晰的理解,SOA是一个纯粹意义上的IT架构,是一种具有技术可实现性的IT方式;而效劳是和业务紧密相关的,具有可重复操作性,但不仅局限于IT的可供组合的单元。
正是由于SOA在概念上的对IT及业务的兼顾性,使得SOA从出生的第一天,就不仅是一个IT工具,而与生俱来的具有了对业务的灵活性和适应性。在图1中,我们展现出一个SOA架构的根本技术组成局部。
在SOA的根底架构中,最核心的局部是企业效劳总线〔Enterprise Service
Bus〕。它是SOA架构之所以灵活善用的灵魂所在,它就像一条信息高速公路,将整个系统中的各种信息穿接在一起,并采用多点直连各效劳单元〔也可为各细分应用或应用系统〕,将信息在整个系统内高速的传递。我们把SOA架构上需要连接进入企业总线进行信息交换的“效劳〞概括为7大类:门户效劳,SOAP请求效劳,B2B互动效劳,流程效劳,数据效劳,现有应用效劳以及新的效劳逻辑。对每大类的具体定义相信各位同行均有共识,在此就不再赘述了。
那么,在理解了SOA的根底架构后,相信各位同仁就很容易理解SOA架构给IT系统带来了哪些变革性的好处。SOA系统将所有的应用模块或功能设计成一个个功能组件(Components )或效劳(Service),效劳模块之间和功能组件之间采用松耦合和更加容易定义的方式进行集成,从而改善了应用的柔性化和可重用性。见图二所示:
图 2
在开发方面,SOA也会有变繁为简,节约时间,提高劳动生产率的奇效。首先,在行业的主流SOA平台上做开发,对开发商的开发方式就做出了标准,均应使用国际标准的语言,国际标准协议以及被广泛认可的接口命令作为开发根底,这种方式本身就可有效的躲避一些中小开发商在程序编写或者一些逻辑模型建立上的不标准性。其次,在可重用性比拟高的或者变更概率比拟大的IT环境中,SOA又具有快速更改,快速部署,快速产生效益的功用。下面我们看一个典型的运用SOA提高生产效率的例子:
中远集运〔COSCON〕是我国的一家大型物流集团,以远洋集装箱货轮运输为主业。中远集运拥有一支强大的IT开发队伍,以适应对不同国家海关的通关程序的开发需求。在国际海运中,货物进入对方国家海关都要经过或繁或简的手续,此手续即为通关手续,中远集运为每一种海关的通关系统制作自己系统的离岸子系统,而在使用SOA之前,各套离岸子系统由于先前没有良好的前瞻性规划,拓扑关系错综复杂,每次修改都有“牵一发而动全身〞的风险,这样就造成两个严重后果:
第一,当货物进口国海关通关系统业务规那么发生变化时,中远集运对某个离岸子系统的修改就需要花费数以月计的时间,如果对方的业务规那么是突然性的变化,那么有可能使中远集运的货轮在目的地国海关港外等候十几天或者几十天的时间,严重影响货运班次安排以及交货时间,造成的损失难以估量; 第二,由于各子系统之间关系太过复杂,往往一个微观的局部修改,就会对全局产生重大影响,并且错误难以查判。在使用SOA之后,整体系统的拓扑结构大大简化,并且对每次由于业务规那么改变而进行的IT修改可以迅速完成,快速部署而且从原理上不会影响其他子系统的正常运行。这给中远集运带来的收益是无价的。使用SOA之后,通常的一个通关子系统修改由过去的一个月左右的时间缩短为3至5天,这不仅是IT的变革,更是业务的变革;这种变革不仅仅是一个IT架构的提升,更是对核心竞争力以及赢利能力的提升。这也恰如其分的表达出在SOA中,业务和IT的相互联系和相互作用的内在基因。
我们再举一个发生在政府管理方面的典型SOA应用:北京朝阳区城市网格管理。
北京朝阳区是北京城八区中最大的一个区,也是北京市人口最多、总面积最大、同时也是经济总量最大的城区;朝阳区开展迅速、商机聚集涉外资源雄厚。这里既有CBD商区、外交使馆区、还有正在兴建的望京新兴产业区和CBD电子城,同时作为奥运会主场馆所在地,朝阳区成为中国国际交流的窗口,享有“中国第一区〞的美誉。
面对面积大、人群复杂且不断开展的城区环境,如何利用信息化的手段解决城市管理中的诸多问题?是摆在朝阳区信息化工作办公室面前的一道严峻命题。从切身需求出发,朝阳区希望,通过一个平台整合多项数字城市技术,建立完整的城市事件处理流程,并通过先进的无线设备实时采集和传输信息,最终建立精确、敏捷、高效、可视化、全方位覆盖的城市管理体系,实现一个动态的城市管理系统。因此,他们决定使用创新的SOA应用框架构建城市网格化管理平台。
下列图〔图三〕为整体架构设计图:
整个系统包括软件系统、硬件系统、信息平安及效劳系统、管理咨询效劳四大局部内容,分为接入层、应用层、效劳层、数据层和硬件层五个层次。
其通过IBM SOA工作流平台实现了城市网格化管理的端到端工作流程。城市网格化管理的工作流程主要包括七个环节,即信息采集、案卷建立、任务派遣、任务处理、处理反响、核查结案和综合考评。具体程序是:每个社区由1名监督员负责,根据城市管理工作手册,对分管区域实行不间断巡视,当发现问题后立即用“无线通〞系统发送图文声信息向监督中心报告情况;同时监督中心也可以通过朝阳热线系统获得来自社会公众和媒体的信息;监督中心得到这些信息后,进行甄别、立案,并将相关案卷批转到指挥中心;指挥中心根据问题归属,立即派遣相关的专业部门与公共效劳企业到现场进行处理,如果市属部件发生问题,交由市级部门进行处理;专业人员处理完毕后,专业部门要向指挥中心报告处理结果;指挥中心将结果反响给监督中心;监督中心即派监督员进行现场核查,并收取核查结果,通过对两方面信息核实一致后进行结案,至此一个完整的工作流程结束,在处理过程中,监督员可以通过“无线通〞系统随时获知事件处理进展,公众也可以通过朝阳热线了解事件处理情况。整个处理过程将作为评价系统的重要根底数据。其中通过使用WebSphere Process Server核心工作流运行和管理平台,实现43种事件的处理流程;DB2 Content Manager内容管理平台,实现对70个部件信息的存储和管理。其中方案的技术优势在于:
通过Web Services接口实现了与呼叫中心、无线通系统的连接;
建立了一个开放的、基于BPEL标准的强大的工作流支撑平台,支持跨委办局、跨系统的业务流程;
支持多部门人员的协同,包括人员的权限控制,任务分发等,完成了9 类角色,包括城市管理监督员、社会公众、城市管理监督中心、城市管理委员会、各专业部门等的协同,全面提升朝阳区城市管理工作的效率、质量和水平;
基于成熟、开放的企业计算平台——J2EE平台为朝阳区政府构建了一个稳定的、可扩展的、高效的业务平台;
朝阳区城市网格建设同中远集运的共同特点就是SOA的主要特征:
1, 实现了一个平台多个应用;
2, 保持了IT系统对业务规那么变化的高度适应性以及紧密联系;
3, 实现了信息资源的横向共享
4, 通过搭建根底综合平台实现了整体本钱的节约以及整体效率的提高。
从中远集运和朝阳网格两个案例中已根本可以看到SOA成熟的商业化应用模式,那么,当前市场上SOA产品化的供给商整体格局如何呢?图四为业界知名第三方测评公司Winter Green Research公司对2006年对全球SOA市场的分析。从中我们可以看出,在SOA方面,IBM公司占据了领先的优势〔46%的市场份额〕;BEA,微软分局二,三〔分别为13%,10%〕。
这也根本反响了当今市场的格局,当今市场的SOA产品和解决方案有三种主流标准和方式: 第一种是以IBM为代表的J2EE架构,其优点在于开放的标准,良好的可拓展性,适合大型系统和工程的使用;
第二种是以微软为代表的.NET架构,其优点在于快速便捷的部署性,价格低廉,但难以支撑大型系统的使用,相对适合对技术架构要求不高,预算有限的中小用户使用;
第三种是以SAP为代表的ERP型SOA,适合已有ERP系统,或准备以ERP作为核心应用的用户使用。
我们在此以市场占有率最高的IBM的SOA为例,具体看一下产品化层面上实现SOA的具体方式。在IBM的SOA方法论中,总结了五个互有内在关联的要素作为SOA架构设计的切入点,这五个要素即为:人员,流程,信息,连接,重用;这看似简单的五个词精辟的勾划出了SOA的内在联系,这五个切入点既是IT的重点,也是业务的重点。在这五个切入点的思想下,IBM设计了SOA根底框架,如下列图〔图五〕所示: 该图是经过IBM公司长期研究总结出的根底架构,该架构也广泛被运用J2EE架构的公司所使用。
其最上面一层是开发效劳,根本上由各业务系统的开发商完成,在这个模块里往往是制式的或通用的应用;
第二层是业务创新及优化效劳,这个局部通常是由用户及开发商基于具体的客户需求,优化而成,其优化规那么可以使用相关的工具软件帮助实现;
再下面是SOA的核心所在,由连接性效劳和六个模块构成一个有机的整体,
连接性效劳主要由企业信息总线实现应用层面的数据交换以完成该功能,主要实现产品有数据交换平台〔软件方式〕或信息交换机〔硬件方式〕;
交互效劳主要是一个允许人员,流程进行整合的模块,是一个对外展示的窗口,多用门户类产品实现;
流程效劳主要是流程组合以及自动开启商业流程,多使用大型的工作流引擎实现;
信息效劳是联邦式的管理各种不同的信息及内容,主要使用数据库,信息集成工具实现;
应用程序信息也就是通常说的访问效劳,在现有的应用程序中,进行信息资产的交换,业界主要使用信息适配器实现,也有局部CSS架构用户使用交易中间件实现;
业务应用程序主要提供一个可拓展的平安的三层架构中间件环境,业界有多种应用中间件可实现此功能;
合作伙伴效劳便是自有系统和其他合作伙伴核心业务系统的连接,可以使用合作伙伴网管等产品实现。
最下面是根底结构性管理效劳,主要用于优化吞吐量,可用性和可靠性。