亲们!还在用传统的三层架构吗?你还在对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读取图像和网络存储

    该公司最近在搞一个Web工程,需要下载网络图片,那么既然恢复了一些最基本的东西.数据传输不同的流,简单,很容易下载网络打破了样品的图片,代码非常easy.贡献给大家! 结论,图片主要就四步: 1:拿到 ...

  2. cocos2dx 3.0 学习笔记 引用cocostudio库 的环境配置

    cocostudio创建UI并应用时须要引用cocostudio库,须要额外的环境配置: 之前已经搭配好了基础的开发环境,包含 1) JDK 2) Python 2.7 3) ant 4) visua ...

  3. 浅谈web网站架构演变过程(转)

    前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变.   该系统具备的功能:   用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理 阶 ...

  4. 版本管理软件VisualSVN、TortoiseSvn、AnkhSvn 后记

    原文:版本管理软件VisualSVN.TortoiseSvn.AnkhSvn 后记 前些天我写了几篇关于VisualSVN .TortoiseSVN.AnkhSvn这几个软件配置管理的文章,但是当时没 ...

  5. CodeForces 396C 树状数组 + DFS

    本主题开始看到以为段树或树状数组,但是,对于一个节点的有疑问的所有子节点的加权,这一条件被视为树的根,像 然后1号是肯定在第一层中,然后建立一个单向侧倒查,然后记录下来 其中每个节点 层,终于 两个节 ...

  6. HTTP长连接和短连接(转)

    1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问 ...

  7. 第一次QQ群视频教育有感

    标题:第一次QQ群视频教育有感 作者:丁又专, 时间:2014.08.16     教育的目的:启示学生心智,发现个人优势,激发探索欲望.     今天早上看到 中国大学MOOC<文献管理与信息 ...

  8. Unity带有网络功能——创建服务,并连接到一个特定的服务

    游戏本身需要在网络上创建服务,然后其他的游戏能够连接到这个服务,此外真实场景现在玩同样的游戏效果一起. 该方法是创建一个服务呼叫Network.InitializeServer( ): 是Networ ...

  9. NSIS:延时启动软件的几个方法及探索

    原文NSIS:延时启动软件的几个方法及探索 有时候,我们想要某软件开机启动,但又不要拖慢开机速度,那么,延时启动技术就显得比较重要了.轻狂在这方面曾经研究过,也实现了自己想要的功能,看看我是怎么做的吧 ...

  10. Oracle常见操作汇总(转)

    前言:Oracle学习也有十几天了,但是呢,接下来还要学习许多其他的东西,并不能提步不前,所以在此总结了以下Oracle中常用的命令和语句,没有语法都是实例,以便以后工作的时候随时翻看,毕竟是自己的东 ...