深蓝海域KMPRO

构建战略性SOA平台(上)(AMT研究院 周瑛 编译)

2017-03-08 15:25

SOA(Service-Oriented Architecture)平台——即企业用于建立、配置、监控和管理服务的软件基础设施及工具——对企业实现战略业务灵活性具有重大影响。企业应该组合多种产品建立自己的战略性SOA平台, 而不仅仅是购买单个供应商的产品,因为综合多种产品才能实现全面的功能,例如安全性、交易、版本控制、事件管理、可靠的传递、服务目录、业务流程控制、元数据管理、业务报表、动态政策、服务管理等等。

不过这些功能也不是一下子就建立好了。应该根据SOA的价值——即灵活的业务变化、丰富的业务连接、有力的业务控制,为企业设定一个SOA平台愿景,用以指导企业从现有的应用平台逐步转换到SOA平台。

1. SOA的业务背景和IT背景

长期的业务竞争力和成功需要企业持续进行变化和调整,SOA能够为此提供帮助。在战术层面,SOA能够帮助企业立竿见影地解决一些问题,例如同业务伙伴连接,访问遗留系统,跨技术集成。从战略层面看,SOA能够创建一个支持持续业务创新和优化的IT环境。一个成功的SOA平台战略必须同时传递战术价值和战略价值:

  • 加快业务变化:当业务发生变化时,开发人员能够更容易地将业务流程变化映射到应用系统中,实施相应的IT变化。
  • 提供业务连接:将业务流程组装成模块和服务,企业可以在优化内外部流程的过程中将这些模块和服务连接起来。
  • 加强业务控制:在SOA中,经过SOA平台的数据流和交易都是有价值的业务数据,可以使用这些数据分析和优化业务结果和流程成本。

灵活的基于服务的应用能够更容易更迅速地进行业务变化,业务人员可以运用这种敏捷性优势快速开发新能力、优化核心流程。

2. 建立SOA平台愿景

要建立SOA平台来推进持续的业务改进,那么首先要对SOA进行充分可靠的定义。Forrester将SOA定义为设计、配置和管理应用及软件基础设施的一种方式,它实现以下目标:

  • 将应用组织为业务单元(业务服务),并可通过网络访问。
  • 服务接口定义是最重要的开发任务,应受到和数据库一样的重视。
  • 针对每一个服务明确定义服务质量特点(安全性、交易、性能、服务交互形式等)。
  • 软件基础设施负责管理服务的访问、执行和质量。
  • 服务及其元数据存放在某个存储器中,开发工具和管理工具可以在这些存储器中找到它们。
  • SOA内的协议和结构占主要地位,但并不排除其他可能,采用行业标准(例如SOAP)。

按照这种定义,SOA既与软件基础设施设计相关,又与应用设计相关。除了将业务逻辑封装成服务,SOA还负责保证安全性、服务质量、管理和运行服务,这样开发人员就能将更多的精力专注于业务逻辑上。基于SOAP的Web Services只是负责管理服务访问的一个重要部分,还有其他的管理方式可用,例如MOM(Message-Oriented Middleware)、分布式对象协议CORBA(Common Object Request Broker Architecture)、IIOP(Internet Inter-ORB Protocol),甚至一些非传统的应用连接方式,如e-mail。

3. 四大设计中心

为了保证SOA平台架构上的准确性,在进行平台设计时必须遵循SOA的价值。SOA最大的战略价值在于——快速、可持续发展、适应性的业务优化——这要求SOA实现三大核心价值定位:快速灵活的业务变化;丰富深入的业务连接;业务层和IT层的反馈和控制。对应于这三大核心价值的是SOA平台三大设计中心,第四个设计中心是平台之外的(见图1):

图1  SOA三大核心价值定位

  • 服务生命周期环境(Service Lifecycle Environment,SLE)实现快速灵活的业务变化。通过传统的编程语言和基于元数据的规范,SOA平台必须为灵活建模、创建、修改、测试、维护业务服务提供工具和基础设施。
  • 服务交付网络(Service Delivery Network,SDN)实现丰富深入的业务连接。SOA平台必须跨越多种企业和技术边界,保证安全性、可靠性、响应、交互形式等多种要求。
  • 服务指挥平台(Service Command Platform,SCP)提供业务层和IT层的反馈和控制。控制是有效管理提供的价值。除了满足传统的IT管理要求,SOA平台必须为用户提供到特定服务的动态接入——做出响应并抽取业务管理所需的主要数据。
  • 核心应用平台提供各种业务能力。SOA平台必须包含目前业务中所使用的各种技术,包括应用平台(例如Microsoft .NET、J2EE)、集成解决方案、遗留系统。

4. 变化:服务生命周期环境

SLE负责创建和维护业务服务,因此它是SOA平台的业务规则中心。SLE既要建立服务,又要建立到现有业务逻辑的服务接口。它必须覆盖整个服务生命周期和所有服务交付活动,包括程序代码、元数据、定制适配器等等。业务是服务生命周期的一个重要方面,业务分析员可以用SLE工具来详细说明业务流程、处理政策、业务规则。SLE的主要功能如下:

  • 服务创建(新服务和遗留服务的封装)
  • 业务流程和服务的建模
  • 服务生命周期管理和治理
  • 转换和映射
  • 服务编制和工作流
  • 业务规则管理
  • 服务存储
  • 元数据管理

5. 连接:服务交付网络

SDN负责各类业务、技术之间的全局连接。它保证业务服务对于合适的消费者来说是安全可用的,并通过合适的渠道进行传递,达到一定的服务水平和增值能力(交易、路由、恢复、事件管理等)。SDN除了提供一组协议和产品实施外,还实现协议和产品之间的多样化连接,以满足各种连接需求和服务质量需求。SDN提供的主要功能有:

  • 消息
  • 可靠的消息和处理
  • 安全性(促进信任,预防攻击)
  • 交易
  • 版本控制
  • 事件管理
  • 协议解释
  • 寻址和路由

SDN的具体实施情况取决于企业的历史和需求。比如在Sabre Holding公司,为了保证性能,该公司只采用两条服务路径——CORBA和WebSphere MQ。而Verizon公司则认为它必须同时支持CORBA、Web Services、JMS等多种协议。为了获得更高的性能,Allstate保险公司甚至对某些内部连接使用SOAP,保证XML和HTTP之间的适度组合。

6. 控制:服务指挥平台

SOA平台的第三个设计中心是SCP,它首先保证对服务运营进行IT层面的控制。除此之外,SCP还负责整合SOA平台内的数据,为业务层提供对服务运营的洞察和对服务处理政策的治理。例如,当一个订单输入服务的实时报表反映出新的订单活动出现错误,那么业务人员就能使用SLE动态地修改定价、折扣或产品组合。又或者一个规则引擎甚至能够自动进行以上调整。SCP还有助于加强IT和业务之间的联系。SCP不同于目前市场上的Web Services管理(WSM),因为它所涉及的范围是整个SOA平台,既包括Web Services元素,也包括非Web Services元素。SCP的主要功能有:

  • 业务活动和结果报表生成
  • 动态政策(例如业务政策、IT管理政策)
  • 集成的服务配置
  • 服务开票
  • 监控
  • IT和服务水平协议管理
  • 服务网格管理

主要的管理平台供应商(例如BMC软件、Computer Associates、HP、IBM)所提供的产品能够较好地管理SOA平台中的所有技术元素。虽然BPM为SCP提供了一种进行业务层控制的有效模式,但至少花3年时间来实施BPM才能初有成效,实现广泛深入灵活的动态业务控制。

相关推荐