您好,欢迎访问三七文档
内部公开Copyright©2010NeusoftCorporationSOA初步Service-OrientedArchitecture段培娟软件工程师Copyright©2010NeusoftCorporation内部公开目录•SOA基本概念•SOA核心特征•SOA技术平台•SOA协作•SOA体系结构内部公开SOA基本概念内部公开SOA基本概念SOA演变过程面向过程软件开发面向对象软件开发面向组件软件开发标准的WebService软件开发SOA内部公开SOA概念•SOA是一种范式,目的是实现和维护跨越大型分布式系统的业务流程,通过企业服务总线达成互操作性,将各业务系统的衔接松耦合。•SOA表达了一种软件架构概念,它定义为使用服务来满足软件用户的需求。在SOA环境中,网络上的节点以独立服务的形式将自己的资源开放给网络上其他参与者,其他参与者按一种标准的方式使用资源。与传统点对点架构不同,各种SOA都由松耦合、高度可互操作的应用服务构成。内部公开SOA概念•SOA是一种面向服务的架构,是由不同的技术、模型和事件组成的结合体。•S是指各种编程语言实现的Web服务,Web服务仅仅是SOA拼图中的一块。•A是指一种架构。如何将上述Web服务组合成符合客户需求的业务模型。•SOA已经发展成为系统设计、开发和集成的优选方案。•SOA是一种范式、概念、方法,主要是针对各异的大型分布式系统。内部公开SOA核心特征内部公开SOA的核心特征•服务接口/契约•服务透明性•服务的松耦合•服务组合内部公开服务接口/契约•服务接口/契约:服务:服务应该是由一个(定义良好的)接口定义,针对一项业务功能的IT表示法。契约:指的是对服务提供者和使用者之间服务内容的完整规格定义。WSDL(WebServicesDescriptionLanguage)WSDL是一种使用XML编写的文档。描述了给定的网络“断点”可以获取的服务,以及此服务提供的操作(或方法)以及每个操作的XML消息格式。内部公开服务透明性•服务的透明性,指的是在不明确知道网络中的某节点物理地址以及传输协议情况下调用该服务的能力。位置的透明性:不论服务组件的实际位置URL如何变化,客户端的调用程序的URL都不需要改变。•企业服务总线(ESB)的出现保证了位置的透明性内部公开服务透明性传输协议的透明性:是指不管服务组件的传输协议如何变化,客户端的调用程序的传输协议都不需要改变。•企业服务总线(ESB)的出现保证了位置的透明性内部公开服务的松耦合与无状态性•服务的松耦合是指相互之间不依赖,它是针对目前紧密耦合的应用系统所提出的一个概念。-服务之间的松散耦合-接口和实现之间的松散耦合-业务组件和传输协议之间的松散耦合•无状态性:无状态服务是在不同服务调用之间不维持任何状态的服务。•粗粒度:SOA中服务需要更接近用户的实际操作。内部公开服务组合•SOA的一个主要目标是将服务组件作为建筑单元生成组合服务及协同。-组合服务:简单的将一个或多个底层的服务包装成一个更粗粒度的操作-流程服务:公司构建跨多个组织或系统的可执行流程的技术。内部公开内部公开SOA技术平台内部公开SOA技术平台内部公开企业服务总线•企业服务总线(ESB)是提供不同通信协议之间相互操作的“中间件”应用程序。•ESB提供的服务主要包括:•ApacheSynapse(WSO2ESB)特征描述服务管理在总线范畴内对服务的注册命名及寻址进行管理。智能路由ESB应该能提供一个有效、灵活的路由选择机制。数据格式转换用于XML转换的XSLT。多协议传输提供位置透明的路由和定位服务;提供多种消息传递形式;支持广泛使用的传输协议。数据安全ESB应该可以对服务访问进行认证、授权、加密、签名。服务的可扩展性应当有定义优良的API让我们可以容易地创建新的服务。内部公开企业服务总线•客户端传过来一个请求,通过代理配置决定调用哪个内向序列,经过传输转换、负载平衡、安全处理等一系列动作后,请求将被重定向到目标端点,调用相应的服务,然后将服务的响应结果通过外向序列返回给客户端。内部公开业务流程管理BPM•业务流程管理是一组用于公司构建跨多个组织或系统的可执行流程的技术。•业务流程建模工具:WSO2BusinessProcessServer•业务流程描述(BPEL):BPEL采用XML格式,其语法元素功能包括变量定义与赋值、条件判断、顺序/并行、服务调用、异常捕获、故障(及补偿)处理等。内部公开内部公开组合服务•基本服务可以理解为只提供细粒度的、单一的功能,它不再包含或消费其它组件提供的服务。•组合(composite)本身也是一种组件,是由一个或多个组件构成。组合本身还可以继续组合成更高级别的组合。内部公开组合服务•SCA(ServiceComponentArchitecture)。主要目的是要实现目前的服务组件和其传输协议的绑定,而且让服务组件能够自由绑定各种传输协议。•ApacheTuscany内部公开SOA协作内部公开SOA协作•服务提供者:它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发现和访问该服务。•服务使用者:它发起对注册中心的服务的查询,通过传输绑定服务,并根据接口契约执行服务。•服务注册中心:它包含一个可用服务的存储库,允许服务使用者查找服务。服务注册中心服务使用者服务提供者BindandInvokeServiceWSDL内部公开SOA体系结构内部公开SOA体系结构•左边的一半集中于体系结构的功能性方面,•右边的一半集中于体系结构的服务质量方面。内部公开•传输是一种机制,将服务使用者的服务请求传送给服务提供者,并且将服务提供者的响应传送给服务使用者。•服务通信协议是一种经过协商的机制,通过这种机制,服务提供者和服务使用者可以就将要请求的内容和将要返回的内容进行沟通。•服务描述是一种经过协商的模式,用于描述服务是什么、应该如何调用服务以及调用服务需要什么数据。•业务流程是一个服务的集合,可以按照特定的顺序并使用一组特定的规则进行服务的组合,以满足业务要求。•服务注册中心是一个服务和数据描述的存储库,服务提供者可以通过服务注册中心发布它们的服务,而服务使用者可以通过服务注册中心发现或查找可用的服务。SOA体系结构内部公开•策略是一组条件和规则,在这些条件和规则之下,服务使用者可使用服务提供者发布的服务。•安全性是规则集,可以应用于服务使用者的身份验证、授权和访问控制。XML签名XML加密XML密钥管理WS-安全WS-安全策略SOA体系结构内部公开•总之,SOA不是某种具体的架构,不是一种可以买到的具体工具或者框架,也不是一种特定的技术,是一种解决问题的手段。谢谢!Copyright©2010NeusoftCorporation内部公开Copyright©2010NeusoftCorporation
本文标题:SOA介绍
链接地址:https://www.777doc.com/doc-5020891 .html