REST架构的使用在地下Web办事与企业集成两个方面获得较波动的开展势头。但是,在面向办事架构的某一方面没有获得足够的注重:办事发明机制。
在这篇文章中,我将描绘现存的Web技巧是怎么促使在RESTful Web办事完成办事发明机制。
一个想要与某一办事交互的客户端需求一个初始的URI用来进入所供给的使用。那怎么来获得这个用来进入使用的URI呢?有以下三种不必的方法:
经过创立专用的Web使用来供给基于HTTP的办事注册机制、同时联系关系规范媒体类型是一种实在可行的选择,可是这只是在没有现存可用技巧时的最初选择。
运用现存以安排的技巧明显是最好的处理计划。我们无需四处寻觅这类大范围普适的牢靠处理计划,域名系统(DNS)就是我们所需的。DNS首要是一个用来查找关于主机的IP和供给例如查找域名对应邮件Server等其他办事的散布式数据库。
这篇文章将描绘怎么应用规范的DNS功用来完成办事发明机制。
办事发明机制的处理计划该当具有如何的才能?这是一个很常用的场景:一个客户端从完成一个特色功用的办事列表中查询并遴选一个实行交互。凡是这个客户端在某个场景底限制了这个查询。例如,一个客户端可能不需求一切的购物办事,它只需求www.examplebooks.com网站下的购物办事。
我们可以把提炼出以下的需求:一个办事发明机制应当是客户端有才能
办事发明机制的需求之一就是使得它可以取得希冀的容量。凡是,一个客户端从指定品种的办事列表中基于附带的元数据或许随机地拔取一个可用的办事。
但不幸的是,办事类型这个观点还没有呈现在REST Web办事范畴中。为了让基于类型的办事发明机制成为可能,我们必需起首发明一个能具体阐明办事类型的办法。
那里合适界说办事类型及其称号呢?思索到RESTful Web系统独一能运用的阐明文档是媒体类型及其类型关系的标准,那将其界说在媒体类型标准中就很天然了。
那它是怎么运作的呢?让我们来看一下博客办事与搜刮办事这两个例子。
Atom出书协定标准界说了一系列的可用于完成出书接口的超文本类型和链接关系。它最开端的用处是用来出书宣布收集日记,但它异样可以用来为任何一个治理条目、组织条目标系统供给办事接口。
为Atom出书协定界说一个办事类型容易到只需在其标准中为这个办事类型指定一个名字。然后客户端,用这个名字经过办事查询机制,查询这个完成了Atom的办事。为了便利,我们以后都将这个Atom办事名字取为_atom_http。(不必担忧这个名字中的下划线或是名字的格局,这只是一个DNS转换。我会在前面说明这个。)
OpenSearch标准规则了“OpenSearch描绘文档用来描绘一个可以被搜刮客户都所运用的搜刮引擎。”我们不用深究此处的办事类型:搜刮引擎。我们不如把它改变成一种称号为_search_http的Atom办事。
经过在OpenSearch标准中参加这个办事称号,我们可以用它来做基于DNS的办事发明。
在这篇文章中,我将用_atom_http和_search_http这两个实践的办事类型作为例子来讲明我们将要会商的内容。下面是一张关于example.org域名的图样。此中的两个主机mars.example.org与neptune.example.org都运转了Atom协定和搜素类型的办事。
mars.example.org主机上供给了常识库和旧事定阅两个Atom办事。同时另有一个用于查找旧事归档的搜刮办事。neptune.example.org上运转了一些博客和与之联系关系的搜刮办事用于查找此中的条目。
依据我们之前线举的需求,一个办事发明机制需求处理以下几个问题:
在互联网早期,每一个主机上都保管了记载主机名与对应的ip地址的一个静态文件(hosts.txt)。跟着互联网上主机数量的增加,因为范围问题更新这个文件酿成了一个困难。DNS经过非中间化地治理这个数据库,处理了这个范围性的问题。去中间化的治理经过拜托的方法来完成,这就意味着一个特定索带路径块(一个域名)的具有者可以将这个域名的部分一切权拜托给其他组织来替代治理。
DNS是一个途径索引的散布式数据库,它具有以下的才能:
域名的治理者经过修正称号Server来把持DNS查询所前往的后果。凡是,称号Server具有这个域名一些部分(区段)的完好信息。
当称号Server启动时,它会从一个文件中或经过其他称号Server加载一个或多个区段,然后才干够呼应关于这些区段的查询。
当一个DNS客户端查询一个指定域名的信息时,它与它设置装备摆设所指向的称号Server树立联络,顺次查询其他称号Server直到恳求的资本记载被定位,然后前往给客户端。
本文中的一切译文仅用于进修和交换目标,转载请务必注明文章译者、出处、和本文链接。 2KB翻译任务按照 CC 协定,假如我们的任务有进犯到您的权益,请实时联络我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务