热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开放API的设计考虑--从AlisoftSaasPlatformAPI及GoogleDocsAPI(GadgetAPI)的比较说起

   OpenAPI一时兴起,各大巨头都希望通过API来吸引开发者,来扩展自己的平台,以满足用户(更主要是自身平台用户)的多样化需求。最近几天集中看了Alisoft的OpenAPI

 

   Open API 一时兴起,各大巨头都希望通过API来吸引开发者,来扩展自己的平台,以满足用户(更主要是自身平台用户)的多样化需求。最近几天集中看了Alisoft 的Open API原理,及Google API (包括相关的Gadget API),尝试讨论Open API背后的各异的思想。

   在讨论各自API的设计思想前,先简介两种API的作用:Alisoft和Google的应用当然很不一样。Alisoft用于为掏宝和阿里巴巴(包括旺旺 等产品)用户(店家/商家)提供商店管理,信息分析的工具,也可以是简单的ERP/CRM工具(这些工具或多或少都用到店家商家在平台上的个人信息),这 些工具可以是C/S模式(即是阿里旺旺啦),也可以是B/S模式的(嵌入网站或将工具软件运行在开发人员的服务器上)。Google API主要为google各产品服务,gadget可嵌入google docs, igoogle等等产品中使用。Google Data API主要是用于C/S模式的(java之类的接口),B/S模式下Gadget及其中包含的js/html需无法托管在开发者服务器上(gadget的 xml可以放在网络上可访问的任何静态区域,但gadget实际上是在google的服务器上动态相应用户请求的),只能在google运行。

  两者之间思想上有一下不同:

1.用什么吸引开发者?Alisoft用钱:developer开发被网站认可的软件,就可以定价并(通过支付宝)卖给用户。为Google开发插 件或工具几乎是免费的,google不会为一个好的插件(工具)付钱,当然,如果这个工具同时也提高了开发者的其他网站的访问量及赢利的不在讨论之列。

2.安全性如何?Alisoft用户可以在登录taobao(ISP)情况下通过第三方网站(ISV,开发者用API开发的托管在自身服务器上的网 站)来访问taobao中的个人数据。Alisoft考验着开发团体的道德,因为虽然API的协议不会让商家把用户名密码传给ISV,但从taobao返 回的数据却是经由ISV综合显示给用户的。Google的Gadget在自己的服务器上运性,没什么问题。另外,如果写一个C/S软件,用用户名/密码验 证通过https来验证(就像通过browser访问一样的啦),很安全的啦。

3.外部信息整合?第三方开发者不仅可访问platform的数据,也可综合其他网站的数据。这点在两平台都有体现。Google访问任何其他网站都涉及跨域的问题,而Alisoft的插件在访问插件所在网站时不用跨域。

4.插件的界面:google gadget有一系列类似make-up语言的支持,和html差不多的啦。Alisoft则将显示交由开发者处理,开发者可以用HTML,js,GWT来实现想要的界面。


推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • Final关键字的含义及用法详解
    本文详细介绍了Java中final关键字的含义和用法。final关键字可以修饰非抽象类、非抽象类成员方法和变量。final类不能被继承,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。文章还讨论了final类和final方法的应用场景,以及使用final方法的两个原因:锁定方法防止修改和提高执行效率。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
author-avatar
我是刘平2010_327
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有