APP下载

用web api实现C#平台的分布式开发

2020-04-24谢振华

电脑知识与技术 2020年5期
关键词:分布式

摘要:分布式的web系统可以看成一个分布在局域网上的web集群系统。企业所有的复杂业务本来可以部署在一台web服务器之上,但为了降低企业运营成本,我们需要将复杂业务细分成不同的功能模块,分别部署到不同的web服务器之上。这些不同的web服务器形成一个分布式的web系统,这个分布式web系统在外部看来它和一个web系统没有任何区别。在这个分布式的web系统里,不同web系统之间要互相分工协作,共同完成企业内部用户和外部用户的web请求处理。Web api作为web分布式系统的主要技术之一,将先从概述开始介绍web api技术及其特点,然后从web api技术原理来介绍web api技术本质,最后以C#平台为例,来介绍web api的开发过程。

关键词:分布式;web api

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2020)05-0089-01

开放科学(资源服务)标识码cOSID):

1 Web api技术概述

Web api是进行网络服务的接口技术,通过该接口技术可以实现数据传输,存储服务、消息服务、计算等服务,利用这些服务可以开发出强大功能的分布式的web应用。简单来说,我们可以做前后端分离的项目,前端和后端通过url连接,进行数据传输。复杂来说,我们可以做服务器之间的服务调用,以url形式的访问,进行数据传输,我们可以开发强大功能的分布式web应用。

2 Web api技术原理

服务器可以通过web api向请求者发送json格式的数据,请求者可以是分布式服务器中的一台服务器,也可以是手机app终端等等。请求者可以采用http协议或者socket协议发送请求,服务器接收到请求,对请求进行参数解析,然后调用相应的接口,将获得的数据发送给请求者,如下图1所示:

上图中,详细描述了web api的工作过程,请求者通过http协议发送请求,服务器对request对象的url和参数进行解析,然后调用相应的web api,web api然后调用业务逻辑层,业务逻辑层调用数据访问层,数据访问层调用数据库,然后数据依次返回,web api然后将Json格式的数据返回给请求者。

3 C#平台实现web api的开发

在这里,我们采用visual studio开发工具进行C# web系统的开发环境。在visual studio开发工具中,提供了专门的模块,可以直接创建一个web api。在这里以商品的增删改查为例,来完成web api的开发,核心伪代码如下:

3.1 配置web api

public class GoodsControUer: ApiControjler{

GoodsService goodsService= new goodsService0;

public Goods fmdGoodsByName (String name){

return goodService.findGoodsBvName(name)

public int deleteGoodsByld(int id){

return goodService.deleteGoodsByld (id)

public int insertGoods(Goods goods){

return goodService.insertGoods(goods)

public int updateGoodsByld (Goods goods){

goodService.updateGoodsByld(goods)

】】

3.2 配置Web API路由及返回json格式

config.Formatters.Remove(config.Formatters.XmIFormatter);

config.MapHttpAttributeRoutes0;

config.Routes.MapHttpRoute(

name: "DefaultApi",

routeTemplate:“api/{controller)/{action}/{id)”,

defaults: new( id= RouteParameter.Optional)

);

通过http://ip/api/Goods/ findGoodsByName/name的url请求,调用类中findGoodsByName的方法。其他操作,采用相似的url请求,调用类中的不同的web api方法,获得相应的Json格式数据。

4 结束语

本文通过对web api的概念,原理和应用等各方面的介绍,我们掌握了如何在web项目中创建一个对外的web api服务器技术。该服务可以让同平台的web项目访问,也可以让异构平台的web项目访问,因此web api技术可以在分布式web系统之间进行数据共享。既然可以实现了平台之间的数据共享,那么我们就可以把不同的功能进行分解,部署在不同的服务器上,进而可以实现web项目的分布式部署。

参考文献:

[1]王仲洲,杨晓洪,王剑平,等.基于REST风格的WEB API架构研究[J].微处理机,2016,37(5):52-55.

[2]张尔喜,先晓兵,王雪锋.基于WebAPl的移动端学生综合服务平台设计与实现[J].软件工程,2017,20(10):40-42.

[3]廖治凱.基于WebApi和类WebApp的毕业论文管理系统[Jl.科技展望,2017,27(24):31.

[4]王佳琪.基于J2EE架构的分布式企业级Web应用研究[J].计算机产品与流通,2018(10):27.

【通联编辑:谢媛媛】

收稿日期:2019-12-15

基金项目:湖南省教育厅科学研究课题之一《基于分布式的web系统架构设计》

作者简介:谢振华(1981-),男,湖北松滋人,副教授,大学本科,研究方向为网站开发、网络工程等。

猜你喜欢

分布式
基于RTDS的分布式光伏并网建模研究
基于预处理MUSIC算法的分布式阵列DOA估计
基于点估计法的分布式电源的配置优化
一种用于微电网分布式发电的新型Buck-Boost逆变器
基于DDS的分布式三维协同仿真研究
西门子 分布式I/O Simatic ET 200AL
家庭分布式储能的发展前景
第26届IEEE并行及分布式处理国际会议