• 1. 教育部-IBM 精品课程服务计算与SOA开发 服务计算基础概念西安电子科技大学 软件学院 主讲人:鲍亮
  • 2. 课程内容SOA参考模型 IBM SOA参考架构 本次课程总结
  • 3. SOA参考模型
  • 4. SOA参考模型 近年来,SOA成为了业界的研究热点。一方面,主流IT企业IBM、SUN、SAP、普元等纷纷推出基于SOA的相关产品和解决方案;另一方面,OASIS、W3C、OSOA等标准化组织依托其成员的工作,逐步推出了SOA标准和规范。关于SOA的概念、模型、产品和解决方案等一整套体系逐渐浮出水面。其中,SOA参考模型一直是研究重点,但迄今为止还没有形成业界公认的标准。
  • 5. SOA参考模型SOA模型基本概念 SOA概念模型 SOA模型 SOA参考模型
  • 6. SOA参考模型 SOA概念模型 SOA概念模型的核心思想是服务请求者和服务提供者之间的交互,主要角色包括服务请求者、服务提供者和服务代理。服务提供者将服务发布到服务代理中,服务请求者通过服务代理查找服务,继而与服务提供者建立连接。
  • 7. SOA参考模型SOA概念模型
  • 8. SOA参考模型 SOA参考模型 参考模型是为了理解某一环境实体间的重要关系而建立的抽象框架,采用支持此环境的统一标准和规范来开发特定的体系架构。SOA参考模型是一个用以指导建立具体SOA的抽象框架,描述了SOA环境中各实体及实体间的关系。通用的参考模型应该与具体标准、技术或其他实现细节无关,只由最小的一组概念、公理和关联组成。
  • 9. SOA参考模型 SOA参考模型分类 目前,SOA参考模型的研究工作主要集中在OASIS、W3C等标准化组织和一些SOA主流IT企业。
  • 10. SOA参考模型 OASIS OASIS(结构化信息标准促进组织,Organization for the Advancement of Structured Information Standards)是一个推进电子商务标准的发展、融合与采纳的非盈利性国际化组织。相比其他组织,OASIS形成了更多的Web服务标准的同时也提出了面向安全、电子商务的标准,同时在针对公众领域和特定应用市场的标准化方面也付出很多的努力。
  • 11. SOA参考模型 抽象模型 SOA抽象模型是独立于具体技术、标准、执行规范和实现平台的模型,对SOA提供整体框架,提炼SOA的核心内涵。最典型的是OASIS-RM工作组2006年推出的SOA-RM1.0版本,它试图用最一致的标准规范明确定义不同的执行。
  • 12. SOA参考模型 抽象模型 SOA-RM1.0 它定义了7个核心元素,即:服务、服务描述、服务提供者和服务消费者间的可见性、服务执行上下文、现实世界作用、契约和政策、服务交互,提出了通用于各种执行的公共语义。从这7个抽象实体出发,分别研究它们之间的关系。然而该模型过于抽象,它能够在企业的SOA规划中提供一个具有全局性的整体框架,但在实际执行时却不能提供太多具体可行的意见。
  • 13. SOA参考模型 层次模型 层次模型指在传统的3层体系结构基础上,依据流程关系建立的分层模型。它不依赖于实现所使用的技术,但已接近了具体实现的架构,具有可操作性,较抽象模型易于理解。
  • 14. SOA参考模型 层次模型 IBM以堆栈的形式给出了SOA参考模型,此模型把SOA的主要元素分为功能和服务质量两类。在功能方面,形成由下至上的层次结构,而服务质量则贯穿了功能性的各个层次。在此基础上提出的SOA分层体系结构,功能部分由下至上分为可操作系统层、企业组件层、服务层、业务流程编排层和表示层,体现了生成和调用一个服务的流程,描述了SOA解决方案运行时的概念视图,可操作性较强。
  • 15. SOA参考模型 基于具体应用平台的模型 这类参考模型主要由软件组织和企业推出,用自己开发的应用平台和解决方案为其提供支持。由于各自产品的差异性,它们的模型依赖于特定的技术平台,因此不是理想的SOA通用模型。
  • 16. SOA参考模型 基于具体应用平台的模型 IBM提出的SOA Foundation参考模型,是以企业服务总线ESB为核心的全面企业解决方案,包括建模和组装、部署和服务管理。参考架构呈扁平结构,其中的服务经过模块化集成,通过ESB完成交互。目前,基于具体平台的模型,多数是在SOA的架构上加以演变,使其更加贴近于具体实现。其配套产品大多是以ESB为核心,完成服务和信息交互。
  • 17. SOA参考模型 SOA参考模型特点 以上介绍的3类模型各有其鲜明特点,我们在实施SOA时可以有针对性地选择模型。 抽象模型着眼于概念层面,高度抽象地指出SOA的基本元素和它们之间的关系,有利于我们对SOA思想的理解。抽象模型很有可能发展成为标准的SOA参考模型,但对SOA的实际应用缺乏具体指导。
  • 18. SOA参考模型 SOA参考模型特点 层次模型立足于传统的IT架构3层结构,经过细化和演变,基本上包括数据层、服务层、服务组合编排层、业务流程层和表示层,而服务质量管理则贯穿各层。层次模型是具有实用意义的SOA参考模型,有一定程度的抽象但又利于理解,建立了分层结构但又独立于具体技术。企业实施SOA时,无论采用什么技术或产品平台,都可以优先选择层次模型作为自己的SOA参考模型,易于发展成为具体的企业参考架构。
  • 19. SOA参考模型 SOA参考模型特点 基于具体应用平台的模型侧重于应用层面,主要是企业为配合其产品销售,提出了符合产品套件应用的参考模型,更贴近于具体参考架构,但不具有普遍意义。如果企业全面采用了某一平台的产品套件,也就选择了它的SOA参考模型。
  • 20. SOA参考架构
  • 21. SOA参考架构 SOA概念层次 传统企业IT系统以应用为中心,SOA希望企业IT系统不是完全以应用为中心,而是以服务为中心对象构建。 SOA方法将功能方面设计的对象、数据、组件、业务流程、界面等从服务提供者和消费者角度进行层次化。与此同时,将安全架构、数据架构、集成架构、服务质量管理等,应用公用的设施提取出来形成不同的层次,为所有的服务所共有。
  • 22. SOA参考架构 SOA概念层次 SOA概念层次共包含八个层次。 层1:操作系统层 层2:服务组件层 层3:服务层 层4:业务过程合成或编排层
  • 23. SOA参考架构 SOA概念层次 SOA概念层次共包含八个层次。 层5:访问或表现层 层6:集成(ESB)层 层7:基础架构层 层8:数据架构及商业智能(BI)
  • 24. SOA参考架构 SOA概念层次 操作系统层:本层包含现有的自定义构建的应用程序,也叫做遗留系统,包含现有的CRM和ERP打包应用程序,以及较旧的基于对象的系统实现、业务智能应用程序。说明现有IT 资产非常宝贵,应该在 SOA 加以利用。
  • 25. SOA参考架构 SOA概念层次 服务组件层:本层由那些负责实现功能的组件和保证QoS的服务组件组成。这些功能性的组件,是企业和业务单元范围内一种受管理和控制的企业资产。而那些用于保证QoS的服务组件,他们用于通过架构设计的最佳实践来确保QoS。通常他们使用基于容器的技术,比如实现组件,负载均衡,高可用性,和工作量管理的应用服务器。使用者和业务流程并不能直接访问组件,而仅能访问服务。
  • 26. SOA参考架构SOA概念层次 服务层:业务选择来支持和公开的服务处在这一层。他们可以被发现或直接静态绑定,接下来被调用,或者被编排到合成服务中。这个服务公开层同样提供了获取企业范围组件,业务单元特定组件及有些情况下的特定项目组建的机制,并且以服务描述的形式具体化了他们的接口子集。因此,企业组件使用他们的接口提供的功能在运行时提供服务实现。这一层的接口公开为一个服务描述,在这一层中他们被公开以提供使用。他们可以独立存在或者作为合成服务。这层表示已部署到环境中的服务。这些服务由可发现实体进行治理。
  • 27. SOA参考架构 SOA概念层次 业务过程合成或编排层:第三层中公开的服务合成和编排在这一层中被定义。通过配合,编排,服务被绑定成一个流程,从而作为单独的应用程序而共同作用。这些应用程序支持特殊的用例和业务过程。这里,可视的流程合成工具,比如IBM的WebSphere Business Modeler 或者 WebSphere Integration Developer,都可以用来设计应用程序流程。这层表示将业务流程作为服务编排实现的操作构件。
  • 28. SOA参考架构 SOA概念层次 访问或表现层:尽管这一层通常超出了围绕SOA讨论的范围,但是它变的越来越有意义。因为它的标准越来越集中,比如用于Remote Portlets Version2.0 的Web服务和其他应用技术,这些技术都是追求在应用程序接口或者表现层来利用Web服务。你可以把它作为将来的层用来满足将来的解决方案的需求。注意到以下两点是非常重要的:SOA将用户接口从组件中分离出来,最终你需要提供从访问路线到服务或者合成服务的端到端解决方案。这层表示用于访问业务流程、服务和应用程序的通道。
  • 29. SOA参考架构 SOA概念层次 集成(ESB)层:这一层使服务可以集成,通过引入一系列可靠的性能集合,比如智能路由,协议中介和转化的机制,通常被描述为ESB. WSDL制定了绑定,其包含提供服务的地址,ESB也为集成提供了位置独立的机制。
  • 30. SOA参考架构 SOA概念层次 基础架构层:这一层提供了监视,管理和维持诸如安全,性能和可用性等QoS的能力。这是一个通过sense-and-respond机制和监测SOA应用程序健康工具来进行的后台处理过程,包括WS-Management和其他相关协议的所有重要标准实现及为SOA实现服务质量的标准。
  • 31. SOA参考架构 SOA参考架构 SOA参考架构是一种组织SOA的构建元素--服务的方式,IBM希望通过这种参考架构为企业架构提供一种指导和参考,使得新的需求能够更快的得到响应。参考架构如下图所示。 其中左侧的绿色部分表示建模和组装,中间的蓝色部分表示部署,右边的深蓝色部门表示管理。中枢部分是企业服务总线(Enterprise Service Bus),在服务之间提供连通性支持。
  • 32. SOA参考架构SOA参考架构
  • 33. SOA参考架构SOA参考架构在SOA应用系统中的位置
  • 34. SOA参考架构 IBM SOA架构包括如下要素 代表应用的功能和数据资源的服务 提供连接服务的基础设施 元数据及管理 将服务组合成业务流程的引擎 业务流程管理和业务绩效管理的部分 一个基于标准的编程模型及支持它的建模、开发和组装、测试部署和管理的端到端的工具环境
  • 35. SOA参考架构IBM SOA参考架构
  • 36. SOA参考架构基于SOA的应用开发模型
  • 37. SOA参考架构 IBM SOA企业集成架构分类 以服务为中心的企业集成采用“关注点分离”(Separation of Concern)的方法规划企业集成中的各种架构元素,同时从服务视角规划每种架构元素提供的服务,以及服务如何被组合在一起完成某种类型的集成。这里架构元素提供的服务既包括狭义的服务(WSDL描述),也包括广义的服务、从服务为中心的视角看来,企业集成的架构可划分为六大类。
  • 38. SOA参考架构 IBM SOA企业集成架构分类 业务逻辑服务 控制服务 连接服务 业务创新和优化服务 开发服务 IT服务管理
  • 39. SOA参考架构 IBM SOA企业集成架构分类 业务逻辑服务(Business Logic Service) 用于实现业务逻辑的服务 业务逻辑服务 执行业务逻辑的能力
  • 40. SOA参考架构 IBM SOA企业集成架构分类 业务逻辑服务(Business Logic Service)包括业务应用服务(Business Application Service)、业务伙伴服务(Partner Service)及应用和信息资产(Application and Information Asset)。
  • 41. SOA参考架构 1.集成已有应用——应用和信息访问服务 以服务为中心的企业集成,通过应用和信息访问服务(Application and Information Access Service)来实现对已有应用和信息集成。将已有系统中的业务逻辑和业务数据,包装称企业服务总线支持的协议和数据格式。在参考架构中,主要有两类访问服务。
  • 42. SOA参考架构 1.集成已有应用——应用和信息访问服务 (1)可接入服务(On-Ramp Service):通过各种消息通信模式将业务逻辑和业务数据包装称企业服务总线可以访问的功能。 (2)事件发现服务(Event Detect Service):事件发现服务通过事件通知服务将已有应用和数据中的变化通过事件框架发布到企业服务总线上。
  • 43. SOA参考架构 2.集成新开发的应用——业务应用服务 新开发的应用与已有应用的数据类似,也作为重要的业务逻辑成为企业集成的目标。以服务为中心的企业集成通过业务应用服务(Business Application Service)实现新应用集成。在参考架构中,有三类业务应用服务。
  • 44. SOA参考架构 2.集成新开发的应用——业务应用服务 (1)组件服务(Component Service):为可重用的组件提供应用的运行时容器管理服务,如对象持久化、组件安全管理和事务管理等。 (2)核心服务(Core Service):提供运行时的服务,包括内存管理、对象实例化和对象池、性能管理和负载均衡、可用性管理等。 (3)接口服务(Interface Service):提供和其他企业系统集成的接口,如其他企业应用、数据库、消息系统和管理框架。
  • 45. SOA参考架构 3.集成客户和业务伙伴(B2C/B2B)——伙伴服务 以服务为中心的企业集成通过伙伴服务提供与企业外部的B2B的集成能力。在参考架构中,提供如下服务。 (1)社区服务(Community Service)用于管理企业贸易的业务伙伴,支持以交易中心为主的集中式管理和以伙伴为中心的自我管理。
  • 46. SOA参考架构 3.集成客户和业务伙伴(B2C/B2B)——伙伴服务 (2)文档服务(Document Service)用于支持和业务伙伴交换的文档格式,以及交互的流程和状态管理,支持主流的RosettaNet、EDI和AS1/AS2等。 (3)协议服务(Protocol Service)为文档的交互提供传输层的支持,包括认证和路由等。
  • 47. SOA参考架构 IBM SOA企业集成架构分类 控制服务(Control Service)包括实现人、流程和信息集成的服务,以及执行这些集成逻辑的能力。
  • 48. SOA参考架构 1.数据集成——信息服务 企业数据的分布性和异构性,是应用系统方便访问企业数据和在企业数据之上提供增值服务的主要障碍,数据集成和聚合技术用于提供对分布式数据和异构数据的透明访问。以服务为中心的企业集成通过信息服务提供集成数据的能力,主要包括以下集中信息服务。
  • 49. SOA参考架构 1.数据集成——信息服务 (1)联邦服务(Federation Service)提供将各类型数据聚合的能力,既支持关系型数据,也支持非关系型数据。同时,所有数据仍然以自己本身的方式管理。 (2)复制服务(Replication Service)提供远程数据的本地访问能力,通过自动的实时复制和数据转换,在本地维护一个数据源的副本,本地数据和数据源在技术实现上可以是独立的。
  • 50. SOA参考架构 1.数据集成——信息服务 (3)转换服务(Transformation Service)用于从数据源格式到目标格式的转换,可以是批量的,也可以是基于记录的。 (4)搜索服务(Search Service)提供对企业数据的查询和检索服务,既支持数据库等结构化数据,也支持像PDF等非结构化数据。
  • 51. SOA参考架构 2.流程集成——流程服务 企业内部的IT系统通过将业务活动自动化来提高业务活动的效率。以服务为中心的企业集成通过流程服务来完成业务流程集成。在参考架构中,流程服务包括以下内容。
  • 52. SOA参考架构 2.流程集成——流程服务 (1)编排服务(Choreography Service)通过预定义的流程逻辑控制流程中业务活动的执行,并帮助业务流程从错误中恢复。 (2)事务服务(Transaction Service)用于保证流程执行中的事物特性(ACID)。 (3)人工服务(Staff Service)用于将人工的活动集成到流程中。
  • 53. SOA参考架构 3.用户访问集成——交互服务 将适当的信息,在适当的时间,传递给适当的人一直是信息技术追求的目标。 以服务为中心的企业集成通过交互服务来实现用户访问集成。参考架构中的交互服务包括以下类型。
  • 54. SOA参考架构 3.用户访问集成——交互服务 (1)交付服务(Delivery Service)提供运行时的交互框架。 (2)体验服务(Experience Service)通过用户为中心的服务增强用户体验。 (3)资源服务(Resource Service)提供运行时交互组件的管理。
  • 55. SOA参考架构 IBM SOA企业集成架构分类 连接服务(Connectivity Service)通过企业服务总线提供分布在各种架构元素中服务间的连接性。
  • 56. SOA参考架构 连接服务:企业服务总线 企业服务总线(Enterprise Service Bus ESB)是过去信息中间件的发展,ESB采用总线这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础,来支持应用间在消息、时间和服务的级别上动态地互联互通。
  • 57. SOA参考架构ESB用途
  • 58. SOA参考架构 ESB基本特征 面向服务架构的实现 通常与操作系统和编程语言无关 能在Java和.Net应用程序之间工作 使用XML作为标准通信语言 支持Web服务标准
  • 59. SOA参考架构 ESB基本特征 支持消息传递 支持队列,在应用临时不可用时用来保存消息 包含基于标准的适配器,用于集成传统系统 包含对服务编制及编排的支持 包含智能、基于内容的路由服务 包含标准安全模型,用于ESB认证、授权和审计
  • 60. SOA参考架构 IBM SOA企业集成架构分类 业务创新和优化服务(Business Innovation and Optimization Service)用于监控业务系统运行时服务的业务性能,并通过及时了解到的业务性能和变化,采取措施适应变化的市场。
  • 61. SOA参考架构 业务创新和优化 业务创新和优化以业务性能管理(BPM)技术为核心提供业务时间发布、收集和关键业务指标监控能力。由以下服务组成。 公共事件框架服务(Common Event Infrastructure Service) 采集服务(Collection Service) 监控服务(Monitoring Service)
  • 62. SOA参考架构 IBM SOA企业集成架构分类 开发服务(Development Service)开发服务贯彻整个软件卡法生命周期的开发平台,从需求分析到建模、设计、开发、测试、维护全面的工具支持。
  • 63. SOA参考架构 开发支持 企业集成的技术复杂性是普通应用开发所不可比拟的,这种技术复杂性需要更强有力的开发工具支持。 开发环境和工具中为不同开发者角色提供的功能成为开发服务,根绝开发过程中开发者角色和职责的不同,有以下四类服务。 (1)建模服务(Model Service)用于构建可视化的业务流程模型
  • 64. SOA参考架构 开发支持 (2)设计服务(Design Service )根据业务模型,进一步分解为服务组件,设计服务用于设计和开发这些服务组件。 (3)实现服务(Implementation Service)用于将设计和开发的服务组件部署到生产环境中。 (4)测试服务(Test Service)支持服务组件的单元测试和系统的集成测试。
  • 65. SOA参考架构 IBM SOA企业集成架构分类 IT服务管理(IT Service Management)IT服务管理支持业务系统运行的各种基础设施管理能力或服务,如安全服务、目录服务、系统管理和资源虚拟化。
  • 66. SOA参考架构 管理支持 为业务流程和服务提供安全、高效和健康的运行环境,也是以服务为中心的企业集成的重要部分,由IT服务管理来完成,IT服务管理包括以下两部分。 安全和目录服务(Security and Directory Service) 系统管理和虚拟化服务(System Management and Virtualization Service)
  • 67. 本次课程总结
  • 68. 本次课程总结 掌握OASIS的SOA参考模型 掌握IBM SOA参考架构的四个层次:操作系统层、企业组件层、服务层、业务流程层和应用(表现)层。
  • 69. Thank You