IBM全球服务中心在近期所发布的一份白皮书中指出,成功的实施SOA包含以下五大特征。
· 在架构开发上要有前瞻性,即不要只局限于基本的连通性,而要更多地关注架构本身。
· 加强IT与商业流程之间的关联,把IT提升到商业功能服务提供者的角色。
· 制定一个能够支持SOA的组织结构,其中包含文化、技能、培训、团队建设、决策、激励机制、协作及治理等方面。
· 基础设施要具备可升级性,通过正确的工具和测量方法,设定服务的可升级性基准。
· 提高操作的可见度和透明度,注重服务治理和服务管理。
IBM认为,SOA成功部署的前提是要先建立核心架构的领导团队,确保所有工作围绕真实需求展开,并对整体架构的发展起到指导作用。SOA中所强调的重用不单是指传统意义上的代码重用,而更多的是通过建立一个框架结构,加上审慎的规划与管理,来实现SOA的整体循环使用,促进企业内各SOA项目的发展。
服务组合往往是一件繁杂的任务,其中牵涉到工作单元划分、错误处理、安全防护与商业逻辑整合等诸多方面。因此,企业应当在着手进行服务设计之前就考虑到重用属性,并随着商业用例的累积逐渐增加可重用性。
在不少SOA实施个案中,实施者都没有对SOA数据管理给予重视,从而造成数据管理错误,产生不可靠的数据,影响到数据的完整性与准确性。IBM的经验认为,高效的元数据管理与使用公用信息模型(CIM)是走向SOA成功的关键要素。CIM可以为适用于所有界面接口、数据结构与数据转换的信息创建描述性元数据,支持重用,并加快开发速度。另外,通过以模型驱动的方法,还能进一步将所收集的最佳实践标准化,在界面接口与信息结构之间树立一致性,并且更容易在需求升级时进行转换。
将IT与商业流程结合到一起,在设计SOA方案时,侧重于商业流程未来该如何正确运转。商业流程建模是一种能够追踪关键商业实体生命周期的有效方法,它不但灵活、简单,而且也有较高的一致性,更有助于让企业间不同的参与者达成一致目标。
但是,倘若上层商业流程的模型不正确,那么下层商业流程的细分和执行就会举步维艰,要付出更多的代价。通过商业建模以及面向服务的建模架构都可以为此打下坚实基础。商业建模可以对企业进行分析,将企业划分成若相对独立的商业单元,从中探索革新或改善的机会。而面向服务建模是SOA活动必不可缺的一部分,通过分析商业目标和关键绩效指标,生成独立于任何特定技术与模型的SOA。
根据IBM的研究经验,影响最大的要数竖井式组织结构。这种结构状态通常只从各项目本位进行思考,由于缺乏集中化控制,因此若要将多个项目按照各自的进度整合起来,要么难以实现,要么在实现后低效运转。要解决这一问题,可以建立一个由多方参与者组成的小组来进行设计与监管,推动初期的架构决策朝正确的方向发展。
严格治理也是SOA持续成功的另一个关键。SOA治理能让商业团队与IT团队之间更无间地合作,识别出对实现商业目标最有价值的项目。
为避免各项目之间使用重复或不一致的治理模型,造成混乱和阻碍,建议企业要有前瞻性和全局化的战略目光。通常SOA在实施中会涉及到各种服务间的交互,因此,弹性、可靠性及可用性是三大最基本,也是最重要的要求。企业应尽量使用已知方案来满足可靠性与性能上的要求,然后反复测试,确保性能、弹性和操作性得到符合。不要在尚未进行系统化测试的情况下就匆忙部署某个解决方案。
最后就是保障SOA运行过程中的可见度与可控制度。无论是事件管理系统,还是故障检验工具,都应在架构的各层级提供有效可配置等级的信息。另外,选择那些能够简化SOA基础设施管理的解决方案也有助于降低部署的复杂性。