5面向服务架构

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章面向服务架构2019/10/17西北工业大学软件与微电子学院1服务科学与工程概论IntroductiontoServiceScience&Engineering第5章面向服务的架构第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院2本章内容3面向服务与SOA基础SOA的体系结构模式服务组合技术面向服务的建模与分析5.15.25.35.45.5Web服务与SOASOA治理5.6第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院3SOA与面向服务软件架构面向服务的原则SOA的定义提出SOA的动机SOA和分布式信息系统体系结构SOA和软件开发SOA中的基本构件与连接件SOA的典型特征与优势第5章面向服务架构2019/10/17西北工业大学软件与微电子学院45.1.1软件架构第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院5软件架构的定义Thesoftwarearchitectureofaprogramorcomputingsystemisthestructureorstructuresofthesystem,whichcomprisesoftwareelements,theexternallyvisiblepropertiesofthoseelements,andtherelationshipsamongthem.Thedesignofapplicationorsystemsoftwarethatincorporatesprotocolsandinterfacesforinteractingwithotherprogramsandforfutureflexibilityandexpandability.Aself-contained,stand-aloneprogramwouldhaveprogramlogic,butnotasoftwarearchitecture.第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院6软件架构的定义架构是系统的组织结构。架构还包括“符合”系统完整性、经济约束条件、审美需求和样式。它并不仅注重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑。架构有两个公共元素:一是一个软件系统从整体到部分的最高层次的划分,一个建造一个系统所作出的最高层次的、以后难以更改的、商业的和技术的决定。MartinFowler第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院7软件架构的定义在计算的算法和数据结构之外,设计并确定的系统整体结构问题,包括总体组织结构和全局控制结构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院8第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院9架构的目标可靠性(Reliable)安全性(Secure)可伸缩性(Scalable)可定制化(Customizable)可扩展性(Extensible)可维护性(Maintainable)客户体验(CustomerExperience)市场时机(TimetoMarket)第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院10架构的分类逻辑架构第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院11架构的分类物理架构第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院12架构的分类系统架构系统的非功能性特征,如可扩展性、可靠性、强壮性、灵活性、性能等。第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院13架构师的工作需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。第5章面向服务架构2019/10/17西北工业大学软件与微电子学院145.1.2面向服务的原则第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院15服务(Service)服务是整个SOA实现的核心。SOA的基本元素是服务,SOA指定一组实体(服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约),这些实体详细说明了如何提供和消费服务。这些服务是可互操作的、独立的、模块化的、位置明确的、松耦合的,并且可以通过网络查找其地址。W3C将服务定义为:服务提供者完成一组工作,为服务消费者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化。第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院16面向服务(ServiceOriented)从解决方案角度看,SO是一组模式和实践惯例,用于开发单个服务和解决方案,它们利用了服务模型,因而能够在不同系统之间集成。服务封装其操作系统和专用协议的特性,允许使用标准协议和极传统的接口访问其业务逻辑和信息。在稳定的接口背后,可以持续升级和改进实现,而不会对使用该服务的解决方案产生负面影响;从资产组合角度看,面向服务的企业是分解、集成和管理组织的技术资产组合的一条途径,它将服务模型用作开发和操作分布式业务系统的基础。第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院17面向服务与企业计算业务流程层服务接口层应用层业务逻辑应用逻辑服务接口层第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院18面向服务与企业计算服务建立了一个介于业务层与应用层之间的高级抽象形态,服务能够封装应用逻辑和业务流程逻辑。第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院19面向服务与企业计算业务流程层服务接口层应用层服务接口层服务接口表示物理层封装第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院20面向服务与企业计算服务建立了一个介于业务层与应用层之间的高级抽象形态,服务能够封装应用逻辑和业务流程逻辑。业务逻辑通过服务扩展。第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院21面向服务的原则服务可复用服务有一个正式契约服务是松散耦合的服务是底层逻辑抽象的服务是可组合的服务是自治的服务是无状态的服务是可被发现的第5章面向服务架构2019/10/17西北工业大学软件与微电子学院225.1.3SOA的定义第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院23什么是“SOA”从字面上看,SOA=Service(服务)+体系结构(Architecture)一种编程模式,包括一系列的标准、开发工具、开发过程指南、运行时基础架构。企业向其客户暴露的一系列业务——”服务”Roles一种体系结构风格,包括服务的提供者、服务的使用者与服务中介。一组体系结构设计原则与模式,强调模块化、封装、松散耦合、分离关注点、可复用、可组合性、接口与实现分离等特性。软件实现方式体系结构业务模型第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院24面向服务架构(SOA)一种体系结构风格,它将应用程序的不同功能单元—服务(service),通过服务间定义良好的接口和契约(contract)联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建的系统中的服务可以使用统一和标准的方式进行通信。这种具有中立的接口定义的特征称为服务之间的松耦合。第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院25通过超市的例子解释什么是SOA第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院26面向服务架构(SOA)W3C将服务定义为:服务提供者完成一组工作,为服务使用者交付所需的最终结果。第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院27面向服务架构(SOA)三种角色:服务提供者(ServiceProvider)服务请求者(ServiceRequestor)服务目录(ServiceRegistry)三个操作发布(Publish)查找(Find)绑定(Bind)第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院28面向服务的架构一个组件模型;将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来;接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言;构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院29系统(程序)=算法+数据结构(1960’s)系统=子程序+子程序(1970’s)系统=对象+对象关联机制(1980’s)系统=软构件+连接件(1990’s)系统=服务+服务连接件(2000’s)简单复杂系统规模与复杂度封闭开放系统开放度细粗构件粒度构件连接件关注层面•IT技术商务过程•封闭开放•个人企业内企业间全球软件架构的发展与演化第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院30SOA实现平台的功能组件一般来说,SOA实现平台包含的组件可以分为两类:一类面向系统功能,另一类面向系统功能的质量属性,或称为非功能属性。包括:服务发布和发现:服务提供者可以把服务描述以及其他服务元信息发布到服务注册中心,服务消费者通过服务注册中心发现需要的服务;服务协作:管理服务之间的协作通信;服务组合:提供编排基本服务组成复合服务的语言;并提供执行这种语言的引擎;服务通信:实现服务之间基于消息的通信;服务描述:提供定义服务描述的语言;服务安全:保障SOA应用的安全性,比如身份识别、数字签名、消息的加密解密、访问授权、信任联盟管理等;服务事务:保障SOA应用的状态一致性;服务管理:实现服务运行时的监控和管理。服务发布和发现服务协作服务组合服务描述服务通信服务安全服务事务服务管理功能质量第5章面向服务架构2019/10/17西北工业大学软件与微电子学院315.1.4提出SOA的动机第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院32(1)Internet环境下的企业交互现代企业已经不再是封闭的企业,市场分工的日益专业化使得企业之间可能存在大量频繁的交互行为,以发挥各自的竞争优势:供应链:供应商-制造商;客户关系管理:制造商-物流商-客户这种业务上的交互体现为企业业务流程的交互/互操作,同时一定需要企业信息系统的支持,因此体现为软件系统之间的集成与互操作。互操作(Interoperability):能够在异构的、分布式的系统之间交换和使用信息的能力;不仅是不同企业之间,甚至一个企业内部的各个部门之间都有可能存在大量的交互。第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院33企业价值链:多方协调与集成ERP5ERP1SCM5PDM1CRM1CAD1CRM4ERP4PDM2CAD2ERP2CRM3SCM1SCM2协同设计协同服务协同生产协同供应链供应商协作制造企业核心制造企业服务企业客户企业第5章面向服务的架构2019/10/17西北工业大学软件与微电子学院34案例:供应商-制造商的业务集成采购订单拒绝同意发票发票ID发票ID发票拒绝同意采购订单开始创建订单发送订单修改订单结束收到请求发送请求收到请求发送“接受”发送“拒绝”创建发票检查发票发送确认信息分析订单发送“接受”发送“拒绝”创建发票发送发票接收确认信息收到发票检查发票发送确认信息客户企业供应商收到结果第5章面向服务的架构2019/10/1

1 / 246
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功