面向构件的软件过程:应用管理


 2006-12-19 00:00:00       753

一个面向构件的系统是由运行时可见的构件组成的。
改变构件实现毋须改变系统的其余部分。
--Peter Herzum,《业务构件工厂》

概述

面向构件的中间件支持“开发即组装”的生产方式。通过采用可视化的构件组装技术,将逻辑独立于代码,方便了业务人员和技术人员的沟通,实现了快速开发和维护,真正实现了随需应变。
随需应变的一个重要方面是管理维护,面向构件的应用管理将构件化的好处延续到了“组装之后”。
面向构件的应用管理包括部署、监控、在线更新、安全审计、日志查看等各种服务,保证系统稳定、高效率的服务,保证系统能安全稳定的7X24小时运行。用户通过界面操作即可配置系统参数、配置扩展开发参数、部署业务构件、监控构件运行状态、管理系统日志以及对构件平台的使用情况进行审计,从而达到对面向构件应用进行有效、方便管理的目的。例如,提供用户标识、登陆时间、登陆IP地址、数据等的实时监控及状态统计,便于用户发现瓶颈、优化系统性能。
应用管理阶段的进入条件、主要角色和步骤、核心工件、退出条件等如图1所示。



图1   提交、发布与部署阶段总览

例行管理与维护

为了保证大型企业级应用的平稳运行,进行例行的维护工作是必要的。
例行的管理与维护活动包括:
• 系统初始化。例如对系统运行所需的数据库进行创建、数据初始化,再例如对系统进行初始配置等。
• 系统监控。包括通过实时监控界面、系统日志、统计报告等方式,对系统性能、稳定性、安全性等的监控。
突发事件的管理与维护
任何复杂的系统都有可能出现需要随时关注的问题,软件系统也不例外。对于监控发现的或其他来源报告的突发问题,可能需要进行下列管理和维护活动:
• 诊断 当监控到任何异常问题出现,应在第一时间进行系统问题的诊断。确定问题的来源以后,可能需要改变配置或进行相关构件的升级。
• 配置 对日志、数据连接等系统参数进行配置工作,可在系统初始化或运行期间进行。
• 升级 对系统进行在线或离线升级、更新。
• 热部署 对新的子系统或业务构件进行在线部署。

案例研究

软件的维护是个大问题--维护和运营成本是成本的核心。面向构件的软件由大粒度的、面向功能的自治构件组成,从而支持通过更换构件来维护:当应用系统出现故障,通过诊断定位到出问题的业务构件,更换它(参见图2)。

 
图2  面向构件的软件维护(图片来源:《Business Component Factory》)

面向构件的应用除了在系统实施过程中体现出结构清晰、开发简单、质量稳定、快速实现等特点外,在系统维护管理期间同样有很强的优势。由于系统是以业务构件作为部署单元的,业务构件之间耦合度比较低,在对某个构件进行修改时,对其他构件的影响比较小,这就大大缩短了系统修改的周期。这种优势,在某电信业务支撑系统的维护过程中得到了很好的体现。由于业务支撑系统主要面向客户、产品、营销策略等。在运营过程中,因为市场、政策、管理、业务流程等的要求,经常会出现业务变化,要求系统能够比较快速的适应这些变化。由于在系统建设的时候采用了面向构件的方法,大大提高了某电信业务支撑系统的IT响应能力,在短短三个月的时间内,就处理了4次以上大的业务变化带来的系统变化,变动的业务构件数为37个,总的处理工作量为23个人日。根据业务支撑部门的人员的评估,如果采用传统方式,类似的业务变化,IT系统的响应时间至少是现在的三倍。
另外,由于构件是某电信业务支撑系统各个应用系统的基本组成单元和部署单元。系统的监控可以基于构件进行,EOS产品提供的管理监控环境(EOS Manager)就提供了运行系统中构件运行效率和调用频度的监控和统计。通过对构件执行时间的统计,可以很清楚地了解一个功能运行时的时间主要消耗在展现控制、业务处理、数据库操作的哪个层次的服务构件上,从而为诊断系统性能瓶颈提供了重要的依据。而对于构件调用频度的统计,可以让业务支撑系统的维护部门了解到系统的重点功能是哪些,让构件库管理员了解到哪些构件是复用度较高的构件。
图3是展现逻辑构件执行时长的统计截图。


图3  展现逻辑构件统计图

EOS Manager为管理某电信业务支撑各个应用系统提供了更多其他的功能,例如故障诊断、日志级别设定、构件运行日志信息查看、构件的热部署等等。通过这些功能,使应用系统的管理变得更加简单,体现面向构件应用的优势。

相关阅读: