摘要
服务导向架构(Service-Oriented Architecture, SOA)系列文章的第二篇将提供一套具体的计划连同诀窍与深入见解以协助您建构有效的SOA蓝图,并确保您SOA项目能大功告成。
任何伟大的旅程都必须先决定目的地,贵单位导入SOA的决策也不能例外。但和西部拓荒的早期美国人一样,你一开始对前方有什么,或是该如何前往目的地可能都只隐约有个概念而已。
要成功抵达目的地,你得评估自己的优劣势、确立清楚的方向、选择路线,然后在前进时不断重新评估路线。简而言之,你必须为旅程创出属于你自己的地图。
什么是SOA蓝图,为什么非它不可?
服务导向架构是一种将企业内分散的软件功能整合成一个可相互沟通的标准化服务,以便依照企业需求快速组合和重新使用。只有在企业长期目标与短期需求达到平衡后,SOA的效益才可能实现。
要达成这种平衡,企业可在SOA项目一开始的时候就制定出组织、财务、营运、设计与施行作法。然而相较于「全面式」革新,其实以渐进、反复的方式执行文化变革,反而更能给组织较充足的时间去学习。
基本上,SOA蓝图正提供了一套反复而渐进式的作法,在你不断前进的同时可以捕捉(或重新塑造)贵公司特有计划的精神。
SOA蓝图应该包括以下三大特点:
1.成熟度:请把你的SOA蓝图看成会持续搜集经验与学习的「活的文件」。随着SOA蓝图愈趋成熟,你的SOA专案将能井井有条的愈变愈繁复。要制作一张SOA蓝图,一开始得先评估贵单位可用于SOA的能力与行事法则。(某些厂商,如BEA有在线自我评估工具可以协助自我评估)。
2.范畴(scope):一个完整的SOA蓝图应该包含六大领域(见图一)。这些领域各自分离却又相互关连。每个领域确实执行乃是确保全企业(enterprise-wide)SOA项目成功的基础。
SOA蓝图应该要能清楚勾勒出你SOA项目的轮廓,并且为达成SOA目标而建立透明而弹性的时间表。这些目标应该可以细分成可被管理的数个阶段,然后以反复而渐进方式实现之。
3.品质:每个里程碑(milestone)皆套用「学习、调整」的流程,而你的蓝图在整个项目过程反复而渐进地前进着的同时,可不能愈离愈远。为确保你SOA蓝图的质量,你最好要与所有相关成员沟通、确定过、并且取得所有部门的意见与同意。
图一 BEADomain Model
如何建立SOA模型
发展SOA蓝图有四大领域:SOA规划、SOA成熟度评估、SOA未来愿景以及SOA蓝图定义
SOA规划
SOA项目要在本阶段中经过整理与定义。所有相关成员在经过沟通与简报后开始了解情况,并且在工作优先级及范围取得共识。由于本阶段攸关贵单位所有员工,因此清楚而充足的沟通相当必要。在本阶段你要做的事包括:
‧定义SOA的范畴
‧建立与其它IT项目间的界限与配合状况
‧适度展现SOA对业务的价值
‧展现目前与未来业务计划间的配合程度。
SOA成熟度评估
在SOA成熟度评估阶段,你得建立衡量进度的机制。你必须定义出目前有哪些服务和能力可用以当成SOA起点,并找出哪些项目可作为发展基础。透过一系列面谈与问卷,你的团队应该可以检查多个领域-针对每个作分析、定出基线(base-line)、并确认现有模式(as-is)情境。你可以利用BEA的「Domain Model」规划以下检视作业:
‧业务策略与流程:由上而下检视业务策略与流程
‧架构:检查现有架构、政策与标准
‧成本与效益:全面检视目前的成本架构与效益benefits cases
‧建构元素:分析既有的服务、流程、工具及技术
‧项目与应用:检查现有的系统、以及正在进行与规划中的项目
‧组织与管理:分析目前的管理架构与政策
SOA未来愿景
在本阶段中,你的团队可在小组讨论中决定与定义出「理想」的状态,并确保各单位都同意。
‧业务策略与流程:做出SOA未来愿景与业务策略与流程之间的关联
‧架构:指导性原则、要求、政策、标准与参考架构
‧成本与效益:测量机制与测量标准
‧建构元素:共享的服务架构要求及标准化工具
‧项目与应用:将SOA对应到项目及应用程序
‧组织与管理:管理与遵循架构与政策
SOA蓝图定义
你的SOA是在此一阶段开始定义。你应该依据前面三阶段所搜集到的信息针对贵公司SOA目标与相应的时程作全面的差异分析。近期事件会比较详细,而未来的事则变通性较大,以便可以融合你在过程中学到的心得。
1.业务策略与流程:依据机会而定义业务价值
2.架构:短期、中期、长期参考架构蓝图
3.成本与效益:未来测量标准、成本架构与效益benefits cases蓝图。
4.构成元素:排定共通服务策略与标准化流程的优先级。
5.项目与应用:项目与应用的影响
6.组织与管理:计划的管理架构与政策
你应该将SOA蓝图视为会不断搜集经验与心得的「活的文件」。随着蓝图逐渐成熟,你的SOA计划也会在井井有条的方式下日趋繁复。(见图二)
图二 SOA「学习、调整」蓝图
结论
本文宗旨在于提供一个架构以协助你擘画属于你自己的SOA蓝图,并解释为什么这么一个蓝图对SOA计划来说如此重要。这份蓝图是指导你该开发什么、何时开发,以及开发的东西该何时布署的准则,因此可说是你顺利布署SOA最强大的工具。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突