标题 | 用web api实现C#平台的分布式开发 |
范文 | 摘要:分布式的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-),男,湖北松滋人,副教授,大学本科,研究方向为网站开发、网络工程等。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。