中国联通appframe架构亚信_第1页
中国联通appframe架构亚信_第2页
中国联通appframe架构亚信_第3页
中国联通appframe架构亚信_第4页
中国联通appframe架构亚信_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、让 中 国 软 件 影 响 世 界 南京研发中心南京研发中心 亚信科技亚信科技( (中国中国) )有限公司有限公司 2009-06-2009-06-2828 让 中 国 软 件 影 响 世 界 提升创新2007.亚信1 appframeappframe的应用目标的应用目标 提供一套完整的解决方案,降低总体拥有成本提供一套完整的解决方案,降低总体拥有成本 降低开发人员技术门槛,降低项目成本降低开发人员技术门槛,降低项目成本 提升开发效率,并保证系统稳定性提升开发效率,并保证系统稳定性 改善业务系统架构,降低业务系统耦合性改善业务系统架构,降低业务系统耦合性 提高系统运行期管控能力,提升系统问题的

2、快速定位能力提高系统运行期管控能力,提升系统问题的快速定位能力 提供开发与部署无关的机制,提升系统部署灵活性和负载均衡能力提供开发与部署无关的机制,提升系统部署灵活性和负载均衡能力 让 中 国 软 件 影 响 世 界 提升创新2007.亚信2 提升开发效率 web端提供了稳定的端提供了稳定的ui组件和前后台的数据交付方式,提高前台组件和前后台的数据交付方式,提高前台web开发效率开发效率 dbgrid、dbform、dbtree、aitab等等 自动实现前台数据展现和后台业务数据对象的自动转换自动实现前台数据展现和后台业务数据对象的自动转换 通过服务注册管理机制和通过服务注册管理机制和appf

3、rame deploy 可以屏蔽系统部署对开发的影响可以屏蔽系统部署对开发的影响 系统的最后部署模式与开发无关,降低了开发人员的技能要求系统的最后部署模式与开发无关,降低了开发人员的技能要求 提高了系统开发调试的速度提高了系统开发调试的速度 事务控制的配置化管理事务控制的配置化管理 从原来的业务逻辑中抽离了事务控制,简化了系统逻辑。从原来的业务逻辑中抽离了事务控制,简化了系统逻辑。 减少了代码层次和代码量。减少了代码层次和代码量。 提高了系统开发调试的速度提高了系统开发调试的速度 业务过程实现了详细设计与开发的同步,避免设计和开发的脱节,提高了开发效率业务过程实现了详细设计与开发的同步,避免设

4、计和开发的脱节,提高了开发效率 opframe实现实现o-rmapping,通过配置实现了数据存储的自动化,提高了系统开发效率,通过配置实现了数据存储的自动化,提高了系统开发效率 让 中 国 软 件 影 响 世 界 提升创新2007.亚信3 appframe的结构 secframe 权限管理权限管理 appmoitor 应用管控应用管控 让 中 国 软 件 影 响 世 界 提升创新2007.亚信4 webframe介绍介绍1 blframe业务层介绍业务层介绍 2 opframe数据层介绍数据层介绍3 appframe deploy工具介绍工具介绍4 5 appframe 管控介绍管控介绍5

5、让 中 国 软 件 影 响 世 界 提升创新2007.亚信5 web层提供丰富的界面基础组件 dbgrid: 数据编辑、事件控制、数据状态保持、翻页、数据数据编辑、事件控制、数据状态保持、翻页、数据 导出、计算列、合计、树形表控制导出、计算列、合计、树形表控制 dbform: 数据编辑、事件控制、数据状态保持、树形表控制数据编辑、事件控制、数据状态保持、树形表控制 dbtree dbpopmenu dblistbox dbtab dbbutton 让 中 国 软 件 影 响 世 界 提升创新2007.亚信6 dbgrid是一个非常有用的页面组件,以表格方式展现数据,主要用来 展示查询的数据结果

6、,或者进行简单的数据维护。 一个dbgrid的样式如下: 让 中 国 软 件 影 响 世 界 提升创新2007.亚信7 dbform是一个非常有用的页面组件,主要用来以自由格式form 方式展现数据,通常用于对一条数据的详细信息显示、对一条数 据的新增,修改页面中。 一个dbform的样式如下: 让 中 国 软 件 影 响 世 界 提升创新2007.亚信8 popmenu是页面弹出式菜单。 popmenu的实现包含在popmenu_v2.js中。一个页面弹出菜单的 样式如下: 让 中 国 软 件 影 响 世 界 提升创新2007.亚信9 tab页是一种常用组件,显示效果如下: 实现原理实现原理

7、通过两个标签tab 和tabitem实现。 让 中 国 软 件 影 响 世 界 提升创新2007.亚信10 展示样例如下: 让 中 国 软 件 影 响 世 界 提升创新2007.亚信11 该组件提供了数据的多种表现方式,包括柱状图、饼图、线图。 其中柱状图和饼图提供了普通平面的和立体的两种表现方式。 对于所有的数据展示方式都提供了js和tag两种方式的实现,分 别满足了后台数据更新和前台数据处理的要求。 数据展示样例立体柱状图 让 中 国 软 件 影 响 世 界 提升创新2007.亚信12 webframe介绍介绍1 blframe业务层介绍业务层介绍 2 opframe数据层介绍数据层介绍3

8、 appframe deploy工具介绍工具介绍4 5 appframe 管控介绍管控介绍5 让 中 国 软 件 影 响 世 界 提升创新2007.亚信13 soa服务体系架构 系统各层间全部通过服务进 行调用 服务之间的依赖通过依赖注 入的模式来实现。 服务的部署方式包括: pojo、ejb、 webservice、corba 服务的部署方式与调用者和 实现者都无关 db数据库、corba、ejb等 dao1 dao2dao3 服务1服务2服务3 逻辑层 (jservice) 数据操纵层 (jservice) 数据层 action类action类 服务1 action类 ui层 逻辑功能 功

9、能点1 jsp页面1jsp页面2jsp页面3 功能点2 让 中 国 软 件 影 响 世 界 提升创新2007.亚信14 服务调用服务调用 服务注册服务注册 服务的注册和调用 appframe 核心功能核心功能 服务管理器服务管理器 其它服务其它服务 ejb服务服务 corba服务服务 webservice服务服务 简单对象服务简单对象服务 单实例单实例pojo实例实例 tuxedo服务服务 服务服务 查询查询 监控监控 让 中 国 软 件 影 响 世 界 提升创新2007.亚信15 soa服务设计目标 提供实现无关的服务管理,支持提供实现无关的服务管理,支持 简单对象服务简单对象服务 单实例的

10、单实例的pojo服务服务 ejb服务服务 webservice服务服务 提供服务的事务控制管理提供服务的事务控制管理 定义服务事务类型:加入事务(定义服务事务类型:加入事务(join)还是独立事务()还是独立事务(independence) 定义事务名称:选择服务使用的事务定义定义事务名称:选择服务使用的事务定义 提供依赖注射提供依赖注射 提供服务属性的配置提供服务属性的配置 提供服务监听的配置提供服务监听的配置 提供服务的动态注册和查询提供服务的动态注册和查询 提供服务调用信息输出给监控模块提供服务调用信息输出给监控模块 让 中 国 软 件 影 响 世 界 提升创新2007.亚信16 app

11、frame服务设计的核心思想 appframeappframe服务的核心设计思想服务的核心设计思想开发与部署无关开发与部署无关 优势优势 开发人员不要关心服务将以何种方式发布开发人员不要关心服务将以何种方式发布 开发人员不要关心多中心配置开发人员不要关心多中心配置 开发人员不要关心多数据库配置开发人员不要关心多数据库配置 开发人员不要关心事务的类型配置开发人员不要关心事务的类型配置 开发人员不要关心监控日志如何输出开发人员不要关心监控日志如何输出 优点优点 开发人员只关心与业务相关的代码,提高开发效率开发人员只关心与业务相关的代码,提高开发效率 与部署无关,降低开发人员技能要求与部署无关,降低

12、开发人员技能要求 提高本地调试的速度提高本地调试的速度 让 中 国 软 件 影 响 世 界 提升创新2007.亚信17 appframe服务功能支持多中心 前台界面前台界面接口程序接口程序独立进程独立进程 多中心服务器路由多中心服务器路由 中心中心1 服务集群服务集群跨中心服务集群跨中心服务集群中心中心2 服务集群服务集群 数据中心数据中心1数据中心数据中心2 让 中 国 软 件 影 响 世 界 提升创新2007.亚信18 多中心支持 背景背景 河南移动用户量庞大,如果所有用户数据必须从一个数据库读取,那么河南移动用户量庞大,如果所有用户数据必须从一个数据库读取,那么 数据库必将成为严重的系统

13、瓶颈,为保证系统性能,采取多数据中心方数据库必将成为严重的系统瓶颈,为保证系统性能,采取多数据中心方 案,将不同地市的用户数据保存在不同的数据库。案,将不同地市的用户数据保存在不同的数据库。 解决方案解决方案 appframe在底层支持多数据中心,通过服务配置及代理类,控制数据路在底层支持多数据中心,通过服务配置及代理类,控制数据路 由,并支持跨中心联合查询。由,并支持跨中心联合查询。 因为是底层支持,所以业务逻辑开发人员编写代码时基本无须考虑多中因为是底层支持,所以业务逻辑开发人员编写代码时基本无须考虑多中 心细节。心细节。 通过修改配置文件,基于通过修改配置文件,基于appframe5开发

14、的单中心项目可以无缝升级为开发的单中心项目可以无缝升级为 多中心,多中心项目也可以进一步拆分,保证了系统的扩展性。多中心,多中心项目也可以进一步拆分,保证了系统的扩展性。 让 中 国 软 件 影 响 世 界 提升创新2007.亚信19 appframe服务功能支持多数据库事务 营业业务模块营业业务模块帐务业务模块帐务业务模块资源业务模块资源业务模块 事务管理器事务管理器 营业服务营业服务 三户资料库三户资料库产品库产品库帐管库帐管库权限库权限库资源库资源库 产品服务产品服务帐务服务帐务服务权限服务权限服务资源服务资源服务 让 中 国 软 件 影 响 世 界 提升创新2007.亚信20 跨库事务

15、控制 背景背景 数据量相当大的系统,如果将不同的类型的数据分布在不同的物理数据数据量相当大的系统,如果将不同的类型的数据分布在不同的物理数据 库,能极大提升系统性能。库,能极大提升系统性能。 但如果一次业务操作涉及到多个数据库,传统的数据库事务控制无法保但如果一次业务操作涉及到多个数据库,传统的数据库事务控制无法保 证事务一致性,一些中间件的分布式事务服务又不稳定,会引起一些异证事务一致性,一些中间件的分布式事务服务又不稳定,会引起一些异 常。常。 解决方案解决方案 由由appframe提供统一的事务控制,当需要进行不同数据库之间的事务控提供统一的事务控制,当需要进行不同数据库之间的事务控 制

16、时,由系统底层来保证所有的数据库操作都完成以后,统一进行数据制时,由系统底层来保证所有的数据库操作都完成以后,统一进行数据 库提交或回滚工作。因为数据库操作真正耗时的是数据增、删、改操作,库提交或回滚工作。因为数据库操作真正耗时的是数据增、删、改操作, 而数据的提交工作只是改变之前所操作的数据状态,速度很快,这种方而数据的提交工作只是改变之前所操作的数据状态,速度很快,这种方 案可能存在的风险只是在数据统一提交过程中存在的网络中断。案可能存在的风险只是在数据统一提交过程中存在的网络中断。 让 中 国 软 件 影 响 世 界 提升创新2007.亚信21 webframe介绍介绍1 blframe

17、业务层介绍业务层介绍 2 opframe数据层介绍数据层介绍3 appframe deploy工具介绍工具介绍4 5 appframe 管控介绍管控介绍5 让 中 国 软 件 影 响 世 界 提升创新2007.亚信22 数据存储管理 提供标准的数据操作接口:提供标准的数据操作接口:实现了实现了o-rmapping,通过配置,通过配置 实现了数据存储的自动化实现了数据存储的自动化. 数据操作信息管理:自动记录进行信息操作的系统信息数据操作信息管理:自动记录进行信息操作的系统信息 自动数据备份:根据配置,自动实现数据修改的备份操作自动数据备份:根据配置,自动实现数据修改的备份操作 支持复杂的分表策

18、略支持复杂的分表策略 统一的数据对象主键管理统一的数据对象主键管理 最大值最大值 + 数据库序列号数据库序列号 自定义生成方式自定义生成方式 让 中 国 软 件 影 响 世 界 提升创新2007.亚信23 数据持久化逻辑关系 数据库连接池管理 (监控连接的申请和关闭) 自定义数据库连接池 configtool进行bo对象 定义,并自动产生相关 对象文件 bo对象定义信息 数据库 corba obd 数据对象 业务逻辑层 jndi数据库连接池 数据持久化管理 让 中 国 软 件 影 响 世 界 提升创新2007.亚信24 webframe介绍介绍1 blframe业务层介绍业务层介绍 2 opf

19、rame数据层介绍数据层介绍3 appframe deploy工具介绍工具介绍4 5 appframe 管控介绍管控介绍5 让 中 国 软 件 影 响 世 界 提升创新2007.亚信25 appdeployappdeploy 目前支持主流的部署模式:目前支持主流的部署模式: ejbejb自动生成自动生成 webservicewebservice自动生成自动生成 corbacorba自动生成自动生成 与服务管理配合实现开发与部署的分离与服务管理配合实现开发与部署的分离 让 中 国 软 件 影 响 世 界 提升创新2007.亚信26 webframe介绍介绍1 blframe业务层介绍业务层介绍

20、2 opframe数据层介绍数据层介绍3 appframe deploy工具介绍工具介绍4 5 appframe 管控介绍管控介绍5 让 中 国 软 件 影 响 世 界 提升创新2007.亚信27 业务系统运行现状业务系统运行现状 难于定位系统性能瓶颈难于定位系统性能瓶颈 在复杂的系统运行环境中,不能快速定位系统性能瓶颈。比如说一个操作员说系统慢、 很难马上定位是网络环境、web主机、应用主机、数据库或某些方法慢。 各个功能模块的调用逻辑仅体现在代码中,难以获取各个功能模块的调用逻辑仅体现在代码中,难以获取 难于获得系统问题场景难于获得系统问题场景 当系统运行出错时,为了快速恢复生产,需要立即

21、重启应用。则丢失问题场景,难于重新 错误。导致解决问题的难度大,周期长。 难于实现业务系统问题预警难于实现业务系统问题预警 系统的运行状况只能在操作系统层面进行监控。难于实现业务层面的监控。不能实现基于 统计系统的预警。 对系统进行在线管理控制困难对系统进行在线管理控制困难 让 中 国 软 件 影 响 世 界 提升创新2007.亚信28 appmonitor业务目标业务目标 提供系统瓶颈的快速定位能力提供系统瓶颈的快速定位能力 提供从客户ie端发起到数据存储端的全程性能数据输出,快速定位性能瓶颈 提供运行期系统调用关系图,方便检查系统逻辑问题提供运行期系统调用关系图,方便检查系统逻辑问题 提供

22、基于统计的应用级性能监控和预警提供基于统计的应用级性能监控和预警 建立基于统计的性能基线 实现在性能基线的系统告警 提供基于规则的业务运行场景输出提供基于规则的业务运行场景输出 提供灵活的监控策略配置 提供业务调用堆栈和业务数据的全量输出 提供基于提供基于jmx的开放协议,方便外部监控系统实时接入控制的开放协议,方便外部监控系统实时接入控制 提供友善的监控管理界面提供友善的监控管理界面 让 中 国 软 件 影 响 世 界 提升创新2007.亚信29 appframemonitor监控架构监控架构 3 ie客户端客户端 ejb服务服务 器器 web服务器服务器 appframe monitor

23、输出的响应时间和客户端信息 输出actiong的响应时间和客户端信息 输出每个方法的响应时间和调用堆栈 输出异常的业务请求 系统缓存情况监控 输出在线用户信息 输出所有响应时间和客户端信息 输出所有方法调用的响应时间和调用堆栈 输出所有事务的执行时间 输出所有sql执行时间 输出异常的业务请求 输出所有数据库的连接使用情况 系统缓存情况监控 appframe基础平台基础平台 第三方管控平台第三方管控平台 监控策略设置 监控信息输出 监控策略设置 监控信息输出 贯穿业务执行全路径唯一编号和客户端信息的全程传递,实现业务,所有的监控对开发全透 明 输出所有服务器的请求响应时间 定时将客户端监控信息

24、传递到监控服务器 让 中 国 软 件 影 响 世 界 提升创新2007.亚信30 调用堆栈示例调用堆栈示例 让 中 国 软 件 影 响 世 界 提升创新2007.亚信31 系统监控策略系统监控策略-输出信息输出信息 业务操作的客户端信息 客户端发起的调用唯一标识号 业务发起的时间 客户端ip地址 操作员编号 操作员组织 业务操作的客户billid、 customer_id、sub_id、channel_id 调用信息 执行的主机ip 执行的partion 上级调用者 执行的开始时间 执行的结束时间 输入参数的类型和数据 执行的结果类型和数据 执行发生的异常情形 让 中 国 软 件 影 响 世

25、界 提升创新2007.亚信32 系统监控策略系统监控策略监控规则监控规则 客户端策略 监控指定的客户端ip地址 监控指定的操作员 监控指定的客户号码 主机监控策略 监控指定的主机 监控指定的业务包 监控指定的业务类 监控指定的业务方法 业务监控策略 监控指定的业务操作 监控指定的业务异常 性能监控策略 根据性能基线设置监控偏移量 让 中 国 软 件 影 响 世 界 提升创新2007.亚信33 规则配置管理示例规则配置管理示例 monitor-rule-config.xml 3 。 让 中 国 软 件 影 响 世 界 提升创新2007.亚信34 业务调用逻辑分析业务调用逻辑分析(1)(1)基于统计的分析基于统计的分析 让 中 国 软 件 影 响 世 界 提升创新2007.亚信35 系统在线统计系统在线统计(2)(2)统计展现统计展现 让 中 国 软 件 影 响 世 界 提升创新2007.亚信36 系统运行监控原理系统运行监控原理 使用代理类,将管控 信息输出到monitor模 块,对开发人员完全 透明 让 中 国 软 件 影 响 世 界 提升创新2007.亚信37 遵循遵循jmxjmx协议的统一外部接口协议的统一外部接口 监控策略

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论