OpenAPI和REST hbase rest api

REST(Representational StateTransfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

 

REST指的是一组架构约束条件和原则。

满足这些约束条件和原则的应用程序或设计就是 RESTful。

Web应用程序最重要的 REST原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。

在服务器端,应用程序状态和功能可以分为各种资源。资源是一个有趣的概念实体,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用 URI (Universal Resource Identifier)得到一个惟一的地址。所有资源都共享统一的界面,以便在客户端和服务器之间传输状态。使用的是标准的 HTTP 方法,比如GET、PUT、POST 和 DELETE。Hypermedia 是应用程序状态的引擎,资源表示通过超链接互联。

另一个重要的 REST 原则是分层系统。

这表示组件无法了解它与之交互的中间层以外的组件。通过将系统知识限制在单个层,可以限制整个系统的复杂性,促进了底层的独立性。

当 REST架构的约束条件作为一个整体应用时,将生成一个可以扩展到大量客户端的应用程序。它还降低了客户端和服务器之间的交互延迟。统一界面简化了整个系统架构,改进了子系统之间交互的可见性。

REST 简化了客户端和服务器的实现。

RESTful的实现:RESTful Web 服务与 RPC 样式的 Web 服务

了解了什么是什么是REST,我们再看看RESTful的实现。最近,使用 RPC 样式架构构建的基于 SOAP 的 Web 服务成为实现SOA 最常用的方法。RPC 样式的 Web 服务客户端将一个装满数据的信封(包括方法和参数信息)通过 HTTP发送到服务器。服务器打开信封并使用传入参数执行指定的方法。方法的结果打包到一个信封并作为响应发回客户端。客户端收到响应并打开信封。每个对象都有自己独特的方法以及仅公开一个 URI 的 RPC 样式 Web 服务,URI 表示单个端点。它忽略 HTTP 的大部分特性且仅支持POST 方法。

由于轻量级以及通过HTTP 直接传输数据的特性,Web 服务的 RESTful 方法已经成为最常见的替代方法。可以使用各种语言(比如 Java程序、Perl、Ruby、Python、PHP 和 Javascript[包括 Ajax])实现客户端。RESTful Web服务通常可以通过自动客户端或代表用户的应用程序访问。但是,这种服务的简便性让用户能够与之直接交互,使用它们的 Web 浏览器构建一个GET URL 并读取返回的内容。

在 REST样式的 Web 服务中,每个资源都有一个地址。资源本身都是方法调用的目标,方法列表对所有资源都是一样的。这些方法都是标准方法,包括HTTP GET、POST、PUT、DELETE,还可能包括 HEADER 和 OPTIONS。

在 RPC样式的架构中,关注点在于方法,而在 REST 样式的架构中,关注点在于资源 ——将使用标准方法检索并操作信息片段(使用表示的形式)。资源表示形式在表示形式中使用超链接互联。

LeonardRichardson 和 Sam Ruby 在他们的著作 RESTful Web Services 中引入了术语 REST-RPC混合架构。REST-RPC 混合 Web 服务不使用信封包装方法、参数和数据,而是直接通过 HTTP 传输数据,这与 REST 样式的Web 服务是类似的。但是它不使用标准的 HTTP 方法操作资源。它在 HTTP 请求的 URI 部分存储方法信息。好几个知名的Web 服务,比如 Yahoo 的 Flickr API 和 del.icio.us API 都使用这种混合架构。

下面是一些网站的OPENAPI平台:

SNS类网站API

Facebook - http://developers.facebook.com/

人人网开放平台 - http://dev.renren.com/

51.com开放平台 - http://developers.51.com/

MySpace开发者平台 - http://developer.myspace.cn/

Opensocial - http://wiki.opensocial.org/

Google Gadgets 小工具 API 开发人员指南 - http://www.google.com/intl/zh-TW/apis/gadgets/docs-home.html

Gadgets API 开发人员指南- http://code.google.com/intl/zh-CN/apis/gadgets/docs/dev_guide.html

Gadgets API -http://code.google.com/intl/zh-CN/apis/gadgets/

电子商务类

Amazon API -http://aws.amazon.com/

eBay API -http://developer.ebay.com/

淘宝开放平台 - http://www/theme/tao_source/



微博API

Twitter API -http://apiwiki.twitter.com/Twitter-API-Documentation

Status.Net(Laconica) API - http://status.net/wiki/Twitter-compatible_API

新浪微博开发者平台 - http://open.t.sina.com.cn

注:需要授权的开发者才能访问,其API调用格式类似Twitter,但需要一个API Key用于认证管理。

搜狐博客开放平台 - http://ow.blog.sohu.com/

Follow5 API -http://www.follow5.com/f5/jsp/other/api/api.jsp

嘀咕API - http://code.google.com/p/digu-api/wiki/DiguApi

做啥API - http://code.google.com/p/zuosa-api/wiki/ZuosaApiDoc

人间网API - http://renjian.com/api.html

9911微博API -http://www.9911.com/api.php

Google Maps API

Google Maps APIDeveloper Guide - http://code.google.com/intl/en/apis/maps/documentation/

Google Maps APITutorial - http://econym.org.uk/gmap/extensions.htm

GMaps Utility Library - http://code.google.com/p/gmaps-utility-library-dev/wiki/Libraries

GMaps Utility Examples - http://gmaps-utility-library.googlecode.com/svn/trunk/labeledmarker/release/examples/

Saving User-Added Form Data - http://code.google.com/intl/zh-CN/apis/maps/articles/phpsqlinfo.html

Firefox类

Mozilla 开发者中心的扩展开发专题 - https://developer.mozilla.org/en/Extensions

XUL 1.0 规范 - http://www-archive.mozilla.org/projects/xul/xul.html

更多地了解这种基于 XML 的用户界面语言,它可以构建各种富跨平台应用程序。

Mozilla Development Center 的 XUL 教程 - http://developer.mozilla.org/en/docs/XUL_Tutorial

Getting started with extension development 编写一个最简单的Firefox扩展 -http://kb.mozillazine.org/Getting_started_with_extension_development
OpenAPI和REST hbase rest api

Setting up extension development environment - http://developer.mozilla.org/en/docs/Setting_up_extension_development_environment

实战 Firefox 扩展开发 - http://www.ibm.com/developerworks/cn/web/wa-lo-firefox-ext/

使用 XUL 实现浏览器扩展 (1) - http://www.ibm.com/developerworks/cn/web/wa-xul1/

使用 XUL 实现浏览器扩展 (2) - http://www.ibm.com/developerworks/cn/web/wa-xul2/

应用类

豆瓣API - http://www.douban.com/service/apidoc/

Flickr API -http://www.flickr.com/services/api/

Last.fm API -http://www.last.fm/api

Box.net API -http://developers.box.net/

Delicious API -http://delicious.com/help/api

API统计 - http://www.programmableweb.com/apis



最后总结一下:

REST描述了一个架构样式的互联系统(如 Web 应用程序)。REST约束条件作为一个整体应用时,将生成一个简单、可扩展、有效、安全、可靠的架构。由于它简便、轻量级以及通过 HTTP直接传输数据的特性,RESTful Web 服务成为基于 SOAP 服务的一个最有前途的替代方案。用于 web 服务和动态 Web应用程序的多层架构可以实现可重用性、简单性、可扩展性和组件可响应性的清晰分离。Ajax 和 RESTful Web服务本质上是互为补充的。开发人员可以轻松使用 Ajax 和 RESTful Web 服务一起创建丰富的界面。

  

爱华网本文地址 » http://www.aihuau.com/a/25101012/133521.html

更多阅读

我的世界forge怎么安装 我的世界api怎么安装

我的世界forge怎么安装——简介我的世界(Minecraft)是一款第一人称和第三人称沙盒游戏,玩家可以在游戏中破坏建造各类物品,通过类似乐高积木的组合拼凑建造出任意你想要的形态。在游戏为了获得更好的体验,可以通过安装mod实现,而mod的安装

分享视频:梦之旅_我和我的祖国 卡拉OK伴奏 晋剧卡拉ok伴奏

《我和我的祖国》是以第一人称的手法诉说了“我和祖国”息息相连、一刻也不能分离的心情,而作为歌词,作者运用了两个具象化的比喻:其一是,“我和我的祖国”是子女和母亲之间的关系,其二是,“我的祖国和我”是大海与浪花之间的关系。前者是

DSOframer文档保存和接口说明 api接口说明文档模板

dsoframer是微软提供一款开源的基于web的officeActiveX控件,国内有达人在源码的基础上做了很多修改,增强了控件的功能。其实基于web的office是一个很鸡肋的东西,没有什么存在的意义。唯一的一点就是看上去比较花哨,你瞧,在浏览器上打开wo

SOAPWebservice和RESTfulWebservice soap和restful

REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性。REST提出设计概念和准则为:1.网络上的所有事物都可以被抽象为资源(resource)2.每一个资源都有唯一的资源标识(resourc

声明:《OpenAPI和REST hbase rest api》为网友速寂寞分享!如侵犯到您的合法权益请联系我们删除