亲们!还在用传统的三层架构吗?你还在对SOA架构 不了解吗?

那就赶快来学习下一个 比较简单的SOA的架构吧!我会手把手的 教会你们怎么搭建这个 简单的SOA的架构。

其中用的技术点保证  WCF,ajax ,json, 反射,ado.net  等等,如果你听不懂 我在说什么的话,还是对这些技术有些基本的了解吧!

经过这些天一直在研究 jquery  以及 WCF,现在公司有一个需求:

1. 前台直接通过  js 通过json格式,json 格式 其中包括方法名字传输 到后台,直接调用wcf,后台通过解析 方法名,

调用对应的方法。

2.技术难点: 如何 直接 通过 jS 调用后台的 WCF的服务。

如何通过方法名字,直接调用对应的方法。

3.框架的好处: 直接由服务端到前台,节省了很多的中间环节。大大减少的代码量。

同时服务端 可以轻松的跨平台。

4.开始分析架构:

首先 ,前台 需要传输的参数包括  数据库的名字(database),方法名(method),方法的参数(parms) ,然后通过json格式传输到 后台。

然后 后台 通过 将方法的参数进行封装,查找对应的方法。

接下来开始我们的第一天的编程吧:

首先我们要新建一个web 项目 ,名字为Client,   这是是客户端,  待会我们直接由 客户端直接访问 服务端

然后建立一个类库,名字为Server,如下图:

接下来,我们在 client 下来建立一个 Ajax 的wcf服务,名字为webService

 
接下来我们来编写 服务层的操作,在服务端我们新建一个webService.cs的 类:(首先要引入

using System.ServiceModel;
using System.ServiceModel.Web;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.ServiceModel;
using System.ServiceModel.Web; namespace Server
{ public class webService:IService
{ public string select(string database, string method, string sql)
{
object[] obj=new object[];
obj[]=database;
obj[]=sql;
DataTable dt=(DataTable)Common.Execute("Server", "DataBase",method,obj);
return Common.DataTableToJson("data",dt);
}
}
[ServiceContract]
public interface IService {
[OperationContract]
[WebInvoke(ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
string select(string database, string method,string sql);
} }

解释说明:  1.接口IService表示我们WCF调用的 契约(大家共同遵守的规则), 也就是WCF配置的 contract

2. [ServiceContract]  表示这个 接口能够被 wcf 调用到

3. [OperationContract]  表示这个方法能被wcf 调用到

4.  [WebInvoke(ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]

WebInvoke 表示能够 post 得到, ResponseFormat 表示请求发送的 格式  为json

BodyStyle   表示形式,说明 只在请求的时候使用 json ,响应的时候不使用json

5.里面调用的方法,都可以在下面的 下载源代码里面看到

到现在为止,你可以清楚的看到 后台的代码是怎么写的了吧!!!!

VS2012版本源码下载:

http://files.cnblogs.com/files/liujing379069296/Vs2012Client.rar

vs2010 源码下载

http://files.cnblogs.com/files/liujing379069296/VS2010Client.rar

搭建一个BS 的简单SOA 架构(直接通过jquery 调用后台的 wcf 服务的架构)(第一天)的更多相关文章

  1. 从头开始搭建一个dubbo+zookeeper平台

    本篇主要是来分享从头开始搭建一个dubbo+zookeeper平台的过程,其中会简要介绍下dubbo服务的作用. 首先,看下一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越多之后 ...

  2. 搭建一个dubbo+zookeeper平台

    本篇主要是来分享从头开始搭建一个dubbo+zookeeper平台的过程,其中会简要介绍下dubbo服务的作用. 首先,看下一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越多之后 ...

  3. 做一个项目前搭建一个tabBar(一)框架

    前言 通常做一个项目前,不算开始讨论需求,分析产品等等,一开始会给我们搭建一个框架,今天简单说一下搭建框架. github网址:https://github.com/Moonths/iWatch.gi ...

  4. SharePoint 2013 调用WCF服务简单示例

    内容比较简单,主要记录自己使用SharePoint 2013WCF服务遇到的小问题和小经验,分享给大家,希望能够给需要的人有所帮助.好吧,进入正题! 第一部分 SharePoint 2013调用自带W ...

  5. 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台

    面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...

  6. Dubbo入门—搭建一个最简单的Demo框架

    一.Dubbo背景和简介 1.电商系统的演进 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. a.单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一 ...

  7. Dubbo入门---搭建一个最简单的Demo框架(转)

    Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本.  ...

  8. Dubbo简介---搭建一个最简单的Demo框架

    Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本.  ...

  9. 教你如何用Nginx搭建一个安全的、快速的微服务架构

    今天我们要谈论微服务以及如何使用Nginx构建一个快速的.安全的网络系统.最后,我们将向您展示一个使用Fabric模式如何非常快速和轻松地构建一个微服务的demo. 在我们探讨Fabric模式之前,我 ...

随机推荐

  1. Java 打开文件的两种方式

    import java.awt.Desktop; import java.io.File; import java.io.IOException; public class LnkDemo { pub ...

  2. Scrapy系列教程(2)------Item(结构化数据存储结构)

    Items 爬取的主要目标就是从非结构性的数据源提取结构性数据,比如网页. Scrapy提供 Item 类来满足这种需求. Item 对象是种简单的容器.保存了爬取到得数据. 其提供了 类似于词典(d ...

  3. unity3d中让物体显示和隐藏

    unity3d中让物体显示和隐藏的方法 gameObject.renderer.enabled //是控制一个物体是否在屏幕上渲染或显示  而物体实际还是存在的 仅仅是想当于隐身 而物体本身的碰撞体还 ...

  4. hbase开放lzo压缩

    hbase仅仅支持对gzip的压缩,对lzo压缩支持不好. 在io成为系统瓶颈的情况下,一般开启lzo压缩会提高系统的吞吐量. 但这须要參考详细的应用场景,即是否值得进行压缩.压缩率是否足够等等.  ...

  5. 从xcode 6 上传 App Store

    2014苹果结束了大会,ios8公布.可怜的苹果开发人员又要開始伤脑筋了. 比方提交新产品的那个iTunes connect体验就做得极烂.并且这还是本菜鸟的第一次上线提交.折寿啊 一.制作证书.ap ...

  6. 【夯实基础】javakeywordsynchronized 详细说明

    尊重版权:http://www.cnblogs.com/GnagWang/archive/2011/02/27/1966606.html Java语言的keyword.当它用来修饰一个方法或者一个代码 ...

  7. Linux 的 Shell

    一个:Shell 概念 shell 这个词是不奇怪,意思是 "壳" 这是间OS 用户和芯层之间的相互作用,在linux系统.用户可以通过命令终端.使用shell 命令向下传达他们的 ...

  8. 用python做自己主动化測试--对server端的自己主动化測试(3)-很多其它http client实例

    上一篇中仅仅是实现了一个非常easy的http client功能,request还提供了keep alive, SSL, 多文件上传,cookie 管理功能,http requests头管理等丰富的功 ...

  9. dapper+linq+json+ztree构建树

    dapper获取实体的集合 /// <summary> /// 获取表tb_sys_zhuowei所有数据 /// </summary> public IEnumerable& ...

  10. mysql经常使用命令总结

    MySQL经常使用指令(备查) 最经常使用的显示命令: 1.显示数据库列表.  show databases;  2.显示库中的数据表:  use mysql; show tables;  3.显示数 ...