1.2 软件工程与SOA成熟度
不少软件从业者都熟悉CMMI(Capability Maturity Model Integration能力成熟度集成模型)。CMMI主要包括软件工程、项目管理、过程管理等几个大的过程,是应用于软件业项目的管理方法。其共有六个能力度等级(0-不完整级;1-执行级;2-管理级;3-定义级;4-量化管理级;5-最佳化级),每个能力度等级对应一个一般目标以及一组一般执行方法和特定方法,评定级别越高,成熟度越高。与CMM相类似的有EAMM(Enterprise Architecture Maturity Model企业架构成熟度模型)。
同样,SOA也有其成熟度模型:SIMM(Service Integration Maturity Model服务集成成熟度模型)或OSIMM(Open Group SIMM)。从SOA成熟度而言,企业对SOA的采纳是帮助企业从一个成熟度迁移到另外一个成熟度,每个层次的迁移需要不同的条件,也带来不同的价值。SOA的实施可小可大,小到Web服务,大到整个企业服务模型及集成架构。SOA也是多层次的概念,有业务层次,将业务活动描述为服务;有IT层次,将应用暴露成服务接口;有架构层次,使组织架构元素具有弹性。因此,SOA的成熟度模型可以帮助描述SOA涉及的主要方面和各个采纳阶段。如图1-2所示,SIMM可以表明企业SOA的当前成熟度(圆形)及目标成熟度(三角形)。
与传统软件工程管理的CMMI不同的是,SIMM反映出企业业务灵活性的目标状态。SIMM的目标不是一定要达到最高级别,而是确定适当的目标级别作为行动路线图,对现有企业进行改进,从当前成熟度提升到目标成熟度。何为适当的目标级别?业务的ROI(Return on Investment投资回报率)是考虑的重点。另外,与CMMI不同的是,SIMM虽然也有方法或指导原则,但不一定是所有的SOA项目都得刻板执行,关键是要符合企业的业务目标,以选定的KPI(关键性能指标)及KAI(关键敏捷指标)来衡量。本书的侧重点在于应用架构方法,所以,我们主要关心SIMM中的方法、应用及架构层次有关面向服务的部分(图1-2框格部分)。
目前国内的信息化建设与国外发达国家相比,在硬件方面已平分秋色,但在信息化管理方面,特别是在企业级的面向服务架构方面,还有相当的差距。根据权威机构对于IT成熟度的四个阶段(启动阶段、扩张阶段、控制阶段及整合阶段)分析,目前我国大多数企业处于扩张阶段。这一阶段的企业的特点是区域IT组织各自为政,对新系统和技术缺乏协调。这些企业的转型的重点在于采用规范的架构设计,进而过渡到应用系统和数据全面整合的阶段。简言之,SOA成熟度是个发展过程,有待时日。
图1-2 服务集成成熟度模型