geo+webの人は皆「RESTful Web サービス」を買うべき

d:id:hfu:20090316 に対するはてなブックマークで、yohei さんにコメントをいただきました。

任意矩形をquery paramsで取得するのはRESTfulに設計できます(RWS第5章)。サーバ内部の処理とインターフェース設計はまずは別に考えるべきと思います。

http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/hfu/20090316/1237148944

実は、RWS こと「RESTful Web サービス」、昨日入手したところでした。セレンディピティ*1、ですね。早速開いてみています。

RESTful な任意矩形指定

RWSこと「RESTful WEb サービス」5章 p.124 に、次のように書かれています。

http://maps.example.com/geologic/Earth/43.9,-103.46

この URI、自分で打ち込んで味わうと楽しい気持ちになります。?とか&を打ち込む必要がありません。
ところで、縮尺についての考察は、この URL が出てきたところの次に出てきています。米国系の縮尺のとりかたがもろに出てきていて、URI にも文化が出てくるなあと思います。*2
実は、肝心の「任意矩形」についてはまだ記述を見つけられていないので、これから RWSこと「RESTful Web サービス」を読む中で探していこうと思っています。

サーバ内部の処理とインタフェース設計はまずは別、でもインタフェース設計はサーバ内部の処理をアフォード

サーバ内部の処理とインターフェース設計はまずは別に考えるべきと思います。

http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/hfu/20090316/1237148944

「RESTful Web サービス」をぱらぱらと見てみて、この「インタフェース設計と内部処理の分離」は重要なのだろうなあと思いました。これから「RESTful Web サービス」を読む中で、よく味わっていこうと思います。
ただ、現在のところは私は、

URI から「ふつうのひと」が想起するサーバ内部処理がファイルベースに見えること

が geo+web には重要だと一方で思っています。経緯度という数値や任意矩形の指定は無限にあるなか、サーバが提供するリソースを有限個数に見せる URI 設計は、キャッシュを効かせることでユーザに利便性を与えるだけでなく、サーバ内部処理の実装者にも示唆的であるからです。
geo+web のひとがすべてサーバに詳しいわけではないなか、とりあえずファイルベースで始められて、必要に応じて RDBMS や分散したストレージを裏に入れることができるインタフェース (URI設計) を持つタイルマップ規格を、誰かが決めれば良いのに、と思っています。OpenLayers が持っている Layer にも、この欲求に合う Layer を見つけることができていません。

一方、WMS

そういうことを考えているときに、WMSURI は、規格に記載されているサンプルですら

http://b-maps.com/map.cgi?VERSION=1.3.0&REQUEST=GetMap&
CRS=CRS:84&BBOX=-97.105,24.913,-78.794,36.358&
WIDTH=560&HEIGHT=350&LAYERS=BUILTUPA_1M,COASTL_1M,POLBNDL_1M&
STYLES=0XFF8080,0X101040,BLACK&FORMAT=image/png&BGCOLOR=0xFFFFFF&
TRANSPARENT=TRUE&EXCEPTIONS=INIMAGE

などということになっていて、「ああ、これはサーバ側に専用のソフトが必要だね」と「ふつうのひと」に思わせるものであり、結果的に RDBMS ベースのサーバソフトウェアが必要以上に使われているような気がしています。
それにしても WMS、なぜクエリパラメータにバージョン番号などというものを入れたのか。互換性を「石橋を叩いて割る」かのように、不必要に、丁寧に壊してくれています。ふつうに後方互換を守り抜くことでバージョン番号なんて要らないでしょうに。バージョン番号を入れた瞬間に、URI レベルの後方互換は崩壊です。OGC で上位を占めている、米国航空宇宙産業の人たちには、バージョン違いの部品が使われることは絶対に避けるべきことという常識があるのかもしれない、などと思ってしまいます。しかし、そのような常識は web の常識ではありません。

geo+webの人は皆 "RESTful Web サービス" を買うべき

「RESTful Web サービス」を、geo+web に関わる人はみな買うべきではないでしょうか。geo の人のために、地図サービスを題材にして説明してくれる内容も入っています。web のことがよく分かる内容になっています。geo の部分については自分の知識で補完しつつ、web の本来思想 REST (要出典)を身につけることができるいい本のように見受けられます。といっても、私もこれから読みます。

RESTful Webサービス

RESTful Webサービス

プログラマブル Web、実は 2007 年ころよりもいま、iPhoneAndroidPalm webOS が並び立ち始めているいま、楽しくなってきているのではないでしょうか。

*1:http://ja.wikipedia.org/wiki/セレンディピティ にいう誤用例のような意味で使っています。でも、Ambient Findability に書かれていた内容も想起しています。アンビエント・ファインダビリティ ―ウェブ、検索、そしてコミュニケーションをめぐる旅

*2:彼らインチ法をまだ使っているので(要確認)、 最小縮尺の母数が 51,969,000などというすごい数値になっています。