- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多框架松散耦合建BS网优系统
多框架松散耦合构建BS网优系统
无线网优产品线
胡志平
2013-10-28
概述
随着互联网的发展,BS模式下的应用逐步的被用户认可,经过领导的决策,网优产品线需要推出一款BS版本的移动网优产品,以满足客户和市场的需求。由于网优产品线的主要产品都是在CS模式下研发的,所以BS框架技术及其它相关技术的积累就比较少,要快速的完成CS版本到BS版本的迁移,就需要一套灵活的经过实践检验的开源框架的支撑。为了提高版本迁移的效率,框架的设计要尽量的复用已有的CS版本上的代码及结构,以及新的BS框架要求高度解耦,以实现工作的并行,从而在有限的时间完成迁移任务。
经过一段时间的检测,BS版本的网优框架决定采用了多套开源框架,IBatis、ServiceStack、CSLA、Quartz协作构建的方案。不同的开源框架协作完成数据的存储、业务模型的构建、Web数据服务的提供及调度任务。这种松散的低耦合的搭配为并发的完成研发任务提供了所需要的结构,同时可以复用CS版本中基于CSLA构建的业务对象模型、基于IBatis构建的数据映射模型和基于Quartz研发的数据调度模型,这样就为快速的完成版本的迁移打下了良好的基础。同时该系统的研发也引入了目前比较先进的技术,如DTO技术、JSON技术、REST技术等,用以实现数据的格式化传输及构造高扩展性的Web数据服务。
面临的问题
缺少技术积累,研发任务紧迫
缺乏成熟的BS框架
网优平台经过3年的发展,在CS模式下已经积累了成熟的研发框架,由于业务上的需求需要将CS版本的网优平台迁移至BS版本,因此就需要一套成熟的BS研发框架,作为业务应用迁移的基础。以前研发人员都专注于CS模式上的开发,因此对BS框架技术的积累比较少,在系统研发初期并没有一套成熟的BS框架。
WCF重量级框架学习曲线陡峭学习周期长
经过一定时间的讨论,设计人员提出了不同的框架解决方案,其中包括基于WCF技术架构BS框架,但是经过2周左右的测试,发现研发人员重头掌握WCF技术需要一定的学习周期,而且学习曲线也比较陡峭,由于平台迁移时间要求比较紧迫,所以决定放弃该方案。
迁移工作量大时间紧
由于迁移的工作量比较大,而且时间比较紧,这就需要一套高度解耦的框架系统,从而支持合理的任务分配实现工作的并发完成。
数据服务要兼容多种网优平台
目前电信网优、移动网优、手机网优三条产品线的数据服务是分开研发的,数据服务的结果集数据格式也是各不同的。例如电信网优的数据服务要求的结果集采用DataTable的格式,移动网优平台要求的是List格式的数据,而手机网优平台要求结果组织为JSON格式的数据。这就要求新研发的BS框架要把三条产品线的数据服务进行整合的同时,还要提供灵活的JSON数据格式转换方法。
远程数据访问效率低
采用BS架构的系统,每次进行远程数据访问的时候都需要跨越客户端,Web服务器,数据库服务器三个网络段,因此当使用远程数据访问时,每一个远程请求都非常耗时。为了整体上降低由于网络延迟导致的数据访问性能低的问题,就要求需要尽量减少远程数据请求的次数,同时加大每次数据请求传输的数据量。
关键技术点
采用DTO技术提高远程数据访问效率
当使用远程方法调用进行数据访问时,由于数据的访问是跨进程和跨网络的,所以每一次的调用都非常耗时。为了提高数据访问效率,可以采用降低远程数据访问次数的方法。这样就要求每一次的访问要尽可能的获取更多的数据。人们常用的方法就是增加参数数量,从而获取更多的服务数据。然而这种方法却违背了降低参数数量以及方法职责单一 这些最基本的软件研发原则。为了解决上述各种问题,我们引入了数据传输对象(DTO对象)。数据传输对象有效的减少了远程数据访问请求次数和请求参数数量。DTO对象在应用程序中是和其他部分完全解耦的。这些对象是可序列化的,这样在分布式的应用中就可以实现跨网络的传输,实现DTO对象和业务层中领域模型对象的数据交换。采用了DTO对象技术后有效的提高数据访问效率,同时降低了远程访问的复杂性。
采用JSON技术实现数据格式化处理
JSON是一种轻量级的数据交换格式,非常适合于服务器 的交互。尽管XML 拥有跨平台,跨语言的优势,然而客户端用 解析 XML都常常导致复杂的代码极低的开发效率。
在以往的系统中远程数据访问都是采用RPC的方式,这样就增加了服务器和客户端的耦合性,在服务升级的时候必须更新客户端才能顺利进行升级访问,同时这种访问方式也造成了系统的稳定性差的后果。在BS网优系统中我们采用消息处理模式来解决这类问题,首先对系统的资源进行统一的URI消息标识,然后采用标准的Get、Post、Delete、Update等方法对资源进行操作,这样客户端和服务器端的变化只依赖于通信消息(URI),从而降低了两者之间的通过签名访问的
您可能关注的文档
最近下载
- 植物与环境 植物与环境 2.4 营养器官变态.ppt VIP
- 2023年GL设备三级维护保养内容及要求.pdf VIP
- (LR3.5)地测空间管理信息系统使用手册(1).pdf VIP
- 文字标识承诺达标合格证参考样式(规模主体农户从事农产品收购的单位或个人开具).doc VIP
- 2025年全国硕士研究生考试英语(一)真题及答案解析(完整版).docx VIP
- Oliver!《雾都孤儿(1968)》完整中英文对照剧本.pdf VIP
- Plantsimulation初级培训完整版.ppt VIP
- 缅汉两种语言否定形式异同初探.doc VIP
- 花生的成长讲述.ppt VIP
- 从过程哲学到人才培养:怀特海教育思想的现代重塑.docx
文档评论(0)