经过前面3天的学习,我想大家应该对SOA的架构有了初步的了解,其实 SOA与三层架构并不冲突,而是三层架构的升级版。
来看下传统的三层架构! 一共可以分为4个层: 模型层(可有可无),客户端,服务端,公共层。
我们在原有的三层架构的基础上,我们增加一个服务中转层! 然后客户端 通过 调用 服务中转,然后在调用 服务层,因为客户端可以有多个,可以是安卓,可以是IOS,
可以是电脑,可以是linux, 因为这个不管是什么样的语言和系统,她们都支持JSON以及xml。
如下图:(common:公共层,DataServer服务层,wcf服务中转层,webClient web 客户端)
接下我们来看下关键代码处: (下面有对应的源代码下载)
来看下如何通过 通用查询 来查询数据的流程:
首先 前台通过 ajax 的访问我们的 svc 文件,来进行访问:
1.这里需要注意的是, ajax 使用 get 和post 时,传入json的格式是不一样的。
var s = '{ "aa":"' + $("#txt_data").val() + '"}';
$.postwcf = function (database, method, //操作的方法名字 sql, //sql语句或者传入的 数据 success, //执行成功所返回的方法 err) { //执行失败所返回的方法 var url = $.getrooturl() + "/WebService.svc/operate"; var data; if (sql.indexOf("{")>0 && sql.indexOf('"')>0 && sql.indexOf("}")>0) { data = { "database": database, "method": method, "sql": JSON.stringify(sql), }; } else { data = { "database": database, "method": method, "sql":sql, }; } $.ajax({ url: url, contentType: "application/json;charset=utf-8", data: JSON.stringify(data), type: "post", success: function (data) { success(data); }, error: function (error) { err(error); } }); }