面向服务架构的问答

  1. SOA的定义是什么
  2. 业务流程与BPEL的关系
  3. SOA的基本发展历史
  4. SOA的参考架构有哪些内容
  5. SOA主要的技术和标准有哪些
  6. SOA的特性有哪些
  7. SOA的设计原则有哪些
  8. SOA设计模式的粗略介绍
  9. 构建SOA架构时应注意的问题有哪些
  10. SOA的实施过程是什么

 

1.SOA的定义是什么

答:面向服务的体系结构(SOA),从应用和原理的角度看,有两种公认的标准定义。

从应用的角度定义,SOA是一种应用框架,着眼于日常的业务应用,并将它们划分为单独的业务功能和流程,即所谓的服务。从软件的基本原理定义,SOA是一个组件模型,将应用程序不同功能单元通过这些服务之间良好的接口和契约联系起来。

作为软件架构师,软件基本原理上的定义对日常工作更具有指导性。

 

2.业务流程与BPEL的关系

答:业务流程是为了实现某种业务目的行为所进行的流程或一系列动作。在计算机领域,业务流程代表的是某一个问题在计算机系统内部得到解决的全部流程。BPEL是面向WEB服务的业务流程执行语言。BPEL提供一种相对简单易懂的方法,可将多个WEB服务组合到一个新的复合服务中。

 

3.SOA的基本发展历史

答:第一阶段,以XML技术为标志,是萌芽阶段,XML出现为SOA的兴起奠定了稳固的基础。

第二阶段,以SOAP、WSDL、UDDI三种WEB服务的标准和规范出现为标志,是标准化阶段。

第三阶段,以SCA/SDO/WS-Policy三个重量级规范为标志,是成熟应用阶段。

 

4.SOA的参考架构有哪些内容

答:以IBM的Websphere为例,它是典型的以服务为主中心的企业集成架构,采用“关注点分离”的方法规划企业集成中的各种架构元素,同时从服务视角规划每种架构元素提供的服务,以及服务如何被组合在一起完成某种类型的集成。

从服务为中心的视角看,企业集成架构划分为六大类:业务逻辑服务、控制服务、连接服务、业务创新和优化服务、开发服务、IT服务管理。

连接服务(企业服务总线ESB),从消息中间件发展到开放标准为基础支持应用之间在消息、事件、服务级别上动态互联互通。ESB是一种架构模式,不能简单地等同于特定的技术或者产品,但实现ESB确实需要各种产品在运行时和工具方面的支持。

业务逻辑服务体现在三个方面:整合已有应用,支持应用和信息访问服务,主要有可接入服务、事件发现服务这两类;整合新开发的应用,支持业务应用服务,主要有组件服务、核心服务、接口服务;整合客户和业务伙伴,支持伙伴服务,主要有社区服务、文档服务、协议服务。

控制服务体现在三个方面:支持数据整合的信息服务, 主要有联邦服务、复制服务、转换服务、搜索服务;支持流程整合的流程服务,主要有编排服务、事务服务、人工服务;支持用户访问整合的交互服务,主要有交付服务、体验服务、资源服务。

开发支持需要提供和服务开发相关的技术:用于支持以服务为中心的企业集成方法学和建模;用于服务为中心的编程模型,主要有建模服务、设计服务、实现服务、测试服务。

业务创新和优化服务以业务性能管理技术为核心,提供业务事件发布、收集、关键业务指标监控能力,由公共事件框架服务、采集服务、监控服务组成。

管理支持,由IT服务管理来完成,主要包括安全和目录服务、系统管理和虚拟化服务。

 

5.SOA主要的技术和标准有哪些

答:WEB服务是实现SOA中服务的最主要手段。WEB服务最基本的洗液包括UDDI、WSDL、SOAP。

UDDI是统一描述、发现和集成协议,主要处理服务注册和查找问题;WSDL是描述WEB服务和说明如何与WEB服务通信的XML语言;SOAP是在分散或分布式环境中交换信息的简单协议,基于XML技术形成的。

WSDL可以描述WEB服务的三个基本属性:服务做什么的、如何访问服务、服务位于何处。WSDL文档以端口集合的形式来描述WEB服务,WSDL服务描述包括对一组操作和消息的一个抽象定义,绑定到这些操作和消息的一个具体协议和这个绑定的一个网络端点规范。WSDL文档分为服务接口、服务实现两种类型。

SOAP包括四个部分:SOAP封装(Envelop),定义了一个描述消息中的内容是什么,谁发送的,谁应当接收并处理它以及如何处理它们的框架;SOAP编码规则,表示应用程序需要使用的数据类型实例;SOAP RPC,表示远程过程调用和应答的协定;SOAP绑定,使用底层协议交换信息。SOAP的主要设计目标是简单性和可扩展性,对复杂场景和对安全性可靠性有要求的场景需要增加额外的技术支持。

 

6.SOA的特性有哪些

答:文档标准化(基于XML文档的);SOA服务用消息进行通信,消息多用XML Schema来定义;SOA服务在一个区域内通过一个扮演目录列表角色的登记处来维护;SOA中服务的可靠性需要额外使用WS-Reliablility和WS-ReliableMessaging是两个用来解决此类问题的标准;SOA的服务安全通过认证交换、消息完整性和消息保密完成,借助SAML实现;SOA标准化服务消费者和服务提供者之间的策略通信需要WS-Policy来解决;SOA中进程是使用一组离散服务创建的,BPEL4WS或者WSBPEL可以控制这些离散服务;SOA的服务管理可以通过WSDM的制定,使任何根据WSDM实现的服务都可以由一个WSDM适应管理方案实现。

 

7.SOA的设计原则有哪些

答:除了继承来自对象和组件设计的各种原则,还有无状态、单一实例、明确定义的接口、自包含和模块化、粗粒度、服务之间的松耦合性、重用能力、互操作性、兼容和策略声明等。

 

8.SOA设计模式的粗略介绍

答:服务注册表模式:服务注册表主要在SOA设计阶段使用,当然也具有在运行阶段的功能。注册表支持驱动SOA治理的服务合同、策略、元数据的开发、发布、管理。注册表提供了一个主控点或者策略执行点,在这里服务可以在SOA中注册和被发现。目前服务器注册表模式分为两大阵营,一个是提供服务、策略、元数据注册表及信息库的纯SOA厂商;另一个是SOA平台厂商,注册表作为集成产品套件的一个组件。注册表提供服务注册、服务位置、服务绑定功能。

企业服务总线模式:企业服务总线是由中间件技术实现的支持面向服务架构的基础软件平台,支持异构环境中的服务以基于消息和事件驱动模式的交互,并具有适当的服务质量和可管理性。ESB的核心功能有:提供位置透明性的消息路由和寻址服务;提供服务注册和命名的管理功能;支持多种消息传递范型;支持多种可以广泛使用的传输协议;支持多种数据格式及其相互转换;提供日志和监控功能。目前ESB是理想的EAI、B2B应用系统集成支持平台。

 

9.构建SOA架构时应注意的问题有哪些

答:需求方面:对原有系统架构中的集成需求进行细致的分析和整理;对原有系统中集成需求分析时不应该之限定为基于组件构建的已有应用程序的集成需求,还需要考虑应用程序集成、终端用户界面集成、流程集成、已有系统信息集成等方面的需;针对某些行业的应用系统特点做针对性的调整。

服务粒度控制:对外的服务接口采用粗粒度设计,满足一个特定服务的完整执行;对内的服务接口采用细粒度设计,满足灵活性和细节要求。

SOA系统架构中的服务应该是无状态的服务,不依赖于上下文和状态。

 

10.SOA的实施过程是什么

答:第一步,选择SOA解决方案,可以从三个方面进行考虑:尽量选择能进行全局规划的方案;选择时充分考虑企业自身需求;从平台、实施等技术方面进行考察。

第二步,业务流程分析,首先建立服务模型,可以通过自顶向下分解法、业务目标分析法、自底向上分析法进行操作;其次是建立业务流程,可以依次通过建立业务对象、服务接口、业务流程来完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值