《中国联通appframe架构亚信.ppt》由会员分享,可在线阅读,更多相关《中国联通appframe架构亚信.ppt(48页珍藏版)》请在三一办公上搜索。
1、让 中 国 软 件 影 响 世 界,南京研发中心亚信科技(中国)有限公司2009-06-28,Appframe概述,提升创新2007.亚信,1,Appframe的应用目标,提供一套完整的解决方案,降低总体拥有成本降低开发人员技术门槛,降低项目成本提升开发效率,并保证系统稳定性改善业务系统架构,降低业务系统耦合性提高系统运行期管控能力,提升系统问题的快速定位能力提供开发与部署无关的机制,提升系统部署灵活性和负载均衡能力,提升创新2007.亚信,2,提升开发效率,Web端提供了稳定的UI组件和前后台的数据交付方式,提高前台web开发效率DBGrid、DBForm、DBTree、AITab等自动实现
2、前台数据展现和后台业务数据对象的自动转换通过服务注册管理机制和Appframe Deploy 可以屏蔽系统部署对开发的影响系统的最后部署模式与开发无关,降低了开发人员的技能要求提高了系统开发调试的速度事务控制的配置化管理从原来的业务逻辑中抽离了事务控制,简化了系统逻辑。减少了代码层次和代码量。提高了系统开发调试的速度业务过程实现了详细设计与开发的同步,避免设计和开发的脱节,提高了开发效率OPFrame实现O-RMapping,通过配置实现了数据存储的自动化,提高了系统开发效率,提升创新2007.亚信,3,Appframe的结构,提升创新2007.亚信,4,WEBFrame介绍,1,BLFram
3、e业务层介绍,2,OpFrame数据层介绍,3,AppFrame Deploy工具介绍,4,5,AppFrame 管控介绍,5,提升创新2007.亚信,5,WEB层提供丰富的界面基础组件,DBGrid:数据编辑、事件控制、数据状态保持、翻页、数据导出、计算列、合计、树形表控制DBForm:数据编辑、事件控制、数据状态保持、树形表控制DBTreeDBPopMenuDBListBoxDBTabDBButton,提升创新2007.亚信,6,DBGrid,DBGrid是一个非常有用的页面组件,以表格方式展现数据,主要用来展示查询的数据结果,或者进行简单的数据维护。一个DBGrid的样式如下:,提升创新
4、2007.亚信,7,DBForm,DBForm是一个非常有用的页面组件,主要用来以自由格式Form方式展现数据,通常用于对一条数据的详细信息显示、对一条数据的新增,修改页面中。一个DBForm的样式如下:,提升创新2007.亚信,8,PopMenu,PopMenu是页面弹出式菜单。PopMenu的实现包含在PopMenu_v2.js中。一个页面弹出菜单的样式如下:,提升创新2007.亚信,9,Tab页,tab页是一种常用组件,显示效果如下:实现原理通过两个标签tab 和tabitem实现。,提升创新2007.亚信,10,报表展示,展示样例如下:,提升创新2007.亚信,11,数据展示,该组件提
5、供了数据的多种表现方式,包括柱状图、饼图、线图。其中柱状图和饼图提供了普通平面的和立体的两种表现方式。对于所有的数据展示方式都提供了JS和TAG两种方式的实现,分别满足了后台数据更新和前台数据处理的要求。数据展示样例立体柱状图,提升创新2007.亚信,12,WEBFrame介绍,1,BLFrame业务层介绍,2,OpFrame数据层介绍,3,AppFrame Deploy工具介绍,4,5,AppFrame 管控介绍,5,提升创新2007.亚信,13,SOA服务体系架构,系统各层间全部通过服务进行调用服务之间的依赖通过依赖注入的模式来实现。服务的部署方式包括:POJO、EJB、WEBSERVIC
6、E、CORBA服务的部署方式与调用者和实现者都无关,提升创新2007.亚信,14,服务调用,服务注册,服务的注册和调用,AppFrame核心功能,服务管理器,其它服务,EJB服务,CORBA服务,WebService服务,简单对象服务,单实例POJO实例,TUXEDO服务,服务查询,监控,提升创新2007.亚信,15,SOA服务设计目标,提供实现无关的服务管理,支持简单对象服务单实例的POJO服务EJB服务WebService服务提供服务的事务控制管理定义服务事务类型:加入事务(join)还是独立事务(independence)定义事务名称:选择服务使用的事务定义提供依赖注射提供服务属性的配置
7、提供服务监听的配置提供服务的动态注册和查询提供服务调用信息输出给监控模块,提升创新2007.亚信,16,Appframe服务设计的核心思想,Appframe服务的核心设计思想开发与部署无关优势开发人员不要关心服务将以何种方式发布开发人员不要关心多中心配置开发人员不要关心多数据库配置开发人员不要关心事务的类型配置开发人员不要关心监控日志如何输出优点开发人员只关心与业务相关的代码,提高开发效率与部署无关,降低开发人员技能要求提高本地调试的速度,提升创新2007.亚信,17,Appframe服务功能支持多中心,前台界面,接口程序,独立进程,多中心服务器路由,中心1 服务集群,跨中心服务集群,中心2
8、服务集群,数据中心1,数据中心2,提升创新2007.亚信,18,多中心支持,背景河南移动用户量庞大,如果所有用户数据必须从一个数据库读取,那么数据库必将成为严重的系统瓶颈,为保证系统性能,采取多数据中心方案,将不同地市的用户数据保存在不同的数据库。,解决方案appframe在底层支持多数据中心,通过服务配置及代理类,控制数据路由,并支持跨中心联合查询。因为是底层支持,所以业务逻辑开发人员编写代码时基本无须考虑多中心细节。通过修改配置文件,基于appframe5开发的单中心项目可以无缝升级为多中心,多中心项目也可以进一步拆分,保证了系统的扩展性。,提升创新2007.亚信,19,Appframe服
9、务功能支持多数据库事务,营业业务模块,帐务业务模块,资源业务模块,事务管理器,营业服务,三户资料库,产品库,帐管库,权限库,资源库,产品服务,帐务服务,权限服务,资源服务,提升创新2007.亚信,20,跨库事务控制,背景数据量相当大的系统,如果将不同的类型的数据分布在不同的物理数据库,能极大提升系统性能。但如果一次业务操作涉及到多个数据库,传统的数据库事务控制无法保证事务一致性,一些中间件的分布式事务服务又不稳定,会引起一些异常。,解决方案由appframe提供统一的事务控制,当需要进行不同数据库之间的事务控制时,由系统底层来保证所有的数据库操作都完成以后,统一进行数据库提交或回滚工作。因为数
10、据库操作真正耗时的是数据增、删、改操作,而数据的提交工作只是改变之前所操作的数据状态,速度很快,这种方案可能存在的风险只是在数据统一提交过程中存在的网络中断。,提升创新2007.亚信,21,WEBFrame介绍,1,BLFrame业务层介绍,2,OpFrame数据层介绍,3,AppFrame Deploy工具介绍,4,5,AppFrame 管控介绍,5,提升创新2007.亚信,22,数据存储管理,提供标准的数据操作接口:实现了O-RMapping,通过配置实现了数据存储的自动化.数据操作信息管理:自动记录进行信息操作的系统信息自动数据备份:根据配置,自动实现数据修改的备份操作支持复杂的分表策略
11、统一的数据对象主键管理最大值+数据库序列号自定义生成方式,提升创新2007.亚信,23,数据持久化逻辑关系,数据库连接池管理(监控连接的申请和关闭),自定义数据库连接池,ConfigTool进行BO对象定义,并自动产生相关对象文件,BO对象定义信息,数据库,CORBA,OBD,数据对象,业务逻辑层,JNDI数据库连接池,提升创新2007.亚信,24,WEBFrame介绍,1,BLFrame业务层介绍,2,OpFrame数据层介绍,3,AppFrame Deploy工具介绍,4,5,AppFrame 管控介绍,5,提升创新2007.亚信,25,AppDeploy,目前支持主流的部署模式:EJB自
12、动生成Webservice自动生成Corba自动生成与服务管理配合实现开发与部署的分离,提升创新2007.亚信,26,WEBFrame介绍,1,BLFrame业务层介绍,2,OpFrame数据层介绍,3,AppFrame Deploy工具介绍,4,5,AppFrame 管控介绍,5,提升创新2007.亚信,27,业务系统运行现状,难于定位系统性能瓶颈在复杂的系统运行环境中,不能快速定位系统性能瓶颈。比如说一个操作员说系统慢、很难马上定位是网络环境、WEB主机、应用主机、数据库或某些方法慢。各个功能模块的调用逻辑仅体现在代码中,难以获取难于获得系统问题场景当系统运行出错时,为了快速恢复生产,需要
13、立即重启应用。则丢失问题场景,难于重新错误。导致解决问题的难度大,周期长。难于实现业务系统问题预警系统的运行状况只能在操作系统层面进行监控。难于实现业务层面的监控。不能实现基于统计系统的预警。对系统进行在线管理控制困难,提升创新2007.亚信,28,AppMonitor业务目标,提供系统瓶颈的快速定位能力提供从客户IE端发起到数据存储端的全程性能数据输出,快速定位性能瓶颈提供运行期系统调用关系图,方便检查系统逻辑问题提供基于统计的应用级性能监控和预警建立基于统计的性能基线实现在性能基线的系统告警提供基于规则的业务运行场景输出提供灵活的监控策略配置提供业务调用堆栈和业务数据的全量输出提供基于JM
14、X的开放协议,方便外部监控系统实时接入控制提供友善的监控管理界面,提升创新2007.亚信,29,AppframeMonitor监控架构,提升创新2007.亚信,30,调用堆栈示例,提升创新2007.亚信,31,系统监控策略-输出信息,业务操作的客户端信息客户端发起的调用唯一标识号业务发起的时间客户端IP地址操作员编号操作员组织业务操作的客户BILLID、CUSTOMER_ID、SUB_ID、CHANNEL_ID,调用信息执行的主机IP执行的PARTION上级调用者执行的开始时间执行的结束时间输入参数的类型和数据执行的结果类型和数据执行发生的异常情形,提升创新2007.亚信,32,系统监控策略监
15、控规则,客户端策略监控指定的客户端IP地址监控指定的操作员监控指定的客户号码主机监控策略监控指定的主机监控指定的业务包监控指定的业务类监控指定的业务方法,业务监控策略监控指定的业务操作监控指定的业务异常性能监控策略根据性能基线设置监控偏移量,提升创新2007.亚信,33,规则配置管理示例,monitor-rule-config.xml3。,提升创新2007.亚信,34,业务调用逻辑分析(1)基于统计的分析,提升创新2007.亚信,35,系统在线统计(2)统计展现,提升创新2007.亚信,36,系统运行监控原理,使用代理类,将管控信息输出到monitor模块,对开发人员完全透明,提升创新2007
16、.亚信,37,遵循JMX协议的统一外部接口,监控策略配置,缓存管理,流程监控,队列监控,事务管理,。,JMXMBeans,HTTP浏览器,MC4J客户端,外部监控系统,。,提升创新2007.亚信,38,集成的管理界面,提升创新2007.亚信,39,监控管理功能,缓存管理在线用户管理数据库链接和事务管理关键模块TRACE功能主机内存及CPU监控主机线程监控,提升创新2007.亚信,40,系统缓存的实时监控管理,查询系统当前缓存使用情况强制清除指定缓存,提升创新2007.亚信,41,在线用户管理控制,查询系统在线用户信息强制注销用户,提升创新2007.亚信,42,数据库连接和事务管理控制,查询系统当前使用数据库连接信息查询系统当前的事务情况强制关闭数据库连接强制回滚事务,提升创新2007.亚信,43,数据库链接管理界面,提升创新2007.亚信,44,事务管理界面,提升创新2007.亚信,45,关键模块在线trace,在线跟踪关键模块线程的运行信息,将运行信息实时输出到客户端浏览器队列运行信息流程调度信息数据库连接使用信息事务的使用信息,提升创新2007.亚信,46,Trace功能界面,提升创新2007.亚信,47,创新的激情务实的作风永恒的进取心,亚信致力于为客户提供世界一流的软件方案和服务帮助他们迅速响应市场变化,降低运营成本提升盈利能力,