[发明专利]一种敏捷式高效分层服务器端的接口架构有效
申请号: | 201210191437.9 | 申请日: | 2012-06-12 |
公开(公告)号: | CN102799424A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 刘涛 | 申请(专利权)人: | 上海雷腾软件有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 孟湘明 |
地址: | 201203 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 敏捷 高效 分层 服务器端 接口 架构 | ||
技术领域
本发明涉及一种软件架构,具体来说,涉及一种敏捷式高效分层服务器端的接口架构。
背景技术
随着移动互联网的发展,移动终端应用软件层出不群,且越来越多地开始依赖于服务器端进行个性化的信息存储、获取和交互,从而实现整体服务的信息安全、连续、可共享、易整合和高可用。
基于以上背景,作为终端软件信息支撑的服务器端软件开始通过开发和开放对外接口的方式与终端软件进行数据交互,搭建信息应答平台。而传统的服务器端接口开发具有如下问题:
1.集中于处理协议层的解决方案,未形成可满足业务层面的整体成熟的软件架构,重构代价大、可扩展性低。不易测试和快速迭代、很难进行复杂的功能扩展。
2.基于以上问题,目前上已有较成熟的软件架构可供选择。如:apache软件基金会(ASF)赞助的开源项目struts2。
Struts2是一个优雅的、可扩展的web架构。它采用MVC (模型-视图-控制器,Model-View-Controller)模型,使得整体结构更清晰,能够灵活方便地进行功能扩展和快速迭代;将主处理Action(动作)设计为简单的POJO (Plain Ordinary Java Object)普通Java对象,使得编写测试用例更为方便快捷,提高测试的易实施性和效率。其整体架构思路和工作流程如下:
1. 客户端发送请求。
2. 请求先通过ActionContextCleanUp(过滤器)至FilterDispatcher(核心控制器)。
3. FilterDispatcher通过ActionMapper(动作映射器) 来匹配该请求(Request)需要调用的Action(动作)。
4. 若ActionMapper匹配到某个Action,FilterDispatcher 把请求的处理交给ActionProxy (动作代理)。
5. ActionProxy 根据ActionMapping和ConfigurationManager (配置管理器)找到需要调用的Action 类。
6. ActionProxy 创建一个ActionInvocation (动作调用)的实例。
7. ActionInvocation 调用真正的Action,并进行相关拦截器的调用。
8. Action 执行完毕,ActionInvocation 创建Result (结果)并返回。
但是,此种架构存在如下问题:
1.整体处理性能不够理想。struts2将每个请求协议封装成独立对象;每个请求都需创建一个新的action去做逻辑处理,以实现线程安全;集成各种不同类型的返回结果;大量使用代理、正则表达式、反射等技术,虽然功能非常强大,易于开发,但是牺牲了运行效率。
2.整体组织结构比较复杂和臃肿, 配置文件多而复杂,不便组织,维护起来比较繁琐。
3. 对于底层协议封装过多,不便于进行高效灵活的协议扩展。
发明内容
本发明要解决的技术问题在于,针对现有架构的不足,提供一种改进的敏捷式高效分层服务器端的接口架构。
为实现上述目的,本发明提出了一种敏捷式高效分层服务器端的接口架构,其包括:请求分发层,接收客户端的请求;业务处理层,包括多个动作(Action),所述业务处理层根据客户端的请求通过其中至少一个动作进行具体业务处理,生成最终统一精简协议的结果(result)返回给客户端;其中所述请求分发层包括:servlet调度器(ServletDispatcher),接收客户端请求,并根据请求协议类型,调用Get处理函数(doGet)/Post处理函数(doPost)对所述请求进行处理;动作调用者(ActionInvoker),注入到servlet调度器,所述动作调用者(ActionInvoker)负责请求与业务处理层中各个动作(Action)的匹配和分发调用;其中所述servlet是一种服务器端的Java应用程序,是客户端与服务器端的中间件,担当客户请求与服务器响应的中间层。
根据本发明的实施例,其中所述Get函数/Post函数同时调用处理方法统一进行后续分发。
根据本发明的实施例,其中所述动作调用者用单例模式实现。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海雷腾软件有限公司,未经上海雷腾软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210191437.9/2.html,转载请声明来源钻瓜专利网。