一、为什么要用框架
软件系统发展到今天已经非常复杂,非凡是服务器端软件,涉及到很多的知识、内容及问题。在某些方面使用现有的成熟的框架,就相当于让别人帮助你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟、稳健的,它可以处理系统的许多细节问题,比如,事物处理、安全性、数据流控制等。
框架的最大好处就是重用,面向对象系统获得的最大的复用方式就是框架。一个大的应用系统往往可能由多层互相协作的框架组成,由于框架能重用代码,因此从一个已有构件库中建立应用变得非常轻易,同时由于构件都采用框架统一定义的接口,从而使构件间的通信简单。
采用框架技术进行软件开发的主要优点包括:在某领域内的软件体系结构一致性好;利于建立更加开放的系统;重用代码大大增加,软件生产效率和质量得到提高;软件设计人员专注于对领域的了解,而不必限于低层编程,从而使需求分析更充分;有利于在一个项目内多人协同工作;大粒度的重用使得平均开发费用降低,开发速度加快,开发人员减少,维护费用降低,而参数化框架使得适应性、灵活性增强。
二、下一代应用框架解决方案——TmaxSoft PRoFrame
TmaxSoft ProFrame是面向新一代应用系统开发的框架产品,产品中采用了多项先进技术和设计理念,并且框架本身提供了丰富的系统构成组件,例如事务处理、日志处理、安全治理、数据流控制等等。此外,产品中包含了友好的开发环境,在该环境下构建业务系统,开发人员只需编写少量的纯业务逻辑部分的代码,其余的代码系统可自动生成。
作为新一代的Framework产品,ProFrame实现了框架产品应具备的整合性、复用性、扩展性、开发方便性、治理简便性的最大化。
(一)ProFrame系统结构
ProFrame在整体的设计上,采用了分层的体系结构和SOA技术架构。整个系统总体上分为3层,包括渠道层、业务层和数据层。在业务层内部又分为系统通用层、业务通用层、具体的业务层。
图(proFrame系统结构图)
渠道层渠道层主要负责各种内外渠道之间交易报文信息的转换,对采用不同协议的内外渠道的输入输出参数信息进行统一的治理。
该层的实现,使得交易接口与核心业务逻辑完全分离,有利于扩展和新增渠道。渠道的变化不会引发核心系统的同步修改,同时在该层中对不同渠道的故障进行独立治理和监控,保障了某一渠道出现问题而不会造成对其它渠道的影响。在技术实现方面,该层采用Non-block I/O技术来防止各个渠道独占通讯资源而造成的堵塞,保证了系统的可靠性和稳定性,同时提高了交易请求及响应的速度。
业务层在业务层中,开发者根据对业务逻辑的需求分析,完成某项业务服务的具体实现。一般来讲,应用开发者在框架的基础上进行开发,只须扩展框架的某些部分。“热点”就是在应用领域的一种扩展槽,开发者根据自己的需要来填充这些扩展槽。在ProFrame的业务层中,为开发者提供了具体服务的开发扩展接口,开发者在指定的区域编写少量服务代码,完成后可直接发布服务,提供给特定的交易。为方便开发者开发,ProFrame产品本身提供了完整的开发环境,我们称之为Probuilder,通过它强有力的GUI,使得开发的简便性达到最大化,而错误产生的可能性最小化。
数据层在ProFrame框架中,与数据库交互的部分,由专门的数据层来实现,并在该层上保证DB连接方式的最优化、数据操作的高效性、数据库访问权限控制、数据库操作日志统一记录治理。实现了数据库访问和应用程序逻辑的分离,并且对应用提供了单视图操作接口。在技术实现方面,该层中采用了MMDB和Cache技术来保证系统的高性能。
(二)ProFrame功能特点
1、在ProFrame 基础上进行开发,开发人员只需要实现纯业务逻辑,由Framework直接负责系统稳定性所需功能或中间件、 事务治理、交易接口处理等较低级别的功能。
2、产品在架构设计方面采用SOA技术架构,实现了松耦合的特性。分层的结构设计,在业务应用逻辑中既不包含客户端通讯接口部分,也不包括后端的数据库处理逻辑。各层功能职责明确,易于扩展和控制。
3、ProFrame通过各种参数方式,提供灵活控制交易属性所需的基础, 并根据参数可以控制流程。模块之间的依靠关系可通过参数表来确定。
4、 在ProFrame基础上进行系统开发,可以采用标准化的设计和开发方法论,保证了整个开发过程的标准化和有效的统一治理。
5、ProFrame框架下,提供了完备的可视化开发环境和自动化生成组件,极大的提高了开发效率,可迅速构建服务代码框架。
6、 ProFrame框架内嵌业务规则引擎(BRE),支持各种类型(H-Rule、 Flow-Rule、 R-Rule、 Execution Rule)的业务规则定义和执行。
7、为提高整个框架的性能,产品中采用了CommBuffer技术,利用Dynamic Call实现2PC高效处理,并且还全面运用了MMDB/TCache等手段提高性能。
8、为保障系统的稳定性,ProFrame通过自身的Infra服务,提供信息系统稳定性方面最常见的故障解决方案。可有效避免Dead Lock、 Memory Leakage、System Call滥用等发生,或者故障发生后的预警。
9、实现整合最大化,保证大容量交易正常处理。通过AnyLink(TmaxSoft的多渠道集成解决方案)实现了多渠道的无缝整合,提供与EAI Solution连动所需的适配器,异步方式与对外业务系统相连动,清除服务器Block. 10、ProFrame在运行阶段中通过Hot Deploy、 application Monitoring 等功能,提供稳定的基础结构。
(三)ProFrame实施效果
ProFrame框架为建立在之上的软件系统提供了稳定的运行环境,并在技术中采用了MMDB、TCache、 CommonBuffer、Non-Block IO等先进的技术保障了系统整体的高性能。同时系统模块基于参数和规则进行设计和封装,模块之间采用了动态的调用方式,使得系统很轻易进行扩展和实时修改。
在项目中采用ProFrame进行开发,将会产生如下的效果:灵敏性增强,易于新增业务系统,缩短新业务的上市时间;业务处理时间缩短,客户满足度提高;灵活性增加,灵活应对市场和客户需求的变化,应对新的技术;系统在一致性的基础上可有效扩展;业务效率和开发效率同时提高;采用框架和模块重用,极大缩短开发周期,减少整体成本 .
三、应用案例介绍
ProFrame产品作为优秀的框架解决方案,在韩国金融和电信领域内,已有多项成功案例。
(一)金融行业案例
“新韩银行”是韩国国内历史最久、客户满足度最高的银行,该银行的业务包括银行、保险、证券、卡、信托等,为客户提供一站式的综合金融服务,银行下设365家营业网点,分部在韩国各地。由于原有核心业务系统不能满足新的市场需求,从2004年开始,新韩银行构建了新一代的核心业务系统,新的系统中涵盖了原来所有的金融业务。在该项目的构建过程中,采用了TmaxSoft公司提供的ProFrame产品及TmaxSoft公司的中间件产品。经过2年的时间,系统开发完成并成功实施。新一代系统基于ProFrame框架进行构建,具有良好的软件体系结构,实现了核心系统和各渠道系统之间灵活整合与联动,上线后系统运行稳定高效,业务处理时间大大缩短。
此外,韩国“Citi银行”在核心系统、综合客户系统构建时,也使用了ProFrame框架。韩国“农协银行”在构建新的营业系统、韩国信用信息中心在构建新一代的信用信息系统时,都采用了该方案。
(二)电信行业案例
在韩国电信行业,“SK电信”在构建其下一代市场业务系统时(SKT NGM System)也采用了ProFrame作为其构建平台。
“SK电信”是韩国最大的移动公司,开创了韩国第1代模拟移动电话时代;在世界上首次实现CDMA技术商用化,开创第2代移动通信时代;世界首次实现2.5代CDMA 2000 1X服务与世界首次第3代同步方式IMT-2000(CDMA 20001x EV-DO)商用化;被财富杂志评选为世界第5大通信公司。为了及时有效的支持新业务, 提高大客户的价值和服务, 迅速提供营业信息,科学治理合作伙伴,从05年开始,公司决定构建下一代的市场系统NGM.为了实现这个目标需要对原有四大业务流程进行重新调整,并且对三大 IT 基础设施全面更新。
NGM 系统的需求包括原来的客户治理、计费、客户商谈等 46个子系统,并新增了合作伙伴治理子系统、市场信息治理子系统、财务子系统等重要的组成部分,实现全部的业务流程及功能,是对整个公司的业务系统的全面重建。
该项目实际实施是分为两个阶段完成的,在第一阶段主要是由其它两家IT跨国公司合作开发,采用传统的软件开发过程,经过一年多时间完成了部分工作,最后由于系统复杂庞大难以实现,项目公布失败。而后,在第二阶段,SK电信选用了TmaxSoft的ProFrame应用框架解决方案,基于该方案进行开发,仅花费了12个月就将全部业务功能子系统开发完成,为SK电信节省了大量的时间和费用,并取得了如下成果:
减少了计费的时间在新的系统中,计费时间减少了84% ,2千万用户的计费处理在一夜之间就可以完成。
减少了财务结算时间营销财务信息的计算时间由原来的D+3变成了D+1.
缩短了新产品的推出日期当需要新增一项复杂的产品时,比如卫星 DMB 或 Wibro相关产品,在原有系统中需要花费2~6个月的时间,而在新系统中只需要1~2个月。
性能指标的满足新系统中,业务应答速度满足率达到99% 以上。例如,在基本性能方面端到端的查询需要2秒,用户注册只需要3秒钟就可以完成;支持12000名用户同时在线使用;系统支持在线处理和批处理同时进行。
服务可用性的提高新系统上线后,还未出现服务中断现象,新系统中故障应对策略确保了系统的高可用性。
进入讨论组讨论。新闻热点
疑难解答