CSFramework.WebApi框架快速搭建后端服务支持APP、B/S、C/S、微信小程序、公众号、Web客户端
作者:作者不详  发布日期:2020/03/08 11:46:05
  CSFramework.WebApi框架快速搭建后端服务支持APP、B/S、C/S、微信小程序、公众号、Web客户端

适用开发 适用开发:快速搭建APP、B/S、C/S、微信小程序、公众号、Web站点等后端应用服务程序。
运行平台 运行平台:Windows + .NET Framework 4.5
开发工具 开发工具:Visual Studio 2015+,C#语言
数据库 数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle/MySql)

CSFramework.WebApi框架快速搭建后端服务支持APP、B/S、C/S、微信小程序、公众号、Web客户端
WebApi服务端开发框架管理员工具
 基于B/S架构的WebApi后端管理工具,用户可以通过Admin Tool工具,管理和维护WebApi后台数据以及快速生成WebApi服务端源码。

 一、产品介绍


    CSFramework.WebApi是服务端快速开发框架(后端框架),借助ASP.NET WebAPI底层架构的强大编程能力,封装成为可复用的以及可定制开发的服务端软件模板,CSFramework.WebApi提供可复用的软件架构和开发包,为用户快速轻松搭建基于HTTP协议、HTTPS协议以及支持多种客户端(如:APP、B/S、C/S、微信公众号、微信小程序等)各种跨平台移动终端的服务端应用程序。

    服务端应用开发、后端接口开发是软件项目重要工作环节,服务端注重业务逻辑、数据处理和数据分析、算法等方面的设计和服务,前端主要体现在用户体验、界面操作和数据采集方面。前端软件系统和后端服务架构共同搭建跨平台大型数据管理应用系统。

CSFramework.COM致力于C/S系统快速开发框架以及后端开发框架WebApi框架产品方面的技术研究,先后发布多个软件产品,结合成熟的技术经验和项目经验,以及专注、专业、始终如一的创新精神和工匠精神,分享成功、创造卓越!盛情打造全新作品,为C/S框架网用户提供更多优秀的作品是我们努力奋斗目标。


 WebApi应用场景


CSFramework.WebApi服务端开发框架应用

 二、架构图 (Architecture)



WebApi服务端开发框架-架构图

 CSFramework.WebApi 封装多个通用功能,为搭建Web服务端软件提供强大的技术支持。

 客户端请求以命令形式传递到服务端的API接口,命令也就是请求的数据包,包含有请求编号、数据签名以及提交的业务数据。服务端接收到请求,首先要进行数据格式分析以及安全检查,比如数据签名、用户令牌或用户账号信息等。检查通过后,系统自动将请求传递到命令处理处理程序,系统将拒绝非法请求,抛出异常或返回错误回应信息给客户端。

 命令处理层即业务逻辑层,主要负责数据校验和提取业务数据,将Request的数据(JSONXML)文本内容转换为实体对象,最后传递到数据访问层提交到数据库。

 数据访问层是整个逻辑处理的最后一个流程,负责将数据模型持久化到数据库。数据层使用开发框架内置的数据更新机制,根据表结构模型自动生成SQL脚本,无论是提交单条或批量数据,无需手工编写SQL脚本,系统自动实现数据的持久化。框架支持其他数据模型,如Entity Framework等。

 三、客户端请求流程 (Client Request)


WebApi服务端开发框架-客户端请求流程

 流程说明:

客户端发起请求 -> 构建Request对象,封装账号信息以及业务数据 -> 序列化成为JSON/XML文本格式 -> 使用HTTPPOST 或 HTTPGET 方式向服务端提交数据 -> 服务端接收到请求信息。


 四、服务端处理流程 (Server Process)



WebApi服务端开发框架-服务端处理流程

 流程说明:

服务端接收请求 -> 记录IP访问日志(可配置) -> 进行安全检查 -> 命令工厂创建命令实例(Command Object)  -> 由命令处理程序(CommandHandler)执行命令 -> 调用数据访问层 -> 提交数据。


 五、命令处理机制 (Commands)



WebApi服务端开发框架-命令处理机制

 命令处理机制是CSFramework.WebApi后端开发框架采用的最新设计模式,本质上命令就是业务逻辑层。Api接口是暴露给客户端访问的端点(Endpoint),假设我们要设计一个含有几百个功能的大型系统,是不是要设计数百个Api接口?用命令模式可以解决这个问题,设计一个通用的接口来处理所有客户端的请求,然后用编号区分具体功能,比如编号80100代表客户订单,80200代表采购订单。服务端接收到请求后,通过命令工厂和编号创建对应的命令实例,对于三层架构来说,就是创建了具体的业务逻辑层。


 六、数据访问层(DAL Data Access Layer)



WebApi服务端开发框架-数据访问层

 数据访问层(Data Access Layer)分为单表操作数据层和主从表操作数据层,开发人员根据功能区分来选择继承方式。若提交一张资料表,使用dalBaseBusiness基类的功能完全兼容dalBaseDataDict基类的功能。主从表操作数据层实现要复杂一点,比如更新主外键、自动生成流水号、事务处理等。

WebApi服务端开发框架-多数据库支持

 业务逻辑层(命令)将处理传递到数据访问层,首先根据数据库提供者创建数据库对象实例,因此开发框架支持跨数据库操作。然后通过SQL命令生成器分析ORM模型,自动生成三种SQL脚本(INSERT,UPDATE,DELETE)。最后调用数据库对象(IDatabase)的相关方法提交或获取数据。

 七、安全机制 (System Security)



WebApi服务端开发框架-安全机制

 系统安全保障机制由以下九个部分组成:

 1.User - 用户账号:通过用户账号和密码确保有效访问,系统支持用户账号、手机号、邮箱登录。
 2.Token - 令牌机制:通过令牌机制确保有效访问。用户登录成功,系统自动分配随机令牌编号。
 3.ApiKey - 开发者账号:WebApi接口常用安全机制,使用公钥+私钥加密方式,确保系统安全。
 4.Data Sign - 数据签名:WebApi接口常用安全机制,使用公钥+私钥加密方式,确保系统安全。
 5.Blacklist - 黑名单:针对黑名单用户限制访问或操作,此功能可配置使用。
 6.Throttle - 限流控制:有效避免频繁访问、恶意访问WebApi接口,此功能可配置使用。
 7.ApiLog - 接口访问日志:针对任何Http请求,服务端会记录接口访问记录,此功能可配置使用。
 8.Login Log - 系统登录日志:记录用户登入或登出系统的信息。
 9.数据加密/解密:提供CryptoHelper工具类,以及4种对称加密工具。

 八、ORM模型(ORM Model)



WebApi服务端开发框架-ORM模型

 对象关系映射(Object Relational Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。用来把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQ L 语句打交道,只需简单的操作实体对象的属性和方法 。O R M 技术是在对象和关系之间提供了一条桥梁,前台的对象型数据和数据库中的关系型的数据通过这个桥梁来相互转化。

 ORM模型主要作用是传递给SQL命令生成器自动生成三种SQL脚本(INSERT/UPDATE/DELETE),开发人员不需要编写冗余复杂的SQL语句。若使用静态类(Static Class)的ORM模型,属性(字段名)还可以作为常量使用。


 九、跨平台服务端 (Cross Platform Server)



WebApi服务端开发框架-跨平台服务端

 开发框架为用户提供多种数据库支持,目前已封装三种底层数据驱动,支持SqlServer、Oracle、MySql三种常用数据库。Multi-DB架构采用策略模式设计,定义IDatabase通用接口,并实现DatabaseMSSQL, DatabaseMySql,DatabaseOracle三个数据库操作类。引用的类库名称:CSframework.DB.dll。

 操作数据库代码示例:




 十、WebApi服务器宿主(Server Hosting)



WebApi服务端开发框架-WebApi服务器宿主

 自承载 (Self Hosting)
开发模式必须使用自承载模式,主要方便开发人员进行系统调试、功能测试、断点跟踪和开发。

 IIS承载 (IIS Hosting)
基于IIS(Internet Information Server)服务器承载WepApi服务。要求IIS版本在7.0或更高,应用程序池设置为.NetFramework 4.5。

 Windows服务承载
基于Windows服务承载WebApi服务。首先要安装服务,运行程序目录下的_Install.bat批处理文件,命令窗体显示安装情况,安装完成后,打开Windows服务管理器,找到安装的服务(如:CSFramework.WebAPI.服务器,见下图),在属性页将启动类型设置为“自动(延迟启动)“。

WebApi服务端开发框架-Windows服务承载


 十一、解决方案(VS2015 Solution)


 含三个解决方案:



 CSFramework.WebApi.Foundation





 CSFramework.WebApi.Demo







WebApi服务端开发框架成功案例汇总:
 

C#.NET webapi开发框架成功案例-私蜜管家APP项目截图
http://www.csframework.com/archive/1/arc-1-20181018-2483.htm

 

C#.NET webapi开发框架成功案例-智运天下TMS系统APP项目截图
http://www.csframework.com/archive/1/arc-1-20181018-2484.htm

 

CSFramework webapi服务端框架成功案例-建行底层支付系统+i蜜书收银助手客户端
http://www.csframework.com/archive/1/arc-1-20190928-2649.htm

 

CSFramework webapi服务端框架开发微信支付接口成功案例
http://www.csframework.com/archive/1/arc-1-20190928-2651.htm

 

webapi开发框架成功案例:车货匹配类微信小程序
http://www.csframework.com/archive/1/arc-1-20191111-2666.htm

 

webapi服务端开发框架成功案例-对接三方支付平台连连支付C#.NET
http://www.csframework.com/archive/1/arc-1-20200103-2686.htm

 

C#.NET webapi开发框架成功案例-物流行业TMS系统+APP+微信小程序
http://www.csframework.com/archive/1/arc-1-20200103-2687.htm

 

C#.NET webapi开发框架成功案例-物流行业系统对接|满帮集团|中交兴路|福佑卡车
http://www.csframework.com/archive/1/arc-1-20200104-2688.htm

 

webapi开发框架应用电商微信小程序成功案例
http://www.csframework.com/archive/1/arc-1-20191219-2679.htm








扫一扫加微信:
 
上一篇 下一篇