Web Service与Web API对比

原文地址:北云软件-Web Services与Web API对比

Web Services 被W3C进行了标准化定义。

Web Services 发布到网上,可以公布到某个全局注册表,自动提供服务URL,服务描述、接口调用要求、参数说明以及返回值说明。比如中国气象局可以发布天气预报服务。所有其它网站或手机App如果需要集成天气预报功能,都可以访问该Web Service获取数据。

Web Services 主要设计目标是提供公共服务。

Web Services 全部基于XML。按照W3C标准来描述服务的各个方面(参数、参数传递、返回值及服务发布发现等)。要描述清楚Web Services标准的各个方面,可能需要2000页的文档。
Web Services 还有标准的身份验证方式(非公共服务时验证使用者身份)。

轻量化的Web API

公司内部使用的私有服务,我们知道它的接口Url,因此不需要自动发现它。我们有它的服务接口文档,因此也不需要自动描述和自动调用。
即使Web Services的特性(自动发现、自动学会调用方式)很美好,但私有服务往往不需要这些。

Web API一般基于HTTP/REST来实现,什么都不需要定义,参数(输入的数据)可以是JSON, XML或者简单文本,响应(输出数据)一般是JSON或XML。它不提供服务调用标准和服务发现标准。可以按你服务的特点来写一些简单的使用说明给使用者。

获取远程数据的方式正在从Web Services向Web API转变。

Web Services的架构要比Web API臃肿得多,它的每个请求都需要封装成XML并在服务端解封。因此它不易开发且吃更多的资源(内存、带宽)。性能也不如Web API。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NetCore BackgroundService是一个在后台运行并执行任务的服务,它可以在应用程序启动时启动,并在应用程序关闭时停止。WebAPI是一个基于HTTP协议的API服务,它提供了RESTful的接口,让客户端能够通过HTTP请求来访问数据和服务。这两个组件可以相互配合,实现后台任务的自动执行和对外API接口的暴露。 在NetCore应用程序中,我们可以通过继承BackgroundService类,实现一个自定义的后台任务并在Startup.cs中注册和启动。这个后台任务可以执行数据处理、定时任务、消息处理、邮件发送等各种任务。我们可以在任务中调用WebAPI接口,以获取数据、处理数据或提供数据,来实现数据的自动处理。 在WebAPI中,我们可以定义一些接口,用于被后台任务调用。这些接口可以使用依赖注入的机制,来注入业务类或服务类,从而对数据进行处理。我们可以在接口中直接调用业务类中的方法,或者使用HttpClient来调用其他外部系统。同时,我们还可以通过Identity认证机制,对API接口进行安全保护。通过这种方式,我们可以让后台任务自动访问API接口,处理数据,完成业务逻辑,从而达到数据自动处理的目的。 总之,NetCore BackgroundServiceWebAPI可以相互配合,实现后台任务自动执行和提供API接口服务的功能,为我们的应用程序带来了极大的便利性和扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值