如今,越来越多的企业把面向服务的体系结构(Service-oriented architecture,SOA)作为重新利用 IT 资产和整合流程获得商务运营的随需应变的一种架构,并且把它作为企业发展的一种战略。那么如何开始 SOA 过渡?成功地采用 SOA 需要哪些技术?本文从组件业务建模(Component Business Modeling,CBM)作为切入点,通过服务集成成熟度模型 (Service Integration Maturity Model,SIMM) 对企业进行分析,并在最后采用面向服务的建模和体系结构(Service-Oriented Modeling and Architecture,SOMA)来建立 SOA 框架,从而开启企业的 SOA 之门,让企业因 SOA 而“智慧”起来。
当前企业或多或少的存在以下几方面的问题:
复杂的流程和系统;
复杂的应用和接口;
很难有效地快速调整以适应变化的市场需求
IT 上大量的投资花在了系统的维护上,从而没有更多的资源来对新的附加值来投资。
同时,企业的战略目标有以下几个要求:
创新,通过新的技术在现有的系统的基础上创造能产生最大价值的业务流程;
高速度的增长,扩大市场份额;
高效率的工作,提高员工的工作效率;
减少开销,用最少的投资产出最大的回报。
为了克服以上所提到的挑战从而达到企业的战略目标,本文将向您介绍如何使用 CBM、SIMM 和 SOMA 来构建轻量级 SOA 框架,将企业所面临的复杂业务问题和发展瓶颈通过 SOA 的框架来处理和优化,以使您的 IT 战略提供最大的价值。
下面我们首先为您简要介绍这几个技术,并在接下来的章节中为您阐述如何使用这些技术构建更加轻量级的 SOA 框架。
组件业务建模 (CBM)
CBM 是一个过程,它有效地把企业的人、技术和资源模块化,可做为 SOA 的最佳切入点。
服务集成成熟度模型 (SIMM)
SIMM 可以评估当前企业服务导向的成熟度,从而使企业能够分阶段、有序地完成企业向 SOA 的过渡。
面向服务的建模和体系结构(SOMA)
SOMA 是一种用于 SOA 解决方案实现的端到端方法。它是用于 SOA 设计和构造以支持目标业务流程的分析和设计方法。
企业如何才能找到自己最有价值和增长点的业务模块和方向呢?接下来我们将向您介绍如何利用 CBM 来模块化您的商业模型,从而为建立 SOA 的企业应用架构奠定基础。把商业模型模块化,进行流程的分析,从而找到差异化的竞争优势。
CBM 作为 SOA 的切入点,提供了一个把业务模型化的一个框架,从而明确了规划 SOA 的方向。那到底什么是个组件业务建模呢?
组件业务建模(Component Business Modeling,CBM)是一种经过证明的方法,可以让组织通过将活动重新分组到数量可管理的离散、模块化和可重用的组件中,从而确定改进和创新机会。可以使用 CBM 推动自顶向下的开发活动。这可以实现灵活性,并清楚地将重点放在运行业务和推动战略所需要的核心功能上。
图1给我们描述了在信用卡企业有效地规划 SOA 的切入点就是建立本企业的 CBM。把企业独立的功能性部门管理在一张视图上,从而看到跨部门的协作以提供客户价值。通过对商业组件的划分,找出最有价值的商业模块,以便确定实施 SOA 的业务单元,让 IT 系统最有力的支持企业战略的发展。
组件业务建模是企业模型的一个独立的可以单独运作的业务单元,甚至可以做一个单独的企业或者一个企业的分公司的模式来运营。
组件业务建模的分类是商业模型差异化的优势和方向,同时定义了业务领域的共性和能力,例如,产品开发领域或者供应链领域。
CBM 同时定义了三个活动来更好的辅助决策,这里一共定义了三个层次,分别是领导,控制和执行:
领导(direct) 是关于战略、总体方向和政策
控制 (control) 级别是关于监控、管理例外情况和战术决策
执行 (execute) 级别是关于具体工作
简单地说,CBM 是用来把业务模块化分析的技术,从而有效的实现业务的有组织的提供服务的能力。它的价值是提供一个可以推广的框架,用来创造顺应组织战略的可以运营的指导方向。同时 CBM 也用来按照业务和资源的优先级别和相互关联的程度来构建和顺应战略的发展方向,其中包括建立一个沟通的机制来理解整个业务发展的方向。
组件业务建模通常为客户提供"面向未来"的业务框架,促使企业朝着完全成熟的内部专业化组织发展,CBM 能够作为诊断工具,帮助那些采用复杂商业模式的公司识别并隔离问题,能在不增加组织复杂度的情况下实现企业内部的专业化,同时不会使客户感觉到企业内部发生着的变化。
CBM 工具在弥补业务和技术之间的差距上表现得十分杰出。它提供的主要内容,即业务组件映射是企业情况的单页快照(One Page Snapshot),可让管理人员通过相同的角度确定出决策的框架。单页快照可以将一个企业表现在一张纸上。
企业通过 CBM 的分析,建立了 SOA 的规划的方向,为实施 SOA 奠定了基础。
服务集成成熟度模型(Service Integration Maturity Model,SIMM)是对企业服务成熟度级别进行确定。
通过使用 SIMM,企业可以明确哪些介于 SOA 的业务流程应该尽快建立,以及如何通过采用增量的方式进行实施。它一种衡量 SOA 解决方案的方法,这种方法不仅能为企业提供直观的 SOA 成熟度模型,也是指导我们整个 SOA 方案设计的方针。
通过上图 2,我们可以看出,要实现真正的 SOA 架构,最低限度要做到 level4。服务集成成熟度模型包括了商业业务视角,组织结构,方法论,应用程序,架构,信息等信息,其等级描述如下:
Level 1:Silo: 简单的数据整合,架构脆弱无法应对外界的变更。
Level 2:Integrated: 应用整合,接近于 EAI。在整合的手段上面更加讲究,并尝试着通过数据整合来分解与重构系统。
Level 3:Componentized: 功能性整合,业务主要的部分和关键路径将被组件化和模块化,使用 transformation 和 renovation 方法对基于 J2EE 或者 .NET 的遗留系统进行重构。组件或者模块的边界与范围将更加清晰。组件的整合是通过接口和它们之间的操作规范。
Level 4: Simple services: 流程整合,可以在小范围内定义与提供一些服务给内部组织或者外部的商业伙伴使用。
Level 5:Composite services: 供应链整合,服务可以扩展到整个服务生态系统(service eco-system),根据需求,一个服务可以在供应商,经销商,消费者之间流动。
Level 6:Virtualized services: 能够建立一个虚拟的基础结构 (virtual infrastructure) ,应用程序可以基于这个基础结构来运行。达到这个等级之前必须对应用程序,以及它的服务,组件和流程进行解耦(decouple)。这个基础结构可以被很好的调节,并结合过网格观点和网格服务来实现敏捷性。监控,管理和事件也会被具体化。
Level 7:Dynamically reconfigurable services: 依照具体化的规定、管理和监控,服务可以在运行时进行动态组合。
为了有效的评估以上的企业当前服务模型的成熟度,我们可以依照以下几个步骤:
定义范围/痛点
通过和利益相关者沟通和会议,来建立一个有效的制定范围的机制,从而确定出企业面临的问题和痛点。
配置评估的框架
对企业的当前的问题分类的问题进行分析和评估。
评估当前的状态
通过一系列的访谈和会议,来获得企业的系统流程,状态,架构,应用,测试以及技术和支持的现状。
定义未来的状态
根据业务和 IT 的战略的方向和当前的状态来定义未来的发展方向和方针。
确定当前和未来的差异
确定当前企业在人力,流程,和技术方面和未来的发展的差异和差距,并且根据研究和过去的最佳实践,工业的标准和经验来开发和推荐可行的方案。
定义里程碑
将结论和推荐的方针和政策文档化,特别包括为实现而定义的里程碑。
通过应用 SIMM,我们不仅定义了企业当前的 SOA 的成熟度,也定义了未来发展的方针,企业可以知道自己处于哪个级别以及有哪些方面需要改进,从而制定 SOA 的项目的范围,为第一个试水项目的实施指明了方向。
CBM 为将企业最有价值的资源进行了模块化划分,同时 SIMM 为实现模块化指明了方向。如何才能设计随需应变的应用系统来支持企业的业务流程和发展的目标,从而真正的实现基于 SOA 的商业模型呢?诊断企业现有的流程和应用系统,同时制定优先级,以确保对组织贡献最大的项目和应用可以地得到企业最大的资源的支持。SOMA 将引领 SOA 的成功的是实现。
面向服务的建模和体系结构(SOMA)
面向服务的建模和体系结构(Service-Oriented Modeling and Architecture,SOMA)提供了用于业务服务识别、规范说明和实现的技术。.
SIMM 的下一步是创建实现业务流程的服务模型。我们将按照 SOMA 方法创建服务模型。
SOMA 是一种用于 SOA 解决方案实现的端到端方法。它是用于 SOA 设计和构造以支持目标业务流程的分析和设计方法。
可执行的 SOMA 活动如下:
标识服务
规范服务
实现服务
图 3 为我们展示了 SOMA 主要的方面和创新的点,从而能最大限度地找到满足企业发展的瓶颈,构建基于 SOA 的系统来解决企业当前的困境。
SOMA 的核心是标识和规范服务、组件和流程。SOMA 通过业务组件的输入,确定候选的服务和流程,然后定义服务、组件和流程的规范,从而来实现服务,输出 SOA 的实现的解决方案。
SOMA 的三个活动是标识服务,规范服务的规格以及内嵌的属性、规则、方法、事件、流程和数据模型,这有助于帮助实现服务。服务的实现是绑定提供实例化的组件和服务,这些服务可以通过 EJB 暴露 web 服务的方式来实现,也可以通过封装现存的业务来实现。
SOMA 的首要的任务是分解业务,通常通过自上而下的业务驱动的技术,分析重点的业务领域来确定业务的服务。这个过程是迭代的,不断的诊断业务流程的过程,直到候选的服务不能再分解为止。同时也可以封装已有的业务逻辑或者服务来支撑新的业务服务。
业务分解是 SOMA 的最关键的步骤,通过流程分解,我们可以分析出主要的业务的重要的方面,收集业务的诸多的因素,流程化分析的结果,从而提供清晰的能够为未来产生较大价值的业务方面。
同时我们也要通过目标导向机制的分析技术来保证 SOMA 的分解的业务和组织的战略是方向一致性。这就要求我们首先要确定哪些目标是和战略一致的,哪些子目标有效的支持了战略的发展。接下来,要确保定义的服务能够达到目标或者子目标。最后我们可以定义 KPI 来有效的测量我们定义的目标和服务。
SOMA 是一个分步骤来帮助企业梳理流程,同时创建面向服务的业务的过程,它吸收了很多的最佳实践,并且架起了 CBM 和 SIMM 实施 SOA 落地的桥梁。SOMA 可以包括不仅仅包括确定业务服务,流程和组件,同时深化了 SOA 的战略,细化了业务服务。
CBM 为企业实施 SOA 确定了范围。SIMM 在确认的范围的基础上了为企业实施 SOA 指明了方针。最后,SOMA 为 SOA 的具体实现提供了框架。
首先用 CMB 来建立业务架构建模,步骤如下:
模块化业务
战略优先级排序
分析不同 KPI 为每个模块
定义和排序改革的项目
接下来用 SIMM 来评估和计划,步骤如下:
评估当前的SOA的成熟度水平
为定义的项目确定痛点
定义当前的状态
定义期望的状态
找出差异并定义 SOA 的里程碑
最后用 SOMA 来服务建模,步骤如下:
根据业务模块来确定服务
规格化服务
实现服务
通过本文的介绍,相信您对构建的 SOA 框架来解决企业面临的问题的有了一定的了解。特别是利用 CBM,SIMM 和 SOMA 的框架和技术来分步骤有序的完成企业实施 SOA 的过程。
联系客服