时间:2022-11-15 19:36:15
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇soa技术,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
“‘创世纪’计划就是要把soa(面向服务的架构)、BPM(业务流程管理)和社会计算(Social Computing)这三者有效地结合起来,而这三者趋同的发展趋势也正是我们提出‘创世纪’计划的初衷。SOA、BPM和社会计算都是技术的创新,重要的是能够把它们更好地集成,并让它们更加简化。”BEA公司全球市场高级副总裁Rosanne Saccone说。
据介绍,BEA计划在2008年推出的企业级软件服务化(SaaS)平台,就是简化企业和独立软件开发商(ISV)构建动态业务应用的一种方式,这种方式将让ISV利用软件服务化模式来开发动态的业务应用。同时,相信这也是BEA向业务与IT相一致的品牌转型所迈出的重要一步。
动态业务应用
在今天,企业面临着更快的节奏变化,更加需要以一种快速和简单的方式来组合和修改业务的应用。不灵活的基础架构和僵化的企业应用定制起来不仅耗费时间,而且成本昂贵,更重要的是,这些应用无法满足企业在今天动态环境中进行竞争的业务需求。
“我们的‘创世纪’计划的第一步是做一个SaaS平台,这个平台有两个版本,一个是针对企业级客户的版本,另一个是针对ISV的版本。对于企业而言,拥有了WebLogic和AquaLogic的紧密结合;对于ISV的版本,我们强调的是‘计量’能力,因为对于提供服务给用户的企业来说,如何计量用量是非常重要的。”Rosanne Saccone说。
事实上,BEA只是为ISV提供了一个SaaS的开发平台,ISV在这个平台上能够开发自己的增值应用,并以服务的形式提供给用户。而在这种多用户的SaaS应用模式中,如何对用量进行计算正是BEA所看到的关键点。
另外,对于SaaS这种创新的交付模式,BEA在营销方式上也有了创新。“以前,我们更多的是针对工程师的销售,是一种IT技术性的营销;现在,我们在推动‘动态业务应用’,而这种动态业务应用是由终端用户的需求来推动的,所以BEA的营销方式也会更多地往这种模式上去转变。”Rosanne Saccone介绍说。
让SOA更灵敏
“要想让SOA架构变得更加灵敏,我们就需要有BPM这样的分割层把业务和基础应用分割开来。在我们刚刚发起SOA的时候,主要强调的是可复用性和高效率;而在接下来的发展过程中,我们就必须要把业务流程和Web Service分开,这样才能够获得足够的灵活性。”BEA公司执行副总裁兼首席技术官Rob Levy强调说。
“那么,一旦有了这样的隔离层之后,我们就可以去实现应用与业务流程高度灵活的改变,到那个时候,最重要的一点就是要把技术上的能力与操作人员的执行能力和决策能力很好地结合在一起。”Rob Levy补充说。而要想实现这种很好的结合,就需要融入Web2.0的技术,并将其很好地应用到整个生命周期中。
关键词:SOA;架构技术;转软件开发
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2017)01-0182-01
1 引言
现阶段,在长期的社会发展过程,各类企业都已经开始注重公司的软件体系。从某种意义上来说,一个良好的软件架构体系,可以在很大程度上促进企业运营效率的提升,并强化企业的管理质量。所以说,在实际的经营过程中,要求企业应当重视对自身信息系统的建设工作。现阶段,在不断的市场化进程中,我国企业所需要面临的经营管理问题也变得更加复杂,在新的社会背景下,传统的软件构架体系,将会导致软件之间出现接口混乱的问题,并因此而导致其出现网络协议不清晰的现象等。
2 SOA架构的应用
2.1 企业SOA架构应用
SOA是所指的是一种面向服务的软件体架构体系。从本质上来讲,SOA能够依据软件的各种功能,来对其进行细致的划分,并使之转变成能够行使各种功效的组件。并且,各个组件之间通过接口相连,而接口本身又有着一定的可扩展性和一致性。在系统中,各个软件由组件创建而成,这也就在很大程度上,保证了软件的通用性与可迁移性。与此同时,SOA本身属于客户/服漳P停因此,在进行SOA应用当中也就含有服务端与客户端,能够实现对复杂数据的有效处理,这就在一定程度上强化了客户端的便携性,并进一步提高了客户端的普及率。
2.2 建立模型应用SOA
在SOA架构的实际应过程中,需要我们通过标准功用接口的建立,来提高软件的迁移性。不过,SOA架构体系并不是独立存在的,其需要相应的技术与模型来为其提供支撑。并且,在SOA架构当中,其所包含的组成元素,主要有以下几个方面:①客户;②服务;③服务协议;④服务接口;⑤传输协议。其中,所谓的客户,指的就是服务的请求者。为了能够有效的降低设备的费用,并提高客户端的便携性,在实际的系统开发过程中,开发者便将多种功能集成于服务器的一段当中。传输协议则主要是运用在数据链路层信息传递的协议,现阶段主要包含了HTTP与SMTP协议等。
2.3 企业应用SOA技术的实现
从本质上来讲,SOA目前还是一种概念模型,要想实现该技术的应用,还需要有相应的技术来为其提供支撑,例如我们可以运用Web Services。在实际的运用过程中,Web Services能够依靠于服务器的云端服务,来实现软件的并发执行,并有效的降低软件的耦合性,来促进软件内聚性的提升。除此以外,要想实现SOA技术,还需要运用BPEL技术,来明确Web Services的实际流程,以此来有效的避免其出现进程互锁或假死的问题。
2.4 Web Services实现SOA架构模型
从某种意义上来说,要想将SOA架构由理论落到实处,就需要一套成熟的标准接口技术与协议为其提供支撑。在这当中,Web Services所采用的就是XML协议,而该协议本身有着相当强大的描述能力,以此来有效的实现软件间耦合性的降低。此外,通过运用标准的接口技术,能够有效的拓展软件的灵活性。
3 企业服务总线应用于SOA
简单来说,所谓的总线,指的就是在信息传递过程当中的一个物理支撑。就针对于SOA架构而言,面向服务的架构,所需要的总线,已经不仅仅是计算机中简单的总线设计,其是一种能够创建企业服务的总线。而从某种意义上来讲,企业服务总线,能够有效的实现企业之间的交流,并提供了软件通信的功能。就针对于企业的经营与管理来说,通过运用企业服务总线,能够在很大成俗上实现对系统信息的优化与整合,并将具有显著差异的应用,科学的整合于SOA框架下。也就是说,企业服务总线的出现,能够对硬件与技术之间的差异进行科学的优化,并实现通信间的整合,来制定出一条最佳的通信线路。这样一来,企业就能够不需要增加服务设备,来在存在各种技术差异的大系统下,实现信息的优化整合。
4 BPEL完成SOA的灵活扩展
就针对于基于SOA构建的企业级应用而言,我们要求其不但可以通过运用标准的接口,来完成通信,还要求其可以有效的处理各种复杂的交互问题。BPEL指的实际一种专门制定的集成标准接口技术与协议,并且,在这当中,包含了多有的标准接口和协议,使得其自身的处理能力得到了很大提升。通过运用BPEL,能够有效的避免组件对同一有限资源的争夺,并以此来避免其出现服务器互锁的问题。
5 结语
通过本文的研究得出,目前SOA架构还只是一个理论模型,因此,在日后的实践过程中,希望有更多的专业人士,能够积极的投入到课题的研究当中来,并及时的发现其在运用过程中存在的问题,提出有针对性的解决对策付,促进企业经营管理水平的提升。
[关键词]工作流技术; SOA;云计算;工作流管理系统
[DOI]1013939/jcnkizgsc201615120
1引言
作为企业经营过程重组与过程自动化的一种手段,工作流技术实现了任务的自动调度、资源的优化和管理,是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。高度完成企业业务目标,因而越来越多的企业利用工作流技术解决信息自动化问题。但是随着信息技术的发展,企业规模的日益扩展,一个企业要想处于不败之地,必须与其他企业进行合作与交流,不能孤立存在,企业间的合作日益密切,跨组织、跨地域明显。[1-4]传统的工作流模型将业务过程与企业资源绑定,业务模型与组织和资源模型结合过于紧密,不适合企业的动态变化和发展的要求。[5]
文章在现有研究的基础上,将工作流与SOA的思想和云计算的特征深度结合,提出了云计算和SOA相融合的工作流技术,以适应当今开放、分布、异构、赢利、动态的现实网络环境中企业的复杂应用需求。在文章的下述部分,将阐述SOA与云计算相融合的工作流技术的原理,提出该工作流模型CSOWF以及对应的工作流管理系统CSOWFMS,并讨论其的实现技术,最后给出总结,将对云计算与SOA相融合的工作流技术的发展前景给出初步的预测。
2基本原理
面向服务的体系结构(SOA)[6]是一种服务导向的组件模型。服务是指软件中的一些处理过程或是封装成独立业务模块的程序逻辑单元,可以通过标准协议通过网络访问和调用,而且接口公开。服务提供者开发出各种有用的服务,经过严格测试后把服务到公共的服务注册表上,服务消费者通过查找服务注册表找到所需要的服务,然后就可以使有那个所需要的服务了。由传输机制绑定服务,然后通过接口契约规定的格式来执行服务。使用工作流技术可以把简单的服务聚集为复杂的服务,服务可以链接在一起实现较高级别的业务功能,利用SOA其松散耦合、接口标准化、服务独立、粗粒度、位置透明等特点,解决异构性、互操作性等问题,高效地利用或重组企业现有的应用资源,适应业务流程和资源动态变化的需求。
将公共的服务注册表存储于云空间中,利用“云计算”的特点,将“云”作为资料存储以及应用服务的中心,搭建计算机存储、运算中心,使得企业内部或跨组织、跨地域企业可以通过一根网线借助浏览器方便进行访问服务,这样企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。利用云计算其低成本、灵活、可计量性等特点,解决企业高成本、资源浪费、服务分配不当等问题。
SOA与云计算相融合的工作流技术,SOA的服务,以最有效的架构方式进行服务整合,强调服务如何应用,而云计算解决的是提供服务的“多少”,即“量”方面的问题,通过网络按需提供给企业。
21工作流、SOA、云计算的映射模型
工作流的整个生命周期中,从产生业务流程需求到实现流程,与SOA和云计算的映射模型可以分为图1中所示的五层。
表示层:表示层是针对用户的,该层由用户接口和商业流程界面组成,不需要专门的领域知识,只需要定义用户接口以及相关的流程界面。
服务层:完成业务流程的建模后,由专门的人员根据活动的目标与条件(时间、资源、人员、数据等),将活动(或任务)与相关的业务流程服务进行绑定。在服务的选择上要根据一定的策略进行匹配。完成流程中所有活动(或任务)与对应的服务一一绑定后,可以将服务按照唯一标识进行编排,形成一个服务流程序列。
服务组件层:在SOA下建模,服务独立于应用程序和开发平台,其技术细节的实现是通过组价的组合来完成的。任何应用都可以通过高内聚、低耦合的方式进行组件包装。组件之间通过分组或者重新组合便形成了服务组件层。
云应用层:该层包括软件包、客户管理、面向对象应用。“云应用”的工作原理是把传统软件“本地安装、本地运算”的使用方式变为“即取即用”的服务,云应用不但可以帮助用户降低IT成本,更能大大提高工作效率。
从表示层到云应用层,实际上是一个目标功能的分解过程,下面给出具体工作流到服务层以及云应用层的映射关系。
22工作流、服务、云计算之间的映射机制
利用SOA的思想以及相关的结构,SOA结构由服务提供者、服务注册中心、服务消费者三部分组成,服务提供者是一个可以通过网络寻址的实体,它接收和执行消费者的请求。把自己的服务注册到服务注册中心,以便服务消费者能够发现和访问该服务。因此每个企业将自己组织内部的应用组件化,以服务库的形式到网络上的服务注册中心,并且建立好相关的业务流程模型。不管是企业内部或者是跨组织,跨地域的企业需要服务时,通过云计算技术在服务注册中心按需搜索合适服务,利用云计算技术,能够高效、便捷、低成本、随时随地筛选出最能满足需求的服务。[7]
在选择服务的过程中,除了根据活动(或任务)功能目标和相关条件(如时间、资源、人员、数据等)进行搜索合适的服务外,还可以根据服务的其他方面进行筛选,例如性能、信誉等,并结合搜素服务策略进行查找。适当的服务查找与组合机制,能够降低服务查找和服务使用者之间的紧耦合关系,使得企业在开发新业务的同时,能够集成企业遗留应用,减少重复开发,也降低了服务管理的难度,因此可以根据服务查找与服务组合技术进行筛选合适的服务。
23云计算与SOA相融合的工作流的优点
利用云计算能够节约软硬件成本,节省物理空间,高效、方便、低成本地完成服务资源的选择和分配。[8]云计算提供给企业更多的灵活性,企业可以根据自己的业务情况来决定是否需要增加服务,企业也可以从小做起,用最小的投资来满足你的现状,而当企业的业务增长到需要增加服务的时候,可以根据自己的情况对服务进行选择性增加,使企业的业务利用性最大化。
3云计算与SOA相融合的工作流
文章提出的云计算与SOA相融合的工作流技术主要探讨两个方面的内容:
(1)将工作流活动与服务进行合理映射,定义和执行工作流程。
(2)利用服务和云计算进行工作流的管理。
前者针对工作流程本身而言,是把工作流的业务模型定义与实现分开;定义时使业务人员关注于领域业务模型的构造;执行时将业务工作流部署于SOA环境中,运用云计算优势,将服务注册中心存储于云存储空间中,将服务组件层与云应用层密切联系起来。以服务的方式为活动分配资源,合理调度,完成运行过程。后者则是针对工作流管理系统而言,改变传统的集中式管理模式,通过服务机制对工作流的构造、执行和监控进行分布式管理。
31工作流模型
SOA下的工作流利用服务灵活性,在定义和实施上都能更适合复杂的实际环境需求;特别是在流程的执行上,SOA提供了一个自动完成活动或任务的良好环境。同时,工作流技术可以很好地植入到云计算项目中。云计算流程天然地由不同的、序列化的事务组成的工作流程。具体模型如图2所示。
图2的服务可以分为系统服务和非系统服务两大类。系统服务指为进行工作流管理而提供的服务;非系统服务是为工作流程提供的服务。非系统服务存储于云中,通过云计算按需查找服务,SOA与云计算相融合,能够高效、方便、低成本完成跨组织、跨地域的业务服务流程。
32工作流管理系统
云计算与SOA相融合的工作流管理系统CSOWFMS是一个虚拟的工作流管理系统,由流程定义工具、监控管理工具盒引擎服务、定义存储服务、实例存储服务组成,并使用通用的注册查找服务和元数据存储服务[7],具体结构如图3所示。其中,流程定义存储服务提供保存流行定义文件的服务;流程实例存储服务保存流程实例状态数据;工作流引擎服务负责从流程定义存储服务保存流程实例数据,通过调用其他服务完成流程活动,与其他引擎服务协作可进行流程迁移或并行执行。用户则通过用户界面与工作流引擎进行交互。
在CSOWFMS中,工作流的使用不再限于它的位置,任务由服务完成。只要为服务定义标准接口,它们就能被任何依据标准的应用访问到。由于一个流程不再限制于工作流引擎的位置,流程能够在任何地方设计、存储和执行。而且SOA服务与云计算相融合,因此利用云计算的优势,将能够高效、灵活、方便、随时随地、低成本完成实际情况计算服务的需求。用户能够选择分布在网络环境中的任何可获得的工作流引擎服务来开始执行一个流程。在执行过程中,可以在不同的引擎服务间迁移来达到负载平衡,降低不同应用和引擎服务间的通信费用,易于从错误中恢复。甚至一个流程同时在多个引擎服务上执行以获得更高的效率。可见,CSOWFMS具有分布、高效、容错、负载平衡等优点、非常适应复杂信息环境的需求。[8-9]
4实现技术
云计算与SOA相融合的工作流的实现依赖于SOA和云计算的实现。流程以XML描述并与Web服务相结合非常重要。Web Service是SOA的一种实现方法。Web服务是构架在XML和Internet技术上的分布式计算技术,其目的是利用已经广泛使用的Internet协议在分布节点之间传递称为消息的XML文档。
利用XML、WSDL、SOAP等Web服务技术分别可实现流程与服务的描述、数据映射以及通信,而UDDI则提供了服务与发现和重用的手段。由于这些技术都是开放标准的,以这些技术为基础实现的工作流,不关系具体的业务流程所依赖的语言、系统或对象模型,跨多个应用的业务自动化更容易。业务流程可集合成复杂的工作流,设计、开发、维护和使用工作流都变得相对容易。
利用云计算技术,利用虚拟化机制将具体的计算特性加以封装隐藏,对外提供统一逻辑接口,从而屏蔽物理设备多样性带来的差异,实现了计算虚拟化、存储虚拟化、网络虚拟化、应用虚拟化和桌面虚拟化,虚拟化是实现云计算的最重要的技术基础。云计算的实现机制基于计算服务资源使用量付费的效用计算机制,用一个实例可以同时处理多个企业请求的业务服务流程。云计算提高了流程为服务供外包调用的安全性,同时对策略管理、可靠消息传递、事务处理等的支持。
5结论
文章结合了面向服务体系架构对复杂的信息化环境的支持与工作流技术在业务流程自动化方面的优势,以及根据云计算在按需计算服务资源方面的优势,提出了云计算与SOA相融合的工作流技术。以服务为实现工作流业务流程的手段,文章探讨了工作流与服务以及云计算的映射原理,提出了云计算和SOA相融合的工作流模型CSOWF和描述以及云计算服务化的工作流管理系统CSOWFMS,最后探讨了其的实现技术。相信随着SOA和云计算的日益成熟以及工作流的深入发展,三者的结合将会成为必然。
参考文献:
[1]Fan YushunWorkflow management technology base[M].Beijing:Tsinghua University Press,2001.
[2]Rezaei,Reza; Chiew,Thiam Kian; Lee,Sai PeckA semantic interoperability framework for software as a service systems in cloud computing environments[J]Expert Systems With Applications,2014,41(13):5751-5770.
[3]Wang,Mingzhong;Zhang,Xuyun;Zhu,LiehuangTrust-based workflow refactoring for Concurrent workflow refactoring for concurrent scheduling in service-oriented environment[J].Concurrency and Computation-practice Experience,2013,25(13):SI.
[4]Salimifard,K; Wright,MPetri net-based modelling of workflow system:an overview[J].European Journal of operational Research,2001,134(3):664-676.
[5]YU Liang,Wei Jun-based services and rules extended workflow model[J].Computer Engineering and Applications,2004, 40(31):186-189.
[6]Jason Bloomberg面向服务架构(SOA)的原则[EB/OL].[2003-03-20].http://wwwwmlchinacomNewsContent/ 39htm.
[7]Lee,Minsoo,Yoon,Hyejung,Shin,HyoseopIntelligent dynamic workflow support for a ubiquitous Web service-based manufacturing environmentJournal of Intelligent Manufacturing,2009,20(3):295-302.
[8]Chaixue Zhi,Cao JianWorkflow-oriented cloud computing technology Computer Systems[J].Journal of Chinese Computer Systems,2012(1).
[9]Zhangmin HuiSOA architec ture workflow management system[J].Computing Technology and Automation,2012(1).
[10]范玉顺工作流管理技术基础[M].北京:清华大学出版社,2001.
[11]余亮,魏俊基于服务和规则扩展的工作流模型[J].计算机工程与应用,2004,40(31):186-189.
【关键词】SOA架构 构件技术 软件开发
伴随企业信息化的发展,异构化的数据信息分割形式呈现出业务信息处理有效整合发展状态,通过软件系统的优化设计及稳定分析,可以实现独立信息系统资源的协同性业务发展。在软件平台构建的基础上,通过统一业务协同平台的设计,不仅需要得到协同功能的有效处理,而且也应该在满足众多用户的基础上构建协同化的的服务模式,从而实现系统资源的稳定整合。通过SOA架构,可以使软件开发在协同发展的平台下,实现技术软件平台的设计,从而为软件资源系统的稳定运行提供支持。
1 SOA构架技术
SOA是一种组建模型,在传统业务层面以及技术层面之间逐渐形成了一个服务层系统,同时,在系统平台中逐渐完成了服务功能、业务层以及技术层的独立运行,为具体业务工作的拓展提供了稳定的支持。同时,在SOA平台构建的过程中,其基本的组成元素包括了功能及服务质量。
2 构建技术
对于构建技术而言,主要是将面向对象作为基础,并在此环境下发展起来的软件构建技术形式,这种技术也就是支持软件复用中的核心,通过该技术的运用可以提升软件系统的生产利用率。同时,在构建技术运用的过程中,其主要研究的内容包括以下几点:
2.1 构件获取
构件获取会在有目的的构建生产中进行系统资源的信息挖掘,实现构件资源的稳定获取。
2.2 构建模型
主要是研究构建系统的本质性特征以及构建之间的相互关系。
2.3 构件分类及检索信息
通过对构件分类策略、组织模式以及检索信息的检测分析,所设计的构建系统库,实现构建系统的有效管理及支持。
2.4 构建复合组装系统
在构建模型组装系统设计的过程中,通过对源代码的组装及构建对象的操作分析,实现系统的稳定运行及科学组装。
3 SOA架构和构件技术的软件开发的项目研究
3.1 信息资源集成系统
通过该集成平台的系统设计,在某种程度上有效解决了信息系统中的协同性问题,并通过对各个分散部门以及应用信息的资源整合,形成完整性的信息资源模式,从而充分保障数据资源图以及安全信息的实时共享,在信息资源整合、共享以及加工利用的状态下,可以实现各个部门之间的协同工作。同时,在按照数据共享程度分析,可以将数据资源分为基础数据、共享数据以及特定数据。其中的基础数据主要是具有统一含义的自然人、法人及地理空间;共享数据主要是在基础库的基础上,所构建的共同数据资源。而信息资源包括了信息整合、服务整合以及数据整合、流程整。
3.2 业务基础软件系统
对于业务基础软件系统而言,通过该平台的设计可以实现各个系统之间的协同性发展,并在协同运行的基础上保证资源运用的平台化、构建化也自己驱动型的特点。通过SOA构架系统的灵活性搭建,可以充分保证平台的独立性,通过对构件资源的复用、组装以及动态更新,实现业务需求的稳定变化。在业务基础软件平台构建的过程中,主要程序包看了软件系统的开发、应用运行技术的支撑以及资源运营环境的监督,通过这些系统的构建对整个软件的生命系统进行了稳定的监督,同时,通过复用也可以有效降低软件系统开发的成本,提高了系统的代码质量。因此,在业务基础软件系统开发的过程中,应该注意以下几点要求:
(1)合理运用开发环境的支持,进行应用系统执行内容的有效监控及稳定控制,从而为集成性的项目开发环境构建提供良好支持。
(2)通过监管环境支持系统的构建,应该通过对系统执行及各个监控管理制度的构建,进行监管环境的稳定运行,从而保证软件系统的稳定运行。
(3)在业务基础软件平台设计的过程中,应该运用大量的构件,进行业务构建的统一化平台设计,保证各个数据模型标准化衔接,并在此基础上为软件系统的优化处理提供支持。
3.3 协同应用软件集成平台的设计
在协同化信息资源集成平台构建的过程中,应该通过对业务基础软件以及支撑平台的设计,从协同的角度进行系统资源的项目优化。通常情况下,系统应用软件包括了协同办公、协同服务以及知识共享等资源管理。首先,在协同办公系统运用的过程中,会将信息资源的管理作为基本核心,将安全作为基础,构建面向领导决策支持的系统设计,实现工作内容的高效运行。其次,协同服务主要包括了对外统一服务、内部协同服务,通过对外统一服务项目的集中体现,进行不同职能及服务内容的有效融合。在内部系统处理的过程中,需要各个部门对软件开发系统的内部业务进行服务接口的稳定设计,并在跨部门业务协同及公众在线申请的基础上,实现对后台业务的稳定支持,并在最终程度上软件系统的有效传递。最后,知识共享,主要支持软件平台发现、选择、组织及过滤的信息表述过程,而最为核心的目的就是在最为恰当的时间进行决策项目的稳定优化。
4 结束语
总而言之,在SOA构架以及构件技术运用的过程中,应该通过对业务操作、业务流程的综合性分析,进行软件平台的稳定设计,并在重视企业技术开发以及集成客户资源系统运用的基础上,实现软件系统的优化化处理。
参考文献
[1]武新立,朱明,苏厚勤.基于SOA业务协同平台体系架构的设计与实现[J].计算机应用与软件,2011(02):166-168+198.
[2]黎茂林.综合电子信息系统面向构件的软件开发与集成技术研究[J].电脑与信息技术,2011(04):58-62.
[3]唐言.基于SOA的软件复用与构件技术探析[J].中国新技术新产品,2010(04):34.
作者简介
李攀(1980-),男,湖北省武汉市黄陂区人。大学本科学历。现供职于广东科技学院。研究方向为软件工程。
关键词:面向服务;企业解决方案;企业服务总线
中图分类号:TP391 文献标识码:B 文章编号:1009-3044(2007)06-11659-02
1 问题提出
企业信息化建设,大部分已经结束各自为政的各业务部门独立建设的阶段,迫切需要把企业内部已经建设、部署好的业务系统,联通起来,构建整体的企业信息化体系。
这里所说的联通,不是简单的通过互联网络,连接各个应用系统,而是各个系统间业务工作和业务数据的共享和交互。
目前,在各个业务系统建设均已成熟的情况下,企业内部提出这种系统交互需求,只能通过认为地为系统添加特定的接口,完成与特定系统的特定数据或者业务交互,这样不但造成系统间交互的网络模型混乱复杂,也加重了开发成本,随着新交互需求的不断提出,企业信息化建设始终处于不断修补的不良状况下。(图1)
图1企业信息化建设始终阶段不断修补的不良状况
随着企业中业务系统建设越来越多,这种错综复杂的系统交互关系会越来越多,各个系统甚至出现互相依赖,互相耦合的情况。这种情形直接导致了业务组件重复建设、业务数据冗余、企业内数据不同步、系统界限模糊、维护困难、拓展困难等等难以想象的问题,使得企业信息化建设陷入泥沼。
2 ESB企业服务总线
ESB(Enterprise Service Bus,即企业服务总线)是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。
企业服务总线(Enterprise Service Bus,ESB)的概念是从面向服务体系架构(Service -Oriented Architecture, SOA)发展而来的。SOA描述了一种IT基础设施的应用集成模型,其中的软构件集是以一种定义清晰的层次化结构相互耦合,其中,一个ESB是一个预先组装的SOA实现,它包含了实现SOA分层目标所必需的基础功能部件。
ESB是传统中间件技术与XML、Web服务等技术相互结合的产物。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
使用一个分布式企业服务总线,企业可以通过利用标准以提供灵活实时的“按需服务”基础架构来最大化利用其在硬件和软件的现有投资。
3 企业服务总线建设构想
3.1 期望业务模型
企业服务总线的模型,是为企业的业务流和数据流提供一个通用的通道,通过标准的接口,应用系统可以容易地通过ESB提供服务接口和数据交互接口。(图2)
图2应用系统通过ESB提供服务接口和数据交互接口
这里涉及几个关键:
(1)接口:各个系统,尤其是旧有系统,系统接口均已经部署,不容易改变,企业服务总线ESB必须兼容这些接口,这必然需要一套适配机制,满足不同的接口通过适配机制接入到总线中;
(2)总线中的数据流:为了方便ESB操作数据,从各个接口流入总线的数据流和业务流,必须被格式化成标准格式,在ESB中流转,当传送到特定系统时,再被翻译成该系统能接受的格式;
(3)节点的注册:接入ESB的应用服务,必须在ESB上注册组件信息和服务信息;
(4)自动传输:ESB应该可以控制一些无需人手干预的数据流转,如信息同步等,并且控制流动的过程。
3.2 实现原理
通过定义节点的方式,定义应用组件的接入以及接口规则;通过开发针对不同类型数据接口的适配器,实现不同的接口接入系统,并翻译节点数据的ESB内部数据格式;通过定义数据交互的路由和调度,实现自动的数据传递过程;通过队列、线程、缓存等方法,实现多任务多进程,提高业务数据传递效率。(图3)
图3 ESB服务实现原理
4 企业服务总线实现
4.1 适配器―总线标准接口的驱动程序
对于接入企业服务总线的应用系统和应用服务,有些是旧有系统,可能还是CS结构的系统,有些是新建设的系统,有的部署在互联网上,使用WebService方式对外沟通,有的部署在生产环境里,使用Socket的方式进行通讯。
为了把各种各样的业务系统接入到ESB的总线结构中来,我们需要一系列的接口程序,可以针对性地对各种类型的交互接口进行通信,并且担当系统与总线间的数据格式翻译工作。
我们把这样的软件组件,叫做适配器。就如不同的硬件设备连接到电脑主板总线上需要驱动程序才能工作一样,适配器就扮演了这样一个驱动接入系统或者组件的角色。适配器通常有两种,一种是针对特定接口的通用适配器,如SQL适配器、FTP适配器、WebService适配器、Socket适配器等。另外一种是针对特定系统的适配器,比如是使用某种特定加密算法的适配器。
企业服务总线的基础架构上,可能提供一些通用的适配器做常规连接,但是也会提供标准接口和开发规范,允许特殊的应用系统自己开发专用的适配器,接入到企业服务总线中来。
4.1.1 FTP适配器
FTP适配器的目的是通过让用户定义,适应FTP的取数据拿数据的过程,可以实现配置FTP拿数据,配置FTP传数据。
我们通过适配器,可以进行:
定义FTP信息――让用户定义FTP服务器、用户名、帐号、文件的定义规则等信息。
下载FTP的文件――从FTP服务器下载需要的文件。
打包FTP文件信息返回――把拿到的FTP文件信息打包返回。
上传FTP文件――把输入的信息打包成文件放到FTP服务器上。
4.1.2 SQL适配器
SQL适配器的目的是通过让用户定义SQL语句,可以实现从数据库取数据、传数据的过程,可以实现执行SQL语句、存储过程。我们通过适配器,可以进行:
定义SQL语句、存储过程――让用户定义数据库链接、SQL语句、存储过程、输入参数等信息。
传递执行参数――把输入的参数传递给SQL执行引擎。
返回SQL执行结果――把SQL执行的结果打包返回。
4.1.3 Web service适配器
Web service适配器的目的是通过让用户定义Web service服务,可以实现打包Web service的参数,调用Web service服务,可以实现Web service的参数、调用Web service服务。
我们通过适配器,可以进行:
定义Web Service服务――让用户定义Web Service的方法、参数等信息。
转换Web Service的输入参数――把节点的输入参数转换为Web Service的方法参数。
调用Web Service服务――调用Web Service服务,并输入Web Service服务对应的参数。
打包Web Service的返回结果――把Web service运行的结果打包返回。
4.1.4 接入适配器
一般情况下,应用程序需要使用ESB的服务时,通过直接调用ESB提供的通用Web service接口即可,但在某些情况下,应用程序需要通过其他方式调用服务,比如Socket等,因此有必要提供一个接入适配器来处理接入ESB的差异性。接入适配器目前考虑下面几种接入方式,可以根据情况进行增加:
Http接入适配器,应用程序通过调用Web service直接使用ESB提供的服务。
Socket接入适配器,如果接入的节点只能使用Socket通讯,则使用ESB提供的Socket接入适配器来调用ESB提供的服务。
条形码接入适配器,如果接入的节点只能使用条形码方式通讯,则使用ESB提供的条形码接入适配器来调用ESB提供的服务。
红外线接入适配器,如果接入的节点只能使用红外线通讯,则使用ESB提供的红外线接入适配器来调用ESB提供的服务。
蓝牙接入适配器,如果接入的节点只能使用蓝牙通讯,则使用ESB提供的蓝牙接入适配器来调用ESB提供的服务。
4.2 节点―插在接口上的业务应用
节点为应用系统,或者应用服务接入ESB服务总线的连接点,它通常代表了一种应用服务。
比如说,存在一个操作系统,它提供发送手机短信的服务,也提供企业公告的服务,那么它在ESB上应该定义两个节点。
节点一:短信发送节点,节点定义了服务的接口类型,如WebService接口,定义了使用通用适配器―WebService适配器,定义了数据传输的格式―一段满足系统规范的XML描述,还定义了一些诸如系统标识等等的关键信息。
节点二:公告节点,定义信息同短信发送节点。
如上所述,节点可以理解为一个接入的端口、一个接入的服务、一个完整的业务。节点的定义要满足一定的格式,有些必须定义的字段,这里会形成节点定义规范。
通常,应用系统获得一个在ESB上注册的节点,就可以向该节点发送请求。作为服务使用者,请求方需要从ESB上获得该节点的请求格式,通过ESB的通用调用接口,传入请求和目的地,ESB自动启用通用适配器,向节点传输请求,并返回结果。
当ESB中启用调度机制后,系统可以自动起请求,逐个按次序访问定义在调度序列中的节点,发送请求或者传递请求。(图4)
图4 ESB节点模型
4.3 节点集―可进行同一操作的应用集合
有时,服务使用者想把请求传递给一组节点,但不想多次调用。如,有一个消息需要同时通过短信息和企业公告进行发送,就可以把短信发送节点和公告节点组成一个节点集,服务使用者一次向节点集发送信息即可。
节点集中的节点处于并发的地位,请求将会同时传递给节点集中的所有节点。
若要按次序发送请求,或者把上个节点返回的数据作为下个节点的请求,就需要定义路由了。
4.4 系统―节点业务的所有者
为了控制ESB上节点的使用权限,或者便于维护节点的来源,需要定义节点所属的应用系统信息。
4.5 路由―数据传输或业务执行的路径和次序
有时我们希望我们的请求不是单步返回,而是希望它依次传递给一系列的节点,在某些地方,还需要把一个节点的输出作为下个节点的输入,更复杂的情况还包括在传递过程中根据返回的结果进行逻辑判断,决定请求下个传递目标。定义这样一个信息传递的过程和路径,我们称为路由。(图5)
路由管理是定义节点执行的先后次序,并可以定义嵌套路由,是指执行完本身的节点后,再执行嵌套路由,有下面的情形:(图6)
调用一个Web service的方法获取数据,然后调用SQL语句插入到数据库中从某个FTP的站点拿数据,然后调用SQL语句插入到数据库中从数据库中取出数据,然后把数据放到某个FTP的站点从某个Windows目录取数据,然后调用某个Web service。
4.6 调度―自动运作的一系列业务过程
有时候,有些数据交互不需要人为干预,它可能会在某天特定的时候自动运行,比如每天晚上10点,自动把人力系统上的最新用户信息发送给企业内所有的用户系统。
我们可以设计一个数据传递的路由,然后指定这个路由的请求数据来源和数据传递规则,最后定义该路由运行的时间规律,这种自动按照时间表运行路由的规则,就叫做调度。
图6 动作的执行流程
5 结束语
企业服务总线是企业解决方案的新设想,它能有效地沟通企业分散的信息系统资源,为企业提供一个低成本的全面解决方案。通过使用ESB,可以在几乎不更改代码的情况下,以一种无缝的非侵入方式使企业已有的系统具有全新的服务接口,并能够在部署环境中支持任何标准。该技术可以说是现代企业信息建设中的突破性新技术。
参考文献:
[1]孙正兴,戚鲁.电子政务原理与技术[M].人民邮电出版社,2003.
[2](美)伊尔,著,王满红,陈荣华,译.SOA概念、技术与设计[M].机械工业出版社,2007.
[3]梁爱虎.精通SOA:基于服务总线的Struts+EJB+Web Service整合应用开发[M] .电子工业出版社,2007.
[4]中科永联高级技术培训中心[S].企业服务总线.
[5]Matt Rothera. 企业门户集成和企业服务总线 ( ESB ) Hub Vandervoort[EB/OL]..cn
SOA不仅仅是一种时髦说法,现在已经不乏一些应用。多数大型企业已经开始积极实施一些SOA方案,目的是利用它灵活的体系对业务做出接近实时的反应。其中,SOA提供了一种改变多年来功能紊乱的系统的方法。IDC认为,到2009年时与SOA相关的软件花费将接近150亿美元。
部署了SOA后,企业可以在动态环境中借助于现有的系统,提取应用实质将之转化为服务,并快速地转换成为新的解决方案。但是,如何才能达到目的呢?一个SOA有许多不确定因素,它往往很难重新部署,而且指导原则也不是孤立的。
值得庆幸的是,在如此多的SOA部署中,可供汲取的经验教训也是非常丰富的。以下的五点就是其中最重要的建议:了解痛处;定义价值;理解透彻;相信群众;关注长期。
了解痛处
在当前的2000家跨国公司中,很多企业的体系架构已经妨碍了业务的改变能力。比如,最近企业行为管理机构(Business Performance Management Institute)的一项调查表明,仅有11%的管理人员说他们能够跟得上技术变化,来满足业务需求――这其中40%需要IT支持。
更糟的是,根据《CIO》杂志的调查,36%的受访者表示,他们公司的IT信息技术部门或者存在“重大困难”(27%),或者“根本不能”(9%)跟上技术变化。
事实上,IT在支持业务变化方面也要承受着可怕的变化。 当IT需要在几年内而不是几个月里满足新产品线、市场或是合并的需要时,CEO们几欲抓狂。的确,在很多公司中,IT已经成为业务成功的惟一限制因素,如果它继续停滞不前,就会扼杀整个业务。
这就是问题所在,解决它能为很多公司带来极大的实惠。我们不应忘记,SOA的响应能力是它的主要价值和益处。
定义价值
企业实施SOA有两个主要理由。首先,通过重新利用服务,企业能够节省更多的开发费用。这些服务可能已经被建立在公司内部和外部,更多的服务在系统间被再度使用,这能够帮助企业得到更大的投资回报;其次,SOA能够加快改变IT基础设施,并且适应业务的变化需求,这是一个巨大的战略优势,能够让企业在长远发展中得到更好的机会。
几个因素可以帮助你衡量服务再用的价值,这其中包括再用服务的数目、服务的复杂性,以及系统间服务再用的次数。每个服务的复杂性是价值评估的关键,它们可以被定义为函数数字或是目标分数,从而用来对服务进行整合。
虽然给出投资回报的具体数字比较困难,但并非绝无可能。你需要查明业务的几个方面,包括随时间变化的程度、适应这种变化的能力,以及相对的价值变化。在某些特殊的时期(包括业务重组等),随时间变化的程度就会反映到具体的数字上。例如,一家造纸公司在5年内只是经历了5%的变化,而同样的时间内一家高科技公司可能会经历80%的改变。
当评估SOA未来的价值时,它的本质将会正确地描述你的业务当前适应变化的能力,以及引入SOA后预计得到的能力提升。每个人都能从现实的预期中受益。
最后,变化的相对值就是所赚到的钱――这是业务变化所带来的最直接效果。例如,只需要低廉的花费,SOA就可以帮助那些希望变得更具竞争力的零售公司通过建立一个常客购买程序,从而获取更多的收入。我们甚至可以说,没有SOA,这样的程序是完全不切合实际的。
理解透彻
虽然很多人对于什么是SOA都有各自不同的见解, 但是很少有人知道如何才能获得成功。 每一种情况都有所不同, 因此也找不到一套规范的、固定的规则。不过,还是有一些共通的模式能帮助你看清前方的路。
首先,你应该了解你的业务目标、确定成功的定义。你是在帮助经营业务,推动技术层次转化,并且积极影响结果。
其次,你应该定义你的问题范围。你不能指望改变整个世界,因此需要在企业内部定义你的SOA范围。多数的SOA最好在小步骤中实施,例如迁移一个单一的部分或是某部分的一些到SOA。宏大的计划很少为一个完整的企业采纳,而小的成功部署会及时带来更大的战略成功。
接下来,就是选择技术。很多人这一步走得并不好,而在没有对要求理解透彻的情况下,我们就无法正确选择SOA技术。想要成功,标准和产品的结合常常需要进行试验,以确定采用的技术是否可行。事实上,在选择正确技术上花费的时间应该和拓展SOA的时间差不多,这是完全值得的,因为一个错误的选择最终会导致SOA部署的失败。
最后是测试和评估,这也是一个循序渐进的过程,关乎到SOA如何测试和完成。测试计划很重要,由于测试SOA解决方案的确很困难,因此SOA的扩展性也可能超越你所能想到的应用范围。虽然这些测试非常繁复,但是很有必要。
相信群众
SOA是由人来建设和管理的,因此你必须考虑到SOA对人员和企业架构的影响。这里有两个需要关注的方面:建设SOA的人员的“SOA文化素养”,以及将会使用到SOA服务与界面的人员的技能水平。
从事建设SOA工作的人员必须洞悉企业的传统架构以及SOA的思路、方法和技术。对于大多数企业来说,这种要求有些苛刻,早期可能需要外部咨询机构提供指导,而对方法和技能的培训应当是长期的工作。
如果没有这种支持,很可能出现的情况是:参与SOA工作的人员以及SOA项目本身将失败。这时候要么雇用为公司播下“SOA知识种子”的咨询人员,要么雇用适合完成SOA项目的新人,这两种方式都不容易,但它们能够拯救SOA项目。
最后,应该考虑一下那些利用服务、流程、数据提取的人员。SOA将怎样改善他们完成工作的方式?你将如何培训他们?你怎样支持他们?你如何得到他们提出的改进建议?应该尽早思考这些问题。
关注长期
SOA是一项长期的解决方案,不要指望短期内得到可以衡量的投资回报。对于大多数企业来说,SOA的价值需要经过几年而不是几个月才能得到体现。鉴于很多企业是按季度运营,预算和目标每月都在发生变化,因此这可能令人难以接受。这也导致像SOA这种复杂而系统化的长期项目在一些企业中很难长时间得到维持。如果你的企业不能理解需要长期部署才能带来变化,那么SOA可能不适合你。
最好的建议是,争取得到来自企业最高层的投资和承诺,保护SOA的部署,并且说服其他人接受SOA对于企业的长期价值和重要意义。缺少任何一项,结果都会是失败。如果只是作为又一个权宜之计来实施,SOA只会给企业技术基础设施带来更多的复杂性,而一旦企业缺乏对SOA的长期部署,甚至最简单的SOA项目成功的可能性都很小。
专家点评:SOA的价值有待挖掘
■ 埃森哲公司大中华区副总裁 王士平
SOA可能是下一轮IT技术创新浪潮的导火索,但是简单地把SOA定位成新一代的应用整合工具,会将这一具有革命性的技术创新引入歧途。
无法明确SOA的商业价值以及与业务管理层沟通的困难,是中国企业用户部署SOA能力的重要障碍。
规避误区
中国的很多公司正在测试实施SOA或Web服务项目,但其中的相当部分只是将SOA定位在新一代的应用整合工具的层面,而不是从根本上考虑如何应对客户需求的变化。这种试探性的应用现状导致了两种后果: 第一,领导者不清楚SOA到底可以为业务带来多大的好处和利益; 第二,IT部门继续把SOA看做是整合工具,而没有意识到它扮演的“革命性”力量,从而很难推动SOA在业务流程的变革中产生主导作用。
就国外的应用案例来看,金融服务业、电信业以及政府部门是早期部署SOA较多的行业。这些行业的中国同行们可以找到能够借鉴的应用案例。当然,其他行业的企业,在具有清晰的业务目标和完整的业务流程定义的前提下,也可以尝试SOA实践。
SOA的商业价值主要体现在降低业务流程的整合成本和对业务流程变化的快速支持的基础上。SOA能力的引入,使业务流程由传统的“刚性”流程,变成了“柔性”流程,从而使业务可以随时调整业务流程,以满足市场和客户的需求。SOA与传统的信息技术的不同之处在于,SOA是第一次把由信息技术支持的业务流程改造、业务流程设计、业务流程实现的能力放在了业务人员手中。由于与“业务流程”联系的业务伙伴可以是企业内部的,也可以是交易伙伴之间的,所以早期SOA的部署者也用SOA来简化组织与商业伙伴的交互行动,特别是满足供应链管理或监管报告的需求(经验证明,在这个应用领域,传统的应用集成方法成效甚微)。
找寻机会
从理论上讲,我们认为中国企业有非常好的快速获取SOA价值的机会。很多中国企业正在实施跨省的数据大集中项目,把信息汇总到一个统一的界面呈现给管理者。理论上,企业完全可以利用这一系统整合的机会,实现大规模的流程优化,而SOA恰恰提供了一种企业财力可以承担的解决方案。SOA还可以帮助企业增强风险管理能力和合规性。如中国的金融服务业可以利用SOA提供支持满足“新巴塞尔协议”(Basel Ⅱ)要求的技术架构,以降低组织的合规成本。目前,企业资源计划(ERP)和供应链服务提供商正在铺平大型企业数据和服务一致性的道路。虽然SOA的价值还有很多尚未挖掘出来,但只要企业真正理解了SOA带来的业务价值,他们就会不断地利用这一革命性的能力,不断地优化、调整和延展组织机构和业务流程,以取得竞争优势。
事实上,SOA的早期受益者正通过对企业系统升级来简化定制的业务流程,提高企业系统对业务伙伴的可用性,减少未来升级的障碍。这些早期部署者现在意识到,SOA和差异化手段的结合允许他们将解决方案标准化,同时仍保持差异化的竞争优势。比如,中国的银行企业已经把SOA埋入他们下一代核心银行系统――SOA可以为银行提供灵活的业务流程及客户界面所需要的快捷平台,他们把这看做是与外资银行竞争的根本。我们也看到企业正把SOA嵌入到他们的IT战略中,使购并更快,风险更小,使分布式解决方案更简化。
SOA在五个重要的IT绩效考核领域都发挥着影响,这五个领域包括技术创新、基础架构优化、系统的整合、信息的应用和系统开发、管理的产业化化。毫无疑问,SOA将帮助中国企业更快响应客户需求,增强在全球市场的竞争力,从而对中国企业发挥重大积极的影响。
北京航空航天大学计算机应用学士学位,资深软件开发专家。
1994年加盟金蝶,1998年成功开发出基于三层结构组件技术的金蝶K/3系统并引入金蝶企业应用软件,使金蝶成为国内最早运用三层结构技术开发应用软件系统的软件公司,
对于SOA,目前有两种态度:一种是“拥护崇拜”,一种是“谨慎观望”。但SOA到底能解决什么问题、解决得怎样?我们和客户都准备好了吗?
从技术上讲,SOA可能应用于两个场景:第一种是业务互通互联;第二种是封闭交易系统,即将元数据和业务逻辑抽离,形成可复用。
举个例子,在第一种场景中,当不同企业之间的业务需要相互调用,这时就可能采用SOA技术;在第二种场景中,在企业内部需要将系统进行迁移时,利用SOA技术定义的原有数据和业务流程,可以很快完成。
SOA试图定义一个大家(各软件厂商)都“遵循”的法则,大家都使用这样的方法来进行互联互通,从而实现无界限的联通以及服务组件库的继承和复用,解放无效和重复劳动。打个比喻,SOA就像《圣经》中著名的“通天塔”故事:人们用同一种语言交流产生的威力是如此之大,以至于几乎要建成“通天塔”,直达上帝的天庭。
但是,在SOA应用的两个场景中,现存的问题同样也是明显的:
其一,业务互联互通。业务互联与其说是技术问题,不如讲是业务问题,例如ERP、CRM的异步整合,数据层面整合都不能很好将两个系统整合,SOA仅仅是一种实现工具之一,可以说,在没有其他选项之前,SOA是一种最“不坏”的方式,但它并不能解决所有的问题,因为有些问题并不是单纯靠技术就能解决的。
其二,封闭交易系统。使用XML作信息交互比较慢是大家都承认的,性能问题将对SOA的发展造在一定的阻力。同时SOA规范本身没有完善,比如Transaction规范还在不断完善,而且Web服务多年来收效甚微。总的来说,SOA现在还处在一个发展阶段,很多标准还在制定,不同厂商间还存在不兼容的现象,因此SOA还不能说已经是一个成熟的技术,还在“进行中”,需要时间的检验。
在憧憬SOA技术可能带来的前景之余,我们不得不回过头来冷静地说:SOA和中国企业还有距离。
三大认识偏差
国内SOA应用的这一尴尬局面,很大程度上是由于认识上的误区影响了SOA的推广应用。认识的误区主要表现在三方面:
首先,认为SOA是万能的,可以应用于所有的场合。其实情况并非如此。SOA并不能代替已经在公司内部存在的那些被良好集成的应用系统。通过合理的部署,SOA系统可以改善原有的IT系统,使得原有的那些应用系统更具有柔性。通常情况下,复杂的IT构架对SOA的需求更加迫切,并且SOA需要与外部复杂的IT环境交互,并快速地应对频繁发生的业务变化。
其次,认为构建了SOA架构,就不再需要应用整合技术。其实,SOA并非一蹴而就。虽然SOA使系统整合更容易,但是企业仍然需要核心的整合技术,例如转换、挖掘、流程整合、适配器等等,使它们成为架构和规划中的组成部分。企业先要对需求进行一次全面的评估――不仅仅局限于IT, 而是面向整个企业。实现SOA可能需要耗费几年的时间。
第三,认为构建了SOA,就不需要IT人员的参与,业务人员照样可以把服务连接成新的业务流程。这种想法没有考虑服务的实现仍得由人编写实施服务的软件,系统也仍需要有经验的IT专业人员把业务工作流转换成顾及企业级性能、安全、资源使用和可靠性的具体实施方案。
其实这些误区的产生是由于对SOA 的三个应用层面理解的偏差所致。譬如开发者大多对如何建立SOA应用感兴趣,因此他们关注更多的是SOA中应用程序的体系架构方面。而Web Serivces管理工具的卖主一般认为SOA主要是有关基础组件体系结构的。同样,用户群体会认为 SOA是用于企业业务应用结构的。
对于国内的用户来讲,接受SOA,难的并不是技术,而是SOA理念的灌输,以及对企业文化的重新改造。SOA与传统的应用体系结构不同,SOA更多地是针对变化而设计的,基于SOA的系统能具备更大的弹性,而且能够实时地根据企业的变化,调整自己的结构,以满足企业变化的需求。SOA的一个中心思想就是让企业应用能够彻底摆脱面向技术的解决方案的束缚,以轻松应对企业的商业服务变化和发展的需要。
中小企业的SOA
要走出应用的误区,SOA的构建无疑显得异常重要。通过以服务为中心而不是以应用为中心来组织企业IT建设,SOA为企业提供了一系列关键的好处:能提高生产力,提高对业务和IT的灵活性和响应速度,允许IT更快地提供服务并更好地适应业务的需求,以及允许业务更快地响应并提供更好的用户体验。但怎样才能成功实施SOA呢?
从用户的角度看,SOA有助于企业实现资产重用、灵活的管理和更快的开发与部署。在当今的业务环境中,变化无时无刻不在,快速响应客户需求、应对市场机遇和外部威胁的敏捷性比以往任何时候都更显重要。SOA能帮助用户随需应变,代表了企业信息化的最高境界。
当然,也会有很多人认为SOA只是大型企业才会用到的一种架构和方法。其实不然,SOA不只是大企业所独享的,中小企业也一样能拥有。因为中小企业也是生态链中的一部分,他们并不需要整合自己,而是要把自己建立在一个开放的平台上,以帮助自己能参与到大的生态商业系统中。
那么,企业应该如何构建SOA呢?其实,实施SOA需要企业改变以往对待IT系统的观念,学会从新的角度看待IT系统。SOA不仅是技术问题,更是企业战略和业务方面的问题。
[关键词] SOA组织流程分阶段SOA成熟度模型
SOA (Service Oriented Architecture,面向服务架构)是一种面向服务的企业应用体系结构,是一种分布式的软件架构模型。 SOA是由一些设计原则衍生出的一系列技术,这些衍生技术遍布企业IT生命周期,以及企业IT系统的各个层次。企业SOA项目实施的第一步就是采纳合适的SOA解决方案。由于客户现有IT环境和业务环境的不同,采纳SOA的解决方案也会相应不同。为了评估一个企业的实施SOA的程度,我们需要一个覆盖全面的评估标准和一种对成熟度的划分。本文以企业的组织流程和IT集成现状为成熟度划分的标准建立了企业SOA项目实施成熟度模型。
一、企业实施SOA成熟度划分标准
企业的组织和流程、IT集成现状是实施SOA的关键因素,可以作为划分企业实施SOA成熟度的标准。
1.组织和流程现状:企业是否有实施SOA的经验,实施SOA的范围多大,企业是否规划过需要实现的SOA的能力,业务部门是否理解SOA实施的价值和过程,特别是业务部门参与重要性,是否有系统的方法指导服务的发现和设计,业务部门在服务的发现和设计中参与的程度如何?
2.IT集成现状:目前企业应用集成现状?企业应用的服务化程度如何?是否存在服务模型?范围多大?异构系统集成是否存在标准化接口?
以上两方面分别从管理和信息技术的角度对企业进行分析,为实施人员调查企业目前所处状态建立了一个度量标准。
二、SOA成熟度评估模型
本文按照SOA成熟度划分标准对一般企业IT系统现状在组织和流程、IT集成现状两方面进行调查和分析,将企业实施SOA的成熟度划分为四个阶段,即部门内整合、企业内外扩展、企业转型、按需服务,并建立SOA成熟度评估模型,如表。通过该模型,我们可以对企业现状进行分析和定位,从而指导处于成熟度各阶段的企业实施SOA。
三、用成熟度模型指导SOA实施
根据SOA成熟度模型,企业可以从业务角度和IT角度两方面出发分析自己的需求,根据自身现状和业务需求确定合适的SOA阶段性目标,并考虑到SOA发展的连续性,制定合适的SOA发展目标和战略,从而保证持续有效的投资回报。
通过对企业目前SOA现状的成熟度评估,确定企业各部门目前处于哪一层次,对于基础整合阶段的客户而言,企业对SOA项目实施无任何经验,处于探索阶段,应该选择从针对性强、经过验证、投资回报率高的项目切入以解决当前不知何从入手的困惑;对于跨部门扩展阶段的客户,企业要对重要的核心业务流程进行全面创新和优化,实现更高的SOA投资回报。针对中高级阶段的SOA客户,是指跨部门扩展、企业转型和随需而动的企业,尤其要关注如何保持流程完整性的问题。流程完整性是指在安全、可升级的 SOA 环境的各个层次中,以无缝集成的方式可靠的管理业务活动的能力。主要包括:交易完整性、信息完整性和交互完整性三个方面。因为SOA实施的比较成熟的客户,随着业务模块化的增多,企业可能会面临对以往的稳定性和安全性的牺牲。因此企业在实施SOA 进入高级阶段,享受灵动的SOA架构带来的价值同时,保证企业IT架构的 “正确与安全”,即:为用户提供及时和安全的信息与内容访问,信息需要可靠、完整且可管理;在交易连续执行的同时具备按需恢复的能力。
参考文献:
[1]王紫瑶南俊杰段紫辉等:SOA核心技术和应用[M].北京:电子工业出版社,2008.34-38
讨论嘉宾
SAP大中华区首席技术官 张侠
华夏基石信息技术公司副总经理 闻申生
北京国富创新管理咨询公司董事长 周永亮
诺维信(中国)生物技术有限公司副总裁 柳永茂
北京移动通信有限责任公司发展战略副总经理 纪涌
北京金三元阳光餐饮有限责任公司总经理 张惠欣
北京博奇电力科技有限公司信息部经理 郑晓燕
信元担保中国有限公司信息部主任 毛翔
中国北方工业公司信息资源部主任 马卫国
北京京能热电有限责任公司信息副总工程师 李东
北京京能热电有限责任公司系统分析工程师 郝丽娜
北京一轻集团信息部长 崔学军
中建三局北京分公司信息中心主管 肖育云
中建三局北京分公司信息办公室主任 肖磊
北京汽车修理公司厂长 尹思正
北京有色金属与稀土应用研究所技术部副部长 陈晓宇
北京有色金属与稀土应用研究所销售部业务经理 胡光
北京世纪金工投资有限公司信息部主任 高幸
北京东长安集团副总经理 荣晓维
博阳基业房地产公司项目部经理 刘彦亮
中核(北京)核仪器厂 张汉琛
北京建工集团信息部专管 陆祖迪
北京时代引擎科技有限公司总经理 夏志胜
主持人
智囊传媒总裁 傅强
“世界是平的”,现在已经成为了企业界一句时髦的语言,在弗里德曼的眼中,一个因信息技术而紧密、方便的互联网世界,全球市场、劳动力等等资源都可以被共享,过去一切难以实现的事情正在以最有效率的方式和最低的成本来现实。但是在一个正在变平的世界中,有多少企业同样也能跟得上世界变平的步伐呢?
毫不夸张地说,在企业中有太多的发展痛点,企业架构犹如人的神经系统,这些痛点严重阻碍企业的反应和效率,德鲁克曾经说过,企业需要什么样的组织取决于企业要实现什么样的业务目标。组织不是目的,而是达到经营绩效和结果的手段。但是同时他也警告:错误的组织结构会严重伤害、甚至摧毁企业经营绩效。这也是制约很多企业变平的主要原因。
不可否认,在推动世界变平的力量中,信息技术是最大原因,技术的进步以及互联网的普及,同样也带动了企业变平,现在已经没有一家企业在经营管理中不采用信息技术。
现在,部门级应用解决的路径造成了今天企业信息化建设中普遍的难题,对应“按职责划分职能部门、条块分割、垂直领导、纵向管理”,企业系统相应形成“各自为政、重复建设、信息孤岛”。
互联网让个体小单元力量开始兴起,带给企业的变革之一就是――从前适用的部门级条块分割的职能划分方法不再合理,转化为人与人工作节点上的连接。这时候,工作流程――那些为实现一定业务目标和价值的活动或过程――成为企业的运营核心。
在这种背景下,SOA理念逐渐被越来越多的企业所接受,SOA如今已经成为了企业IT架构的主流,但是SOA架构或者企业的IT架构能否和企业架构等同,SOA是否能够满足企业未来发展的全部要求?建设SOA又会遇到什么样的困难与挑战?
为什么需要SOA?
傅强:我们看到世界正在变平,这个过程一定需要企业在商业模式和架构上进行调整,也就是说,什么能够让我们的企业变得更平?今天很多的企业选择了SOA架构,这其中的主要原因是什么?
纪涌:从企业的战略上来说需要在不同的生命周期采用不同的业务模式,创造差异化。对于电信企业来说,第一个差异化是别人都没有的时候你要先做出来,第二个差异化是在别人都有了的时候,你做到与别人不同。
要做到这一点,首先需要在战略上有一个方向,其次需要制定相应的流程和支撑体系,最后需要用IT技术做一个固定。
固定对于企业来说是很重要的,没有固定,一切都是白说,而且必须是信息化的固定,因为人为的固定是不精细的,不可靠。这样企业就需要有一个平台能够做到这一点,这个平台不能总变,需要有一定的稳定性和可扩展性,而且能够解决企业的需求问题,最后还要能够方便管理。现在来看SOA在这些方面最适应企业的需求。
傅强:电信公司是一个大企业,那么SOA对于小企业是不是也同样适用?
张惠欣:我们的企业在餐饮行业只能算一个中小企业,这些年我也进行了一些信息化的建设,比如在财务和订餐系统上,我们都实现了电脑操作,但是还没有采用SOA架构。
尽管如此,我对SOA 的理念是认同的。比如面向服务、快速反应、资源共享等等,在我的企业里现在已经是按照这样的理念来管理。没有上SOA的主要原因是价钱对于我们这样的企业来说比较昂贵,有点负担不起。
张侠:对于小企业来说,我认为业务的确要比IT系统重要,因为没有成功的业务,小企业就不能生存,但是对于小企业来说,IT系统能够让小企业更快地发展。在SAP的SOA解决方案中一个显著的特点就是它是从应用出发,也就不需要企业进行大规模的开发和咨询,这样就能够节约大量的费用。
其次,SAP在大企业服务方面很成功,业界称为500强背后的管理大师,我们把这些经验总结成最佳业务实践,这样就可以帮助小企业尽快追上大企业。
傅强:小企业和大企业在很多方面都有所不同,大企业的经验小企业能否适用?
张侠:尽管大小企业之间有很多区别,但是一些基本的要素有很多相近的地方,这些要素是企业发展的根本,通过IT是可以被抽取和固化下来的,当然,对于每一个企业来说这种需求不可能完全一样,通过一些定制的开发就可以解决,对于小企业来说这种定制的开发会更少。
SOA怎样帮企业应对未来挑战?
傅强:SOA对于许多企业而言,不仅仅是一种技术,更是一种新的商业思维,是这样的吗?
荣晓维:SOA的确在理念上很吸引人,但是对于我们这样传统企业来说,最大的问题是寻找客户,SOA能不能帮助企业解决这样的问题?
张惠欣:我也对这样的问题很感兴趣,目前我们公司也正在进行转型,尝试新的模式,既在建设物理上的配送中心,同时也在网上建立虚拟的订餐系统,SOA在这种企业转型中的信息化建设中能起什么样的作用?
张侠:寻找客户可能有两种含义,一种是开拓新的客户,这种方式估计没有任何软件能够代替企业去做,毕竟软件不是万能的,它不能代替所有的企业活动。但是软件能够帮助企业挖掘客户更多的需求,从某种意义上来说这也是一种客户开拓,也能够为企业带来更多的业务。
马卫国:从我理解来看,SOA就像是企业的一个微循环。我们的公司之前上过ERP,也做过OA系统,这样的大系统对于企业来说就像是主动脉,是骨架,有了这些系统之后才需要SOA这样的平台。
ERP等应用在某些范围是必须的,但是过多的系统在企业内部很容易形成一个个的孤岛,这时候就需要有一个平台能够把这些孤岛连接起来。我感觉SOA就具备这样的一个作用,SOA平台就像是无处不在的毛细血管,可以把企业的信息孤岛整合起来,提高系统的可重用性,提升了效率。
SOA还可以做一个很重要的事情,就是法律遵从。一个企业做大之后这是不得不考虑的一个问题,一个企业要为客户着想,尤其对于国企来讲,不仅仅是客户的问题,是所有的利益相关者都要考虑,考虑到国家、社会以及当地环境的影响,这种管控用传统的软件开发的模式很难达到,很难开发出一个标准化的软件能够解决这个问题,但是在SOA的架构里面,你可以在企业里建立这样一个流程的管控、或者是风险管控的流程图。
所以我认为SOA可能做三个事情,一个就是整合信息孤岛,第二个就是打通企业微循环,然后就是企业做大之后,在法律遵从方面能够起到很大的作用。
企业如何推动SOA?
傅强:SOA是一个整合原有信息系统的架构,那么这样的一个举措对于企业来说应该在哪些方面注意哪些问题?
马卫国:在一个企业里面信息化要做好,信息部门一定要参与整个流程的制定,而且信息部门要主动地要求在流程制定里面承担一定的责任,甚至是作为一个公司里面日常的流程管理的一个部门。实际上这一点非常难,但是如果你不做这一点,SOA或者IT系统在一个企业里面发展,基本上不会起到太大的作用。因为IT最后还是要跟企业战略和业务结合,这样才能够最终显示你的价值。
张侠:从企业角度分析,为了最大限度地利用SOA的优势,从实施SOA方案之初,企业就需要制定一整套组织、财务、运营、设计以及交付实践方面的规划,还需要定义一个企业范围的参考架构(即现有IT架构的迁移目标),这个参考架构应基于服务和标准,面向企业和业务,并具有可适应性。
业界需要意识到的是,并不是任何SOA 方法都能取得成功。为了确保SOA的成功实施,还必须有三个核心组件:合适的平台、实践和人员。有了可靠的基础,公司才能通过在开始时制定一套组织、运营和交付实践方面的规划,实现长远和短期业务目标和需求的平衡。
SAP NetWeaver弱化了中间件,加强了应用模块,SAP正在通过NetWeaver将商务软件产品的重心从各种应用模块的机械性集成向基于商业流程的有机结合(BPP,Business Process Platform)发展,这种变化是SAP在SOA方面的一个特点,从应用切入实际产生的效果更直接,企业可以很快就享受到SOA带来的好处。
傅强:从长远来看企业架构和架构会是一个什么样的关系?
张侠:尽管SOA还不能等同企业架构,但我认为SOA架构在一定程度上必然要和企业的ERP、CEM系统进行融合,最终还有可能和企业架构融合,所以一定要把应用放在首位去考虑。
中国企业建设SOA更多要提升高度,在国外CIO的权力非常大,而中国的很多企业仍然称之为IT经理或者网管,这样不可能从企业发展模式的高度去构建SOA。一个数据表明,在国外有将近15%的CEO是由CIO担任的,这就足以说明信息化对于企业未来的重要性。
什么是SOA?
SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件交互的人为依赖性。
SOA并不是新生事物,大型IT组织成功构建和部署SOA应用已有多年的历史。这要比现有的XML和Web服务长很多。IBM CICS和BEA TUXEDO就是过去被用于构建SOA应用的两种技术范例。
重点说明的是,SOA并不是一种现成的技术,而是一种架构和组织IT基础结构及业务功能的方法。SOA是一种在计算环境中设计、开发、部署和管理离散逻辑单元(服务)的模型。这一定义阐明了SOA的范围。
SOA要求开发人员将应用设计为服务的集合。SOA要求开发人员跳出应用本身进行思考,考虑现有服务的重用,或思索他们的服务如何能够被其他项目重用。“单独的”、“独立的”、“封装完善的”服务所具有的一个关键的好处是,可以采用多种不同方法将它们组合成较大型的服务,由此来实现重用。
但是,SOA并不仅仅是一种开发方法。它还具有管理上的优点。例如,现在管理员可直接管理开发人员所构建的相同服务,这远胜于以往管理单个应用的方式。通过分析服务间的交互,SOA可以帮助企业了解何时以及为什么业务逻辑被切实执行了,这使管理员或分析师能够有针对性地优化业务流程。
SOA七大误区
SOA是一个新概念
错误。自从企业组织中有不止一台计算机运行,我们就开始尝试围绕共享功能或服务创造各种解决方案和科技工具。事实上,最早的RPC协议试图提供这种类型的架构,然后是IPC协议 ,以至分布式对象技术(比如COM和CORBA)。虽然Web服务提供了新的标准方式,但它还是像传统分布式对象技术那样运行。换句话说,它只是演变而不是革命。
必须用Web服务协议创建SOA
不是。虽然Web服务协议到目前为止还是首选的创建和部署SOA架构的标准,但是你也可以使用其他标准,比如CORBA、COM和 J2EE。你甚至可以采用私有技术创建SOA。记住,SOA只是关于共享和管理服务,你所采用的技术只需要满足它的需要。
购买了企业服务总线(ESB),就拥有了SOA
错误。ESB是非常强大的技术,它允许你通过Web服务界面在应用程序内和应用程序之间传递信息。但是,ESB并非完全基于行为的整合,或者共享真实的应用,它更多是信息导向。
SOA总是公平的
在很多案例中,你会发现SOA在商业上的两种反应,即节省组织成本,包括重复利用已存在的软件作为服务;以及增强改变IT方案,适应商业需求变革或灵活性的能力。在你计划设计和部署SOA之前你必须做一个评估,在你充分了解SOA的价值和项目成本之后搭建商业模型。大多数案例中成本会发生调整,这意味着企业可以从中获利,但是有一些案例并非如此。
当部署SOA时,只能选择一个供应商
当面对很多供应商时会出现兼容性问题。但是,事实是没有一个供应商可以为创建和部署大多数SOA提供端到端的解决方案,你必须选择一类里最好的。你可以通过在项目早期进行POC测试解决兼容性问题。
当创建SOA时,选择好技术和供应商就可以了
千万不要。只有你理解你的需求所在,什么问题是你最期望首先解决的,做一个商业模型,然后设计你的系统。当然,这意味着你必须要做一系列工作,包括弄懂代码、安全性、完善性、已经存在的服务、你需要创建的服务,等等方面。然后,你需要配置这些服务到相应的方案中,以及保证让这些方案随着商业的改变而变化。最后,你再来讨论技术,别忘了做POC测试以验证系统的有效性。
[关键词]面向服务的架构(SOA)Web ServiceXML ESB
一、引言
软件的本质决定了它的复杂性,而电子商务中应用到的软件不仅复杂而且多变,不断变更的多样化需求使得传统软件架构已经无法满足当前的需要。面向服务的软件架构(SOA)为处理这种复杂性提供了一种有效的解决方案。
二、SOA的定义
SOA(Service Oriented Architecture)即面向服务的体系架构。现在,SOA并没有确切的定义,它是一个概念,是说一个应用可以由一系列独立但又相互协作的子系统或者服务组成。这样的结构将各个服务独立出来,只把需要声明的接口告诉给其它的服务。接口定义采用中立的方式,独立于实现服务的硬件平台、操作系统和编程语言,使得这些服务可以使用统一和标准的方式进行通信。任何面向服务的架构包含三个角色:一个服务申请者(service requestor),一个服务提供者(service provider),和一个服务注册器(service registry),角色关系如图1所示。
其中服务提供者负责建立一个有用的服务,并为它创建一个服务描述,然后将这个服务描述给一个或多个服务注册器,并从一个或多个服务注册器那里接收服务请求信息。
服务请求者负责寻找在一个或多个服务注册器那里的一个服务描述,并负责使用服务描述来bind或者invoke服务提供者所提供的服务。一个服务的任何用户都可被看作服务请求者。
服务注册器负责将服务提供者在其上的服务描述广而告之,并允许服务请求者在本服务注册器所拥有的服务描述里搜寻。一旦服务注册器将服务请求者和服务提供者配对,服务注册器就不需要再参与交互过程。
三、SOA的主要支撑技术
SOA技术实施中涉及的主要技术包括以下几个: ESB 、Web Service、XML、SOAP、WSDL、UDDI。其中ESB、Web Service、XML尤为重要。
ESB(Enterprise Service Bus)
企业服务总线(ESB),它是SOA架构的支柱技术。它提供一种开放的、基于标准的消息机制,完成服务与服务、服务与其它组件之间的互操作。XML[3](Extensible Markup Language)
可扩展的标记语言(XML),XML是由万维网协会(W3C)创建的一种基于文本的规范标记语言,是Web Service平台中表示数据的基本格式。
Web service
Web service是建立可互操作的分布式应用程序的新平台, 它定义了应用程序如何在Web上实现互操作性。Web Service是就现在而言最适合实现SOA的一些技术的集合, Web Service标准的成熟和应用的普及为广泛的实现SOA架构提供了基础。
四、SOA参考模型(SOA-RM)及应用整合模型
一直以来SOA没有一个统一的标准。为了统一标准,OASIS作了很多工作,也取得了一定的成果,于2006年底通过了一套SOA参考模型,其他相关标准预计在2007年完成。
基于现有工作,本文给出一种解决方案,如图2所示。它在保证传统系统正常的前提下,将系统或者功能模块包装成服务,组成符合SOA模型的系统。大大提高了软件复用性,节约了成本。
在这一方案中,不同类型的用户通过各自的用户界面进入系统,并向ESB提出服务请求,ESB将请求经由通用接口层分发,最后由特定的程序或者模块处理,处理结果逆向反馈给用户。
五、结束语
SOA成本低、易集成,它可以整合现有资源,并且有了新的应用时也很容易扩展而无须对现有系统作大的改动,只需将新的功能注册为服务即可。这样既提高了复用性,又有很好的扩展性。SOA的松耦合性和灵活的特点必将使它成为电子商务应用中占有绝对优势的软件工程实践方法。
当然,要真正SOA,还有很多问题和面临的挑战。如最急待解决的,统一的SOA标准问题。
参考文献:
[1]IBM技术支持库,[EB/OL],
,2006-12-05
[5]2007年 OASIS探寻标准SOA参考架构,[EB/OL],
然后从2003年开始,IBM用了4年的时间循序渐进的告诉所有心存疑惑的人们,整合的时代已经伴随新一轮全球化浪潮肆意张扬的呼啸而来――尽管,整合这个词本身,仍然带有晦涩的色彩。
在这一过程中,IBM一边持续不断的进行并购,执着的向其软件体系输入新鲜血液,并以自身为例来印证整合创新的价值;一边为一些如SOA(面向服务架构)、GIE(全球整合企业)、SaaS(软件即服务)之类原本生僻的技术名词赋予新的内涵,并由此成为业界争相追逐的热门词汇,微软和Oracle争相用各自擅长的方式加入到了这股潮流中。
衔接在口号先于行动、概念大于内容的阶段之后,IBM的2008年注定将是亮出王牌的一年。在1月16日刚刚结束的“IBM论坛2008”上,IBM所给出的标语突然间变得异常直白:停止(Stop)、开始(Start)、Talking、Doing。这个细节也预示着,IBM走向整合之路,将会由此渐渐告别市场培育期,开始进入短兵相接的实质性阶段。
IBM的整合变奏
本刊记者 赵仁宇
以SOA的全面“落实”为标志,全球第二大软件公司IBM走向整合的道路,将会由此渐渐告别市场培育期,开始进入短兵相接的实质性阶段。
2007年12月28日,中国深圳。
位于深圳市深南大道高新技术产业园区内的金蝶软件(中国)有限公司(.cn)(以下简称金蝶)总部大楼里,涌入了行色匆匆的一群人。走在最前面的除了金蝶国际软件集团行政总裁何经华之外,还有一位干练的女士,她是IBM(.cn)大中华区副总裁、渠道及市场部总经理钟郝仪。
在金蝶办公室中略显局促的大会议厅里,来自IBM的客人和金蝶的众多高层一起举行了一个简短却气氛热烈的仪式。从这天开始,由IBM提供全方位支持的“金蝶SOA创新中心”正式揭牌。“在2007年岁末,我们做了一个意义深远的活动,或者说是决策,”何经华用其颇具标志性的激情口吻说,“金蝶和IBM合作,正式成立我们的‘SOA创新中心’,这也是继2007年6月份IBM和雷曼兄弟战略投资金蝶之后,双方进行的另一次深度、广度的合作。”
这家“SOA创新中心”(SOA Innovation Center)也是IBM在最近半年来,与其中国合作伙伴陆续建立的第4家SOA实体机构。此前,IBM在2007年6月8日、8月22日、11月16日分别和浪潮(.cn)、用友(.cn)以及软通动力(,cn)一起成立了三家“SOA创新中心”。
陈琦程亲历了这四家“SOA创新中心”创建前后的整个过程。可以说,2007年的下半年,也是他加入IBM以来最为繁忙的6个月。他的名片上,印着一长串头衔。包括IBM中国开发中心(CDL)、SOA核心竞争力中心、大中华区SOA技术战略与合作部,陈琦程是同时隶属于这三个部门的资深IT架构师和经理。而他最为在意、也最重要的角色,则是SOA技术战略与合作部执行总监的职位。
陈琦程在北大读完了大学,毕业后曾经和王志东一起创过业。几年后,出于个人兴趣和性格的原因,他选择加入了当时赫赫有名的Lotus(莲花软件)公司,并在Lotus美国总部开始了他的职业生涯。后来又随着Lotus被IBM收购而进入IBM。2006年秋天,他在现任IBM中国开发中心(CDL)总经理郑妙勤的邀请下,以IBM派驻国内的美国专家身份回到了阔别十几年的中国,并出任了IBM在当年年底新设立的“SOA技术战略与合作部”的执行总监。
在IBM在华设立的众多研发机构中,CDL有着很特殊的定位,它一端衔接IBM中国研究院,一端直接面对产品部门,起着技术产品化的作用。回到中国的陈琦程被赋予了非常明确的任务,即直接负责IBM大中华区软件集团自2006年4月启动的“SOA 100计划”,也就是“SOA英才孵化计划”。该计划一方面映衬了IBM近几年间对于SOA不遗余力的器重,另一方面也非常直观地体现出IBM对于中国软件业的渗透路径。
星火燎原
这项声势浩大的“金字塔”式方案计划利用三年的时间,由IBM配合中国的合作伙伴培训100位资深SOA架构师,再以这100位架构师为基点,在更广泛的层面上培养出1000位普通的SOA架构师,继而再由此带出1万名SOA领域的产品专家和技术人员。后来,IBM又在“SOA 100计划”的基础上,推出了另一项雄心勃勃的“IBM SOA合作伙伴联盟计划”。IBM将按照合作伙伴的需求和现状,把他们分成初级、高级和顶级成员三部分,并为不同层面的合作伙伴提供独一无二的量身定制的SOA扶植与合作支持。
在紧张筹备了一年多之后,浪潮首先和IBM走到了一起,成为IBM“SOA俱乐部”中的首位顶级成员。2007年6月8日,IBM与浪潮软件在济南签下协议,协助后者成立了国内首家“SOA创新中心”,该中心就建在泰山脚下的泰安软件园区内。当时的签约仪式,甚至吸引到了刚刚接替宋家瑜出任IBM全球副总裁、大中华区软件集团总经理的Bete Demeke亲自到场。
看看这家创新中心的目标,你就会明白IBM的深意。首先是2007年,在浪潮软件自有的楼上企业开发平台(Loushang)的烟草行业应用开发过程中,应用SOA;未来3~5年内,再将SOA应用到如能源、金融、政府等其他垂直行业中。
IBM期望随着浪潮软件的成长和对SOA的重视,可以帮助自己相应的间接介入这些行业,并使SOA的落地形成连锁反应。IBM大中华区软件集团SOA销售总经理夏然解释说:“中国的市场要比美国复杂得多得多。SOA在中国的推广,不可能没有合作伙伴。”
Bete这样评价IBM在此次合作中的收益:“对IBM来说,它重视的不仅仅是金钱的回报,它更看重的是对IBM整个行业的支持,这是给IBM带来的最大的好处。”
按IBM的说法,其每年在SOA领域的投资高达10亿美元,在这种级别的资金背景下,像IBM为浪潮“SOA创新中心”所提供的包括软硬件设备、SOA服务咨询、业务流程设计、专业人员培训等等支持,实在显得微不足道。
陈琦程忙了大半年,陆续又将用友、软通动力和金蝶吸引到了IBM的“SOA俱乐部”中,并成为顶级成员。“我们这个部门的职责之一,就是保障IBM的SOA战略在中国顺利实施,并为合作伙伴成长提供可靠的技术保障。”在接受《互联网周刊》采访时,陈琦程解释说,“我的部门不仅是中国的技术资源,还有全球的技术资源,比如参与金蝶这个项目的首席架构师,就是IBM从多伦多派来的,我们希望能把IBM的实践经验带给合作伙伴。”
作为“金蝶SOA创新中心”的主任,金蝶软件的副总裁林峰,亲历了该中心从提议、筹划到搭建的全过程,与IBM方面的众多技术专家打了半年多的交道。按他的话说,IBM给他的感觉就是“很庞大、很热情”。
“在2007年6月IBM投资金蝶前后,我对IBM的印象确实有一些差别。比如之前IBM给我们更多的是技术专家的形象,为我们的技术发展带来帮助。我当时希望的合作形式,原来是提出申请、然后获取资源,这样的流程。”林峰向《互联网周刊》坦言,“但现在的期望,则更多是双方都能对彼此的业务更好的相互了解,并能相互促进。这个中心的建立,本身就是SOA落地计划的一部分,同时也表明我们和IBM的关系已经由原来比较被动的方式转为双方可以主动进行合作的方式。”
像这样的顶级成员,数量不会太多。“在4个月之前,我们的目标是5个顶级、30个高级、100个基础的会员。现在顶级的有4家了,其他类型的已经有超过150家合作伙伴在申请,其中一些会是高级的,有一些是基础的。”IBM大中华区策略与地区合作伙伴部总经理李永财告诉记者,“并不是高级就是好的,比如我们有一些合作伙伴是只做某个地区的业务,不想做得太多,所以对他来说,只要达到基础的要求,可以拿到适当的层级就足够了,而不想投入到更高的层级。所以不存在高级的就更好,而是要根据不同合作伙伴的需要,我们双方来共同打造一个好的计划,一起成长。”
对于IBM软件集团而言,SOA无疑是其近几年来的行动纲领。通过设立那些“SOA创新中心”,IBM无疑可以把SOA的技术理念更为紧密和深入的传达到合作伙伴那里,并通过各个层面的合作,进而传达到更为广泛的ISV、SI那里,由此而构建出完整的生态系统。而IBM的下一步,则顺理成章的放在了SOA的落地,也就是获得真切的客户应用上。
蒲公英的种子
国内的医院永远是一个人满为患的地方,看病是一件相当麻烦的事。如果你可以不用亲自去大医院挂号,在家门口的社区卫生医疗机构点就可以享受到大医院的服务,这就需要这一区域与卫生系统关联的各机构实现纵向、横向的数据整合。北京市西城区卫生局正在做这样的事情,并且选择了IBM来帮他们实现SOA。
“当时选择SOA,是考虑到SOA可以把不同的服务、不同层次的发展,根据我们的能力合理的部署在一起。”北京市西城区卫生局信息中心的主任朱树宏对于SOA的选择有自己的考虑,“每个做政府的厂商都会感觉,从项目签下来到项目完成,需求改了十次八次,风险也依赖于政府对项目成熟度的控制,也就是说如果作为政府方不能有效的控制住需求,不能和乙方很好的合作,SOA项目最后的结果往往就是失败。”
北京市朝阳区不久前刚刚采用SOA应用框架搭建完成了一套城市网格化管理平台,实现了一个平台多种应用,资源横向共享,并搭建起了基础综合平台。“朝阳区不断发展变化以及城区复杂的特点,要求我们的系统里面一定要考虑到不断变化的新情况。”北京市朝阳区信息化工作办公室、信息网络中心主任梅诗曙对这个新系统非常满意,“IBM的合作伙伴国研科技基于SOA架构,用IBM成熟的中间件产品进行的二次开发与部署,成功地按照我们的要求搭建了朝阳区的网格化管理平台。目前,该平台运行良好。同时,平台由于基于SOA的架构,能够支撑目前业务的发展变化,支撑我们的很多调整,可以说是一种随需应变的架构。”
类似的场景一年前也在南京市玄武区上演过。2007年3月,作为“数字玄武”规划的主体建设,基于SOA的玄武区统一的电子政务基础平台在IBM及其合作伙伴北京有生博大软件技术有限公司的帮助下,成功搭建完成。在该平台之上,玄武区成功整合了财务、计生、民政、发改、卫生等全部13个政务应用系统。
而在2007年年底,中国电信上海研究院举办的第二届创意大赛进入了筹划阶段,引人关注的是上海研究院同时建设的一套中国电信(.cn)的创新汇聚平台―“创新梦工厂”。其实质是一个工具,一个能帮助企业更高效、快速地进行创新活动的工具,由IBM高性能随需应变服务解决方案(HiPODS)团队研制开发,为客户提供Web 2.0型的协作和IT管理功能,使其能够创建并运行从孵化到产品的服务。值得一提的是,“创新梦工厂”中的服务网格环境,也是基于SOA架构提供开发、运行和维护服务。这无疑又是SOA在中国落地的另一个实证。
上面提到的几个故事,是IBM大力宣扬了3年之久的SOA在中国的落地版。2007年11月,在上海举行的IBM 2007 SOA创新高峰论坛上,IBM软件集团大中华区市场总监刘秋美告诉记者:“我们把一个SOA的演进和成功的推进过程大概归纳为四个阶段―从刚开始的切入点,到第二阶段端到端的扩展,再到第三阶段的业务转型,直至最后技术和业务之间完全透明的互相整合。”IBM希望以此来告诉中国的企业,SOA已经不再遥远。
对此,李永财深有感触。“两三年之前与客户谈时,大家有一个怀疑,认为SOA这个东西是什么?怎么用?对我有什么好处?”李永财对《互联网周刊》说,“这一年多,很少再碰到这些问题,基本上碰到的问题就是SOA怎么用?什么时间用?以及用在什么地方?这是一个很明显的变化,现在企业已经开始接受SOA。”
钟郝仪非常赞同李永财的看法,她觉得,无论是从市场的接受程度,还是人才的储备,“在2008年,都将有一定程度的实施”。“相对国外的企业而言,中国的企业一般都比较年轻,其IT架构,相对来讲比较合适SOA的实施。而在国外,他们要做的工作比中国的企业考虑的东西要多。所以SOA的概念,当大家认同了之后,实施的时间应该会比国外企业短。”
通往整合的大道
“SOA不是一个产品,是一个以服务为导向的架构,所以它实际上并不产出什么样的代码,它是一个概念,是一个产品设计的概念加上业务模型的整合,所以理论上,它可以覆盖所有的软件产品和解决方案。”据何经华说,金蝶从2003年开始就已经在关注SOA技术的发展,他对SOA也有着深刻的认识,“事实上,它最重要的目的就是把人类几十年信息化整合出来的各式各样的应用和解决方案,怎么样有效地整合起来。从企业角度讲,有财务软件、ERP,还有人力资源软件,这么多东西如何整合在一起,形成合力的效果。”
“不论有没有开始做SOA,不管SOA到什么程度,IBM都告诉你具体每一步该怎么做,不管你的企业规模有多大,你都可以成为一个全球整合的企业。”这是刘秋美对于SOA定位的表达。实际上,SOA这三个字母的背后蕴藏着太多的内容,在某种层面上看,你不妨将其理解为通往整合的一条途径。当然,目前这条道路已成为兵家必争之地。
对于一直战斗在第一线的陈琦程而言,他觉得SOA并不是突然间冒出来的新技术,其本身就是通过软件工程和各方面的IT技术发展自然而然积累形成的。“SOA解决了一个最大的问题,就是业务的变化。因为目前世界面临的趋势就是全球的整合,越来越快的变化给IT带来巨大挑战;而在整合过程中,需要有一个开放的标准,提供快速应变的能力来应对业务变化以及全球整合的大趋势。”从这个角度看,SOA其实也是对几年前IBM所提出的“Information On Demand”(信息随需应变)的一种技术演绎。
根据Gartner的报告,2006年全球已经有60%以上的企业考虑以SOA为指导原则来进行关键任务的应用和建立工作流程,到2008年,SOA会为全球80%的新开发项目提供实施的基础。
但SOA并非IBM的技术专利。尽管在走向整合的道路上,IBM一边持续不断的进行并购,执着的向其软件体系输入新鲜血液,并以自身为例来印证整合创新的价值;一边也在不断为SOA赋予新的内涵。SOA毫无疑问的是近两年中全球软件业最炙手可热的名词,微软和甲骨文争相用各自擅长的方式闻风而来。
甲骨文延续其鲸吞路线,在1月16日以85亿美元的高价并购BEA(.cn),由此获得了足够强大的和IBM中间件一较高低的资本。而微软的步伐则要迂回和巧妙得多。2007年12月,在IBM的SOA创新高峰论坛刚刚落幕之后,微软借势在北京举办了几乎同样规模和主题的的2007微软中国SOA高峰会,并以“双S”(软件+服务)为切入点,高调表达了微软对于SOA的技术积累、能力和决心。
众多竞争对手的追捧似乎不足以对IBM的软件帝国构成威慑。在今年1月接受本刊记者专访时,IBM软件集团总裁Steve Mills这样评价IBM与甲骨文和微软的区别:“微软主要是在大型企业或者中小型企业应用的层面,甲骨了许多大型的应用软件,而IBM是不做应用软件的,我们提供基础的平台,包括技术性的软件,比如说中间件。我们的市场是不一样的,我们更注重怎么样给商业或者政府机构提供软件,而不是为最终用户提供软件。从这一点上也可以看到,IBM和他们实际上是有不小区别的。”
自1995年IBM决定正式组建软件集团至今,IBM已先后完成了50多次规模各异的并购,并也由此逐渐构建出了全球第二大软件公司。根据IBM在1月20日的2007财年财报,其软件业务收入180亿美元,同比增长13%,这也是IBM三大业务部门中最出色的业绩。
IBM的2008年注定将是亮出王牌的一年。经过了前几年的概念宣讲阶段,在1月16日刚刚结束的“IBM论坛2008”上,IBM所给出的标语突然间变得异常直白:停止(Stop)、开始(Start)、Talking、Doing。这个细节也预示着,全球第二大软件公司IBM走向整合之路,将会由此渐渐告别市场培育期,开始进入短兵相接的实质性阶段。
我们更关注客户的业务如何发展
――专访IBM全球副总裁兼软件事业部总经理Steve Mills
《互联网周刊》:最近几年间,全球软件业的并购不断,2007年同样也不例外,前些天甲骨文还刚刚并购了BEA。在这样的背景下,全球软件业未来五年的发展趋势和方向会怎样?
Mills:这个问题有两方面,一方面就是并购仍然会持续发生;另外一个方向就是2007年以后会出现新锐的新兴软件公司,这种情况在美国、中国、印度都会有。将来的软件业格局中,更多的会是比较大规模的公司和中等规模的公司,大量小规模的公司会被并购。
《互联网周刊》:还有什么趋势和因素是在接下来推动全球软件业继续成长的?
Mills:软件业的发展实际上是技术的发展,比如说SOA技术,以及未来商业智能化的趋势,这些都是软件的机会。这个机会IBM会利用,我们的竞争对手也会,新兴的软件公司同样也会。所以我们可以看到,全球软件业将来的发展一个重要的推动力来源于客户的需要。
《互联网周刊》:你提到的未来两大发展方向里,可能会遇到什么样的问题或者瓶颈吗?
Mills:我们遇到的问题主要还是能不能满足客户的战略需要。当然,将来可能会有一些大的公司比如IBM,对一些小公司的需求也会产生兴趣,也会需要去满足它们的需求。但对小公司的挑战主要有几个方面,一是能不能给客户提供价值,第二个方面是它有没有长期的规划,使得客户能够看到它长期的发展。
实际上,软件不仅仅只是需要开发新技术,或者写出一个新的程序,而是要看能不能满足客户的要求,所以需要一种模型来适应你的客户需求。
《互联网周刊》:对于IBM软件集团而言,关注和投入的重点领域有哪些?
Mills:其实我们应该从全球化的观点来看这个问题,我们主要是看某项技术能不能来支持我们的客户,目前,我们更关注的是他们的业务怎么样发展。对IBM而言,我们的发展并不只是在某一个国家和地区,而是在全球。
《互联网周刊》:在甲骨文、IBM、微软三大软件巨头竞争中,IBM如何定义自己的角色?
Mills:微软、甲骨文都是我们的竞争对手,软件收入微软是占第一位,IBM是第二位,但微软主要是在大型企业或者中小型企业应用的层面,所以市场是不一样的,我们更注重怎么样给商业或者政府机构提供软件,而不是为最终用户提供软件,我们把重点放在更大型的软件上,比如大型的数据库等等。
甲骨了许多大型的应用软件,而IBM是不做应用软件的,我们提供基础的平台,包括技术性的软件,比如说中间件。甚至在甲骨文收购了BEA之后,我们比甲骨文的中间件产品线至少还大50%。从这一点上也可以看到,IBM和他们实际上是有不小区别的。