关于SOA架构设计的案例分析

SOA (Software-Oriented Architecture),即面向服务的架构,最初由全球最具权威的IT研究与顾问咨询公司Gartner于1996年提出,但因为当时的技术水平和市场环境尚不具有真正实施SOA的条件,SOA并未引发人们的真正关注,所以在接下来至关长一段时间内归于沉寂。进入21世纪以后,Internet风起云涌,愈来愈多的企业将业务转移到互联网领域,带动了电子商务的蓬勃发展。为了可以将公司业务打包成独立的、具备强大伸缩性的可跨越Internet访问的服务,人们提出了Web服务的概念,这是SOA实践的真正发端。html

  SOA 提供了一种构建IT 组织的标准和方法,经过创建可组合、可重用的服务体系来减小IT 业务冗余,并加快项目开发的进程。SOA 容许一个企业高效地平衡现有的资源和财产,这种体系可以使得IT 部门效率更高、开发周期更短、项目分发更快,在帮助IT技术和业务整合方面有着深远的意义,它能够:安全

  • 缩小业务和技术的鸿沟——以业务为中心

  SOA 改变了以往以技术为中心的信息系统建设模式,使得IT 技术从新回到业务支撑的角色。IT 技术的目标是为业务、应用服务,而不是IT 技术自己的发展。业务人员能够像组装硬件同样从业务角度即时构造应用,从而缩小业务和技术的鸿沟。网络

  • 软件资源的共享与重用

  SOA提供了一种把原有的组件按必定的标准封装为具备文档形式接口描述的服务,从而使服务的使用者和服务之间是一种松耦合关系。这样,一方面能够把遗留系统封装为服务加以复用,提升了投资回报率;另外一方面,能够直接调用外部服务提供商提供的服务从而起到复用的做用。架构

  • 应用的随需扩展——灵活性和敏捷性

  SOA的松耦合特性给应用带来了极大的灵活性。服务使用者和服务提供者在保持接口契约一致性的状况下,能够独立演化。基于SOA 的应用能够当作是一组服务以及服务之间松散耦合的集合。所以,一方面新的服务能够很容易地加入这个松散集合,另外一方面也能够根据业务需求从新编排集合内的服务,以生成新的复合服务。所以基于SOA的应用具备易于改变、易于扩展的特色,从而支持了业务的快速反应和敏捷性。负载均衡

  总之,面向服务架构(SOA)试图将网络上须要共享的各类资源统一以服务的形式进行封装和接入,让它们在物理上保持分布自治的同时实现以“虚拟信息中心”为基础的逻辑上的一体化管理,以透明的方式进行资源的优化选取、按需中介和有效访问,并可以支持用户主动参与应用配置。模块化

  随着SOA发展的深刻,各类SOA相关技术标准也随之发展和完善。SOA的优势和特色,已经为大多数厂家和用户所熟知,如松耦合、业务敏捷性、基于开放式标准等,那么如何构建企业或组织的SOA应用呢? SOA 参考架构 (Reference Architecture)将是一个很是好的起点,它能够为用户带来以下好处:工具

  • 可做为SOA开发实施的蓝图,提供SOA的整体规划建设参考
  • 改善SOA实践,提升SOA实施的成功几率
  • SOA参考架构各个组成部分定位清晰,松散耦合,便于项目管理
  • 促进SOA参与角色及各方认识一致,推动标准化
  • 促进 IT 与业务的紧密配合
  • 协助企业向重用、团队协做和资源共享的文化迁移

  SOA 参考架构 (Reference Architecture)及相关技术,主要应用在企业应用集成领域,它可以以服务的方式共享和复用企业现有应用资产,保护用户IT投资,并可以以服务的方式构建新的业务流程,对组织中的业务流程进行灵活的重构和优化,加强业务的敏捷性。经过SOA参考架构,能够为企业架构提供一种指导和参考,使得新的需求可以更快的获得响应。优化

图1 SOA 参考架构

  如图1所示,SOA参考架构描述了企业范围内SOA项目所须要的关键能力。spa

  开发服务(Development Services)用于实现新开发的组件以及重用基础架构的能力。.net

  业务创新优化服务(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实现方案分为如下部分:

  1.SOA基础实现

  • 业务参考模型:基于企业动态建模原理,提供了企业建模的元语义,是金蝶SOA方案中对全部服务描述的基本语法。
  • 核心组件:包括对应用程序进行统一访问的信息门户;联接银行、税务公共服务的应用接口;对业务内容进行分级管控的组织架构管理;统一不一样应用系统之间业务语义的主数据管理;基于ERP应用实践提供企业可开箱即用的标准业务流程与业务组件。

  2.SOA总线结构实现:

  • 消息总线:负责在传输层面提供各类手段,屏蔽网络链接、消息路由、打包传递等功能,实现不一样物理机器、不一样平台上运行的应用系统之间透明的、可靠的消息传递。
  • 数据总线:实现对所传递数据进行格式的识别和转换,并实现数据路由将数据按照集成方案的编排传递到指定的目标系统中。
  • 服务总线:Web Service和专业Adapter提供了各种应用系统和接口访问支持能力,经过在消息节点和消息代理上挂接Web Service或专业Adapter,造成真正意义上的ESB,并提供服务请求和响应的智能路由。

  3. SOA关键服务实现:

  • 在SOA基础实现的方案上,经过业务功能能够被发布和提高(Promote)为业务服务(Business Service);工做流程能够被发布和提高为复合服务(Composited Service),经过Promote的过程实现了金蝶SOA对SOA标准和规范的支持能力;业务服务能够被外部的SOA系统再次编排和组合,而且能够方便的接入到第三方供应商的SOA产品中。

  在逐级的实现SOA架构的基础上,金蝶SOA的还提供完整的SOA开发服务与SOA运营管理服务

  4.开发服务:提供从覆盖应用设计,业务组件建模,服务组件开发,服务的编排与流程建模完整的服务实现的开发环境。

  5.管理服务:实现了部署与系统监控、集成方案定义、数据转换定义、流程配置与监控的SOA运营管理体系。

转载出处:https://blog.csdn.net/joeyon1985/article/details/46737751 追寻北极

相关文章
相关标签/搜索