扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:邓亚明 来源:ZDNet CIO频道 2009年11月12日
关键字: SOA
SOA (Software-Oriented Architecture),即面向服务的架构,最初由全球最具权威的IT研究与顾问咨询公司Gartner于1996年提出,但由于当时的技术水平和市场环境尚不具备真正实施SOA的条件,SOA并未引起人们的真正关注,因此在接下来相当长一段时间内归于沉寂。进入21世纪之后,Internet风起云涌,越来越多的企业将业务转移到互联网领域,带动了电子商务的蓬勃发展。为了能够将公司业务打包成独立的、具有强大伸缩性的可跨越Internet访问的服务,人们提出了Web服务的概念,这是SOA实践的真正发端。
SOA提供了一种构建IT组织的标准和方法,通过建立可组合、可重用的服务体系来减少IT业务冗余,并加快项目开发的进程。SOA允许一个企业高效地平衡现有的资源和财产,这种体系能够使得IT部门效率更高、开发周期更短、项目分发更快,在帮助IT技术和业务整合方面有着深远的意义,它可以:
缩小业务和技术的鸿沟--以业务为中心
SOA改变了以往以技术为中心的信息系统建设模式,使得IT技术重新回到业务支撑的角色。IT技术的目标是为业务、应用服务,而不是IT技术本身的发展。业务人员可以像组装硬件一样从业务角度即时构造应用,从而缩小业务和技术的鸿沟。
软件资源的共享与重用
SOA提供了一种把原有的组件按一定的标准封装为具有文档形式接口描述的服务,从而使服务的使用者和服务之间是一种松耦合关系。这样,一方面可以把遗留系统封装为服务加以复用,提高了投资回报率;另一方面,可以直接调用外部服务提供商提供的服务从而起到复用的作用。
应用的随需扩展--灵活性和敏捷性
SOA的松耦合特性给应用带来了极大的灵活性。服务使用者和服务提供者在保持接口契约一致性的情况下,可以独立演化。基于SOA的应用可以看成是一组服务以及服务之间松散耦合的集合。因此,一方面新的服务可以很容易地加入这个松散集合,另一方面也可以根据业务需求重新编排集合内的服务,以生成新的复合服务。因此基于SOA的应用具有易于改变、易于扩展的特点,从而支持了业务的快速反应和敏捷性。
总之,面向服务架构(SOA)试图将网络上需要共享的各种资源统一以服务的形式进行封装和接入,让它们在物理上保持分布自治的同时实现以"虚拟信息中心"为基础的逻辑上的一体化管理,以透明的方式进行资源的优化选取、按需中介和有效访问,并能够支持用户主动参与应用配置。
随着SOA发展的深入,各种SOA相关技术标准也随之发展和完善。SOA的优点和特点,已经为大多数厂家和用户所熟知,如松耦合、业务敏捷性、基于开放式标准等,那么如何构建企业或组织的SOA应用呢?SOA参考架构(Reference Architecture)将是一个非常好的起点,它可以为用户带来如下好处:
SOA参考架构(Reference Architecture)及相关技术,主要应用在企业应用集成领域,它能够以服务的方式共享和复用企业现有应用资产,保护用户IT投资,并能够以服务的方式构建新的业务流程,对组织中的业务流程进行灵活的重构和优化,增强业务的敏捷性。通过SOA参考架构,可以为企业架构提供一种指导和参考,使得新的需求能够更快的得到响应。
图1 SOA参考架构
如图1所示,SOA参考架构描述了企业范围内SOA项目所需要的关键能力。
开发服务(Development Services)用于实现新开发的组件以及重用基础架构的能力。
业务创新优化服务(Business Innovation & Optimization Services)用于从IT和业务两个层面来监控和管理运行情况。
管理服务(Management Services)包括对服务、应用和资源的管理和保护能力,如通过负载均衡来有效的分配系统计算资源。
SOA解决方案中的很多服务都是由已有应用系统提供的,接入服务(Access Services)提供访问已有应用或遗留系统的能力,同时提供已有应用、打包应用程序与ESB之间的桥接能力,将已有系统中的功能和信息转化为服务。
业务应用服务(Business App Services)指那些通过新的计算平台JavaEE来实现的新应用,它们所实现的功能和信息也都转化为服务提供出来。
在业务流程需要与外部的合作伙伴、供应商交互的情况下,伙伴服务(Partner Services)提供文档、协议以及伙伴管理的能力,比如说,可以提供企业边界处不同安全级别差异的转换。
信息服务(Information Services)是那些跟信息(而不是活动)有关系的服务,比如将多个系统中异构的数据,聚合、转换为业务需要的统一整齐的业务数据对象来访问。信息服务通过联合、复制和转换来解决基于不同实现方式的不同数据源之间的数据共享难题。
流程服务(Process Services)是指把多个服务聚合成为一个服务流程对应业务过程的服务,这种复合服务通常是长时间运行的过程。流程服务提供服务控制能力,将多个服务串起来实现一个业务流程。
交互服务(Interaction Service)一方面将人的活动,通过人机交互以服务的方式出现在整个业务过程中,作为流程服务)中的一部分;另一方面将IT的功能和数据传递给最终用户,并满足用户特定的使用习惯。
在SOA参考架构中,企业服务总线(ESB Enterprise Services Bus)处于非常重要的位置,它提供服务的中介,解耦服务请求者和服务提供者,是SOA参考架构中的核心。ESB是过去消息中间件的发展,采用了"总线"这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务级别上的动态互联互通。需要注意的是,ESB是一种架构模式,不能简单地等同于特定的技术或产品,但实现ESB确实需要各种产品在运行时和工具方面的支持。
SOA参考架构是一个完整的企业架构,可以覆盖整个企业范围内集成的需求。参考架构中的服务通过模块化的方式进行集成,因此SOA的实现可以从一个小的项目来启动,在新的项目实施的时候,新的功能能够轻松的加到架构中,通过渐进的方式在企业范围内扩大集成的范围。
SOA参考架构具有如此多的功能和优点,那么,中国国内的软件企业,又有谁具备了SOA参考架构,并具备了向客户提供SOA解决方案的能力呢?
2007年6月,Gartner发布了全球应用基础软件报告。在此次报告中首次对提供SOA服务的各大软件公司进行了详细分析,并列出了全球有能力提供SOA解决方案的19家主要厂商。令业界为之瞩目的是,金蝶作为国内唯一一家企业,和IBM、BEA、Oracle、微软等世界软件巨头一起入选。
图2 Global SOA Service Enterprise
金蝶公司作为国内领先ERP厂商,一直在关注并积极推进SOA的产品应用,金蝶BOS就是这方面努力的成果。金蝶BOS采用了企业服务架构的架构思想,成为金蝶ERP满足适应性业务的平台基础。
图3金蝶SOA产品解决方案金蝶BOS的SOA实现方案分为以下部分:
SOA基础实现
SOA总线结构实现:
SOA关键服务实现:
在逐级的实现SOA架构的基础上,金蝶SOA的还提供完整的SOA开发服务与SOA运营管理服务
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者