JQuery Smart UI 简介(六) — 框架设计【后篇】(数据接口、后台框架)[简介系列完结]
2010-11-22 09:36
746 查看
上篇介绍了Smart UI的前台架构,本篇继续后面的内容 — Data Interface、Business Layout、DataAccess。
[b]Data Interface[/b]
[b] [/b] 数据接口,Smart UI中实现前后台衔接的唯一接口,实现与各种后台语言(.net、java等)对接的核心内容。主要处理UI层各种请求,方法权限控制,回发数据解析、验证,统一错误处理等。主体内容包括四部分,如下图:
如图所示,整个post请求的内容主要是四部分:
[b]1. Post Handler[/b]
post请求统一接口;在UI层,所有的请求都是组织成统一的格式,向Post Handler发送post请求。(上传除外,由单独的请求完成),然后Post Handler根据请求的fncode,进行权限验证和执行对应方法,然后将返回的数据也组织成统一格式回传给客户端。
[b]2. Post Data[/b]
UI层post过来的数据【json格式】,分为两类:
一、系统公共数据:fncode和一些前台系统数据。
二、业务数据:各个页面的传递到后台的业务数据,也分为两类:分页列表数据【Json格式】与普通数据【Json格式或字串】
[b]3. Function[/b]
各个fncode对应的操作方法,有着权限控制。在Function执行时,才会去的解析Post Data的业务数据。
[b]4. Response Data[/b]
返回给客户端请求的数据, 与Post Data一样,也分为两类:
一、系统公共数据:系统公共数据【用户信息、服务端时间等】、错误信息等。
二、业务数据:各个Functin执行后返回的数据,也分为两类:分页列表数据【列表数据对象】与普通数据【Object】。
特别说明一下,在单独实现Data Interface与Smart UI对接的其实很容易,只需要注意两点:一、将请求与后台的方法对应,二、数据遵循规范格式。
此外,还建议Data InterFace中,实现数据库的操作类,配合Post Data与Response Data的格式使用会使开发变的更加的简单。具体的内容,大家可以借鉴Demo中的内容。
Data InterFace核心对象类图:
Business Layout & DataAccess这两层不用太多的介绍,大家应该很熟悉。在这里简单的介绍一下,Smart UI自带后台框架的内容。
[b]Business Layout[/b]
全部以静态对象实现,一个RunFunction的公共出口,对应每个操作方法,所有方法的参数接口很统一,一个post的业务数据,一个是返回的自定义错误信息【可选】。如下面代码:
[b]DataAccess[/b]
目前使用的是NBearLite扩展,原本计划重新开发一套对应的后台框架的或者在NHibernate上扩展,NBearLite则是在之前我写的一套轻量级开发框架中扩展使用,只是临时准备配合Smart UI测试使用,结果发现NBearLite与Smart UI非常合拍,有点量身打造的感觉,当然也还是要扩展一下的。此外,针对DataAccess,Smart UI后续会新增一个特别模式,会完全放弃“ORM”的内容。
扩展的内容主要有三部分:
[b]1.查询类:结合Post Data和Response Data中的分页查询格式,自动解析查询条件数据,和实现一些特殊的查询内容(如:Between条件与前台的结合)。[/b]
[b]2.操作类:与查询类独立,实现读写分离,根据实体结构对象,解析回发数据,自动与字段匹配。[/b]
[b]3.其他扩展:封装一些常用的操作与多种方式的批量处理操作。[/b]
引用本系列的开篇简介中的图,大家可以看到图中查询和操作的基本例子,使用很简单,只需要设置那些字段和条件,不用关心数据(当然一些特殊的数据处理需要单独完成),更多的内容请查看demo和关注后续系列中的内容。
结尾
《JQuery Smart UI简介系列》到此已全部结束,接下来的内容会从两个方面并行进行,《JQuery Smart UI 应用系列》和《JQuery Smart UI 控件系列》,至于api会根据这两个系列的相关内容在文章中陆续公布。另外,Smart UI的网站目前也在建设中,不久就能上线,届时实例和演示的内容会更加有针对性和丰富一些,请有兴趣的朋友继续支持。
最后,对所有关心和支持Smart UI的朋友、武汉软通动力Ipsa的各位同仁的大力支持和2.0工作组的关键性思路和想法、以及各位一直支持我的兄弟们表示诚挚的感谢。
注:所有内容皆为原创,转载请注明出处 By JQuery Smart UI - Roy Zhang
[b]Data Interface[/b]
[b] [/b] 数据接口,Smart UI中实现前后台衔接的唯一接口,实现与各种后台语言(.net、java等)对接的核心内容。主要处理UI层各种请求,方法权限控制,回发数据解析、验证,统一错误处理等。主体内容包括四部分,如下图:
如图所示,整个post请求的内容主要是四部分:
[b]1. Post Handler[/b]
post请求统一接口;在UI层,所有的请求都是组织成统一的格式,向Post Handler发送post请求。(上传除外,由单独的请求完成),然后Post Handler根据请求的fncode,进行权限验证和执行对应方法,然后将返回的数据也组织成统一格式回传给客户端。
[b]2. Post Data[/b]
UI层post过来的数据【json格式】,分为两类:
一、系统公共数据:fncode和一些前台系统数据。
二、业务数据:各个页面的传递到后台的业务数据,也分为两类:分页列表数据【Json格式】与普通数据【Json格式或字串】
[b]3. Function[/b]
各个fncode对应的操作方法,有着权限控制。在Function执行时,才会去的解析Post Data的业务数据。
[b]4. Response Data[/b]
返回给客户端请求的数据, 与Post Data一样,也分为两类:
一、系统公共数据:系统公共数据【用户信息、服务端时间等】、错误信息等。
二、业务数据:各个Functin执行后返回的数据,也分为两类:分页列表数据【列表数据对象】与普通数据【Object】。
特别说明一下,在单独实现Data Interface与Smart UI对接的其实很容易,只需要注意两点:一、将请求与后台的方法对应,二、数据遵循规范格式。
此外,还建议Data InterFace中,实现数据库的操作类,配合Post Data与Response Data的格式使用会使开发变的更加的简单。具体的内容,大家可以借鉴Demo中的内容。
Data InterFace核心对象类图:
Business Layout & DataAccess这两层不用太多的介绍,大家应该很熟悉。在这里简单的介绍一下,Smart UI自带后台框架的内容。
[b]Business Layout[/b]
全部以静态对象实现,一个RunFunction的公共出口,对应每个操作方法,所有方法的参数接口很统一,一个post的业务数据,一个是返回的自定义错误信息【可选】。如下面代码:
public class BRName { public static object RunFunction(string fnCode, string postContent, ref string error) { object objReponseData = null; switch (fnCode) { case "fn_ps01": objReponseData = SelectDatas(postContent); break; case "fn_ps02": objReponseData = SaveEntity(postContent,ref error); break; case "fn_pg03": objReponseData = GetEntityByID(postContent); break; case "fn_pd04": objReponseData = DelByID(postContent); break; case "fn_pg05": objReponseData = GetProductList(postContent); break; } return objReponseData; } public static object SelectDatas(string postContent) {} public static object GetDataList(string postContent) {} public static object SaveEntity(string postContent,out string error) {} public static object GetEntityByID(string postContent) {} public static object DelByID(string postContent) {}
[b]DataAccess[/b]
目前使用的是NBearLite扩展,原本计划重新开发一套对应的后台框架的或者在NHibernate上扩展,NBearLite则是在之前我写的一套轻量级开发框架中扩展使用,只是临时准备配合Smart UI测试使用,结果发现NBearLite与Smart UI非常合拍,有点量身打造的感觉,当然也还是要扩展一下的。此外,针对DataAccess,Smart UI后续会新增一个特别模式,会完全放弃“ORM”的内容。
扩展的内容主要有三部分:
[b]1.查询类:结合Post Data和Response Data中的分页查询格式,自动解析查询条件数据,和实现一些特殊的查询内容(如:Between条件与前台的结合)。[/b]
[b]2.操作类:与查询类独立,实现读写分离,根据实体结构对象,解析回发数据,自动与字段匹配。[/b]
[b]3.其他扩展:封装一些常用的操作与多种方式的批量处理操作。[/b]
引用本系列的开篇简介中的图,大家可以看到图中查询和操作的基本例子,使用很简单,只需要设置那些字段和条件,不用关心数据(当然一些特殊的数据处理需要单独完成),更多的内容请查看demo和关注后续系列中的内容。
结尾
《JQuery Smart UI简介系列》到此已全部结束,接下来的内容会从两个方面并行进行,《JQuery Smart UI 应用系列》和《JQuery Smart UI 控件系列》,至于api会根据这两个系列的相关内容在文章中陆续公布。另外,Smart UI的网站目前也在建设中,不久就能上线,届时实例和演示的内容会更加有针对性和丰富一些,请有兴趣的朋友继续支持。
最后,对所有关心和支持Smart UI的朋友、武汉软通动力Ipsa的各位同仁的大力支持和2.0工作组的关键性思路和想法、以及各位一直支持我的兄弟们表示诚挚的感谢。
注:所有内容皆为原创,转载请注明出处 By JQuery Smart UI - Roy Zhang
相关文章推荐
- JQuery Smart UI 简介(六) — 框架设计【后篇】(数据接口、后台框架)[简介系列完结]
- JQuery Smart UI 简介 (三) - 设计思想【附全部框架源码+Demo(.Net)】[新增vs2010版下载]
- JQuery Smart UI 简介(五) — 框架设计【前篇】(前台UI层架构)
- ThinkPhp3.2.3 多项目 后台 APP接口设计 框架设计
- 以Python为基础的REST(JSON为交换数据)接口的测试框架设计(一)
- JQuery Smart UI 简介 (一) — 纯Htm+Js的ajax开发框架[演示Demo已放出]
- ThinkPhp3.2.3 多项目 后台 APP接口设计 框架设计
- JQuery Smart UI 简介(五) — 框架设计【前篇】(前台UI层架构)
- 通过Jquery-easyui框架对后台系统中的数据的修改
- 基于数据驱动的接口测试框架设计
- [转载]AAF灵便应用框架简介系列(7):休息一下,泛谈OOAD(面向对象分析设计)
- JQuery Smart UI (一) 简介 — 纯Htm+Js的ajax开发框架 [转]
- java后台设计简单的json数据接口,设置可跨域访问,前端ajax获取json数据
- MVC框架实现4---Smart框架Action组件接口设计
- JQuery Smart UI 简介(四) — 强大的适用性&存在问题【项目使用性介绍】
- JQuery Smart UI 简介(四) — 强大的适用性&存在问题【项目使用性介绍】
- 基于jquery后台框架设计(自适应高度,iframe简易版)
- java后台设计简单的json数据接口,设置可跨域访问,前端ajax获取json数据
- 后台管理框架之五 :数据仓储设计
- 玩转Web之Json(二)----jquery easy ui + Ajax +Json+SQL实现前后台数据交互