欢迎来到上海仝薪网络科技有限公司官网,上海网站建设公司上海网站制作公司微信网站上海竞价托管公司
咨询,就免费赠送域名与服务器,咨询热线:13761675098当前位置: 竞价外包 > 建站知识 > 网站建设知识 >
联系我们
电话咨询:13761675098
E-mail:rengongxin@qq.com
地址: 上海市金园一路1118弄

WEB API已成为构建客户端服务的利器?

作者/整理:admin 来源:互联网 2018-02-26

一、软件开发的互联网思维

1、网络就是计算机

 进入互联网时代,软件开发必然放眼全局,充分利用互联网的资源和特性。比如,为了提高响应性能,就选择使用CDN作为前端缓存。而且可能还需要采用CDN提供的API进行编程,以便更加优化地调度缓存资源。类似这样可利用的网络资源很多,开发者需要统一考虑到,也就是建立起软件开发的互联网思维。这样开发出来的软件,才具有互联网基因,能够适应互联网的时代。

2、云计算助力软件开发

云计算通过虚拟化技术把很多资源整合起来,软件开发理念不断向更高维度抽象。从虚拟机到集群,再到容器,再抽象成函数计算,软件开发越来越聚焦在业务核心上。这样的演进,必然带来效率的提升。基于云计算环境的软件,不可避免地需要通过各种API来进行资源管理。

3、WEB API的作用

1)开放有价值的数据

一些数据具有较强的使用价值,比如天气预报。利用 WEB API 作为开放接口,可以让数据价值作用充分发挥出来。每个人都会有打车的经历,大多服务商都在打车软件上接入天气预报API,做到提前通知司机师傅天气变化情况,司机可做好出行应急准备,以及准备好雨具等贴心服务。并可通过此情况,设定相应的价格波动控制,调动司机师傅的积极性,并给乘客提供更优质的预知服务,达到三方共赢。

2)复杂计算接口

WEB API的另一个主要作用就是可以作为复杂计算的开放接口。例如,针对文档的WEB展现,特别是在移动端WEB展现,缺少成熟通用的技术方案。一些应用不得不采取变通的办法,比如阿里钉钉把文档页转成了图片;某邮箱丢失了字体轮廓特征;某信则要下载后通过第三方APP打开。反而一些中小开发团队,通过调用九云图的文档转换 WEB API,以最少的成本,实现了更好的效果。九云图WEB API 可以把各类文档转换成包含SVG的HTML5 格式,在移动端缺少字库的情况下,也能保持字体和版式完全不变,还可平滑缩放。像这样的复杂计算功能,采用 WEB API 进行接口开放,再合适不过了。

3)云计算资源管理

 前面提到,基于云计算环境的软件,不可避免地需要通过各种API来进行资源管理。做为云计算基础设施的一部分,WEB API 是必不可少的。开发者通过调用 WEB API,可以使软件类产品高效、方便地融合到云计算体系里。

二、WEB API的统一性需求

1、体系结构的统一

一套完善的API,需要有一个统一的体系结构。

在API发展的各个阶段,这样的体系结构也在不断演进。初期,针对科学计算需要,主流开发语言提供了一些计算函数,那时候API体系虽然不复杂,但作为编程语言的一部分,整体的统一性非常明确,开发者很清楚有哪些函数是可以利用的。

随着IT技术的发展,出现了控件、类库、框架等越来越强大的开发接口,各种方案自成体系,尽管第三方资源不断加入,但整体的体系结构,还是依赖于核心功能的支撑。比如Java JDK提供了大量的原生类库,第三方产品虽然丰富多彩,但由于Java的平台属性,以及核心 API 功能的完善,JDK体系结构的统一性始终非常明确。维持 API 体系结构的统一性,还需要有理论的支持,比如各种 GUI 模型,都是遵循基础理论进行设计的。这保证了开发者在各种开发工具之间的思维统一,比如有了Windows GUI的开发经验后,再从事 Java Swing 开发时,也会得心应手。

当前,WEB API 在体系结构的统一方面,还十分不足。既缺乏理论基础,又缺少基本框架。显得非常散乱,即使同一个云厂商的各种资源接口,也缺少合理的分类体系结构。开发者面对这些 WEB API,很难做到了然于胸。如果能够规划出一个合理的体系结构,以云计算资源为主干,分门别类,第三方API都能在这个分类体系中找到相应的位置。开发者在使用 WEB API时,就能得心应手了。

2、接口规范的统一

和传统的 API 一样,一套具备完善体系结构的 WEB API,也需要有统一的接口规范。让开发者有明确的标准,可以提高沟通和使用的效率。

3、交互方式的统一

最开始提到网络就是计算机,互联网、云计算的各种资源,需要协同工作。WEB API 应该提供订阅、监听、事件等机制,统一各资源之间的交互方式。使整个 API 体系互相关联,成为一个协同运作的统一体,不再是众多分散存在的零部件。

4、安全保障的统一

    和传统API的最大不同,就是WEB API面临着非常高的安全需求。互联网的开放,使网络资源和服务都面临着巨大的风险。这是 WEB API 必须要解决的问题。各个云计算厂商和第三方WEB API开发者,建立了一些加密、鉴权等机制,但是很多都是分散实施的,有些也提供了统一的访问控制,比如阿里云的RAM。但是在针对WEB API的安全保障方面,统一的程度、力度、透明度,以及抽象的层级似乎还远远不够。依靠中心化保障安全机制固然有必要,但是否应该引入区块链这样的技术作为安全机制的补充,也是一个需要考虑的问题。

三、软件产业大规模协作的前提

目前,软件开发领域技术协作性不强,从阿里云API市场的交易量也可以看出。这是由于软件产业起步较晚,成熟度不够导致的。而一些成熟度较高的产业,比如汽车制造业,技术协作十分广泛,大量的零部件都是协作生产的。软件产业要实现大规模协作,至少需要具备如下两个条件:

1、繁荣的生态

   一个繁荣的生态需要健全的基础设施,WEB API领域的基础设施包括数据、网络资源和体系结构。随着云计算的发展普及,数据和网络资源基本具备,当务之急是要建立统一的体系结构。这样的体系结构,需要完善、有力的主干支撑,必须有足够规模和实力的企业投入资源,发挥主干作用,才有可能让WEB API生态繁荣起来。

2、系统准入和监管

软件产业的技术协作如果要打开局面,还有两件事情必须要做。一是制订一些技术标准,二是发放资质证书。传统产业这两件事做得很好,基本都是政府在主导。这样可以保障技术协作的可靠性,因为政府在制订标准和发放牌照的过程中,间接承担了担保人的角色。而软件产业的技术协作,政府却没有条件做上面的两件事。这就需要有实力的企业来承担这个角色,一方面对WEB API产品制定一些技术标准,比如文档格式转换类的,应提供什么样的接口,参数的类型、命名、响应的时间等;另一方面,对符合标准的WEB API发放资质证明,并对获得资质的产品进行日常核查,确保其运行状态稳定,为使用者提供充分可靠的服务。

九云图做为阿里云API应用创新大赛(https://tianchi.aliyun.com/markets/tianchi/api2017)两届的参赛团队,在文档处理、云端存储、WEB 展现的研发上具有多年的经验与技术积累。他们开发的“九云图文档格式转换API”已在阿里云API市场上(https://market.aliyun.com/products/56928005/cmapi024870.html)开放调用。做为WEB API领域的早期开拓者,九云图为WEB API的发展迈出了第一步。

他们本届的参赛作品“旅游产品海报自动生成系统”,是根据旅行社用户上传的行程文档,进行文本解析后,自动生成带H5 二维码的宣传海报。该作品用到了九云图文档转H5 APl、阿里云自然语言处理 APl、阿里云 OCR APl、阿里云人脸识别 APl、百度图片 APl,还有阿里云函数计算、OSS APl 等。

WEB API已渗入到我们生活、出行、工作的各环节,成为了每个重要信息技术趋势的核心内容。移动设备、云计算、物联网、大数据及社交网络等应用都依赖于一个基于WEB的界面与它们的分布式组件进行连接,为全球范围内的各个商业领域提供具有创新性和颠覆性的解决方法。而WEB API的使用既是催化剂,也是促成这些成果的主要力量。