全部博文(372)
2012年(372)
分类: 虚拟化
2012-02-29 13:45:58
打造“灵动”的IT
提高IT系统的灵活度,必须降低IT系统与业务和流程之间的耦合度,让它们实现“松散耦和”。
实际上,只是一个设计原则,体现的是不同应用之间“高内聚、低耦合”的特点。我们完全可以借鉴这一设计理念,对信息系统进行适当的改进,降低不同系统间的依赖程度,变相实现“面向服务的架构”。
那么,如何才能实现不同系统间“高内聚、低耦合”的架构呢? 这需要从两方面分别考虑,一方面,功能划分相对独立,另一方面,技术实现互不干扰。
· 功能划分相对独立
首先,需求分析要“做透”
业务上的紧密联系决定了系统间的相关性,只有在需求调研阶段把业务部门的需求“吃透”,理解他们希望系统能够达到的最终目标,才能规划和设计出内部流程紧密、外部关联松散的系统架构。
前期规划到位之后,各系统间的联系通过标准形式实现,即使现有系统要变更或者新系统要开发,都不会再出现那种“你改我改大家改”的混乱局面。
其次,流程抽象要“封闭”
无论业务运营还是系统功能,都离不开业务流程的实现。从流程分析和抽象的角度讲,每个系统都把该做的事做好,把业务变动带来的影响控制在系统内部,尽量减少相互间“被动升级”的现象发生。
实际工作中的很多变更请求都与流程有关,尤其是那些跨越多个部门、涉及多个人员的流程,如果流程抽象不到位,很容易出现人变流程变的现象,给后期的系统运维造成麻烦。
最后,组件设计要“内聚”
在系统设计时,把功能相关的组件和方法放在同一个组件里实现,可以有效减少系统变更时需要改动的范围,出现问题时也更容易跟踪和调试。
另外,尽量将与流程无关的信息与组件分离,比如产品清单、部门列表等,可以从程序中拆离出来,保存在格式文本或者数据表中,以提高组件的业务无关性,增强内聚程度。
· 技术实现互不干扰
首先,通用的基础架构
通过部署统一的基础架构,可将不同业务系统整合为一个功能完整、流程顺畅的“大IT系统”。通过基础架构实现系统流程的整合和驱动,让每个业务系统像模块一样“插”在框架之上。
基础架构实现了每个应用系统都会用到的诸如身份验证、权限分配、安全保障等基础性功恩,每个应用系统在开发时不需要再关心这些问题,既加快了开发速度,又避免重复造轮子的浪费。
其次,实现标准化接口
尽管需求分析过程尽量保持了系统的相对独立性,但是,由于跨部门的流程存在,系统之间不可避免的存在交叉,因此接口在所难免。
为了降低系统间的耦合程度,在实现系统交互时应尽量采取通用的标准化接口,比如利用XML文件传输数据、通过Biztalk服务抓取接口文件并进行处理、利用数据库的DTS实现后台数据传输,或者为仅需查询数据的其它系统开放具有只读属性的通用视图,都是很方便实用的方法。
最后,组件和服务模块化
随着企业信息化建设的逐步推进,很多业务人员都面临让人头痛的窘状,一笔业务从开始到结束,可能要在三、四个系统里走不同的流程,繁琐又效率低下。
基础架构和标准化接口的实现,使每一个应用系统都可以进行独立的模块式开发。只要遵循相同的开发标准和规范,代码或者组件的重用变得相对容易,组件和服务业可以轻松的部署在任何一台标准服务器上,以实现灵活的面向服务的架构。