インタビュー: Emmanuel Bernard氏にBean Validation仕様について聞く
Bean Validationフレームワークの初期ドラフトに関する以前の記事に続き、InfoQは専門家グループが求めているコミュニティの関与と提案について理解を深めるため、Emmanuel Bernard氏と対談しました。
- Java,
作者 Thomas Bandholtz, 翻訳者 編集部 投稿日 2008年5月22日 午後12時12分
LinkingOpenData(source)コミュニティプロジェクトは、DBpedia(source)、Geonames(source)、MusicBrainz(source)、WordNet(source)、DBLP文献目録(source)、2000年の米国国勢調査(source)など、分散している供給者約50ヵ所からの20億を超える連結ステートメント(RDFトリプル)にアクセスを提供し、全世界的なRESTfulのSOAシナリオを達成した。すべてのデータはResource Description Framework(RDF)(source)フォーマットで公表されている。各データセットの構成は、単純なHTTP GETを使い「Cool URI」(source)でアクセスできる名前付きグラフになっている(私の前回の投稿(source)を参照のこと)。寄稿者向けの詳細なチュートリアルは、How to Publish Linked Data on the Web(Webで連結データを公表する方法)(source)で見つけられる。様々なソース間でデータセットが広く連結しているため、マシンが読める(巨大でないとしても)大規模なWebができあがる。供給者がSPARQL エンドポイントも実装しているなら、D2R Server(サイト・英語)のようなRDBMSベースのツールを使えば、クライアントはデータに対して強力なSPARQL Query Language for RDF(source)を使える。
FirefoxアドオンのTabulator(サイト・英語)のようなRDFブラウザを使えば、人間でもどんなものか見ることができる。 LinkedDataに関する最新の話題(PDF・英語)は、ドメイン特定のLinkedDataマッシュアップやモバイルのgeospatialエントリーポイント、セマンティック検索エンジン、データ融合、凝集ツールおよび掘り下げツールのように、いっそう高度なアプリケーションパターンに集中しており、間もなく必ずや登場してくるであろう。
しかし現在、深刻な限界がある。この魅力的なネットワークがリード・アクセス・オンリーになっていることだ。今のところ、次回のSPARQL Update(source)言語で対処することになっている。SPARQLクエリはW3C RDF Data Access Working Group(W3CのRDFデータアクセス作業部会)(source)が2004年から開発しており、ついに今年1月、W3C勧告まで到達したが、延期せざるを得なかった問題もあり、その中には集約関数とアップデート言語が入っていた。最近、Andy Seaborne (有名なJena(サイト・英語)開発者)と Geetha Manjunath (両者ともHPに在籍)は、RDFグラフ更新用言語(source)のバージョン5(別名「SPARUL」)を発表したが、バージョン5が発表されたことで、このトピックに話題が集まるかもしれない。この言語は草案で次の機能を提供する。
* RDFグラフに新規トリプルを挿入します。
* RDFグラフからトリプルを削除します。
* 単一アクションとして一群の更新オペレーションを実行します。
* Graph Storeに新規RDF Graphを作成します。
* Graph StoreからRDFグラフを削除します。
従ってこれは、連結データで欠けているPUT、POST、DELETEの実装に似ている。しかし、Graph Storeとは何か。定義では「ひとつのサービスで管理するRDFグラフのリポジトリ」となっており、あらゆるSPARQLステートメントが掲示されるエンドポイントの役割を果たす。各グラフは、それ自体がURIとして表されるべきRDFデータセットであることを思い出そう—では、なぜこの「Cool URI」に直接HTTP POST/PUT/DELETEを送らないのか。
HPの草案ではこの問題を提議していないし、答えてもいないが、SPARQL Update Wiki(source)のQ&Aにヒントが掲載されている。
SPARQLはリードオンリーであるため、Webアーキテクチャの原則多数に違反することなく、URI(と従ってGET)へとマップできます。
REST式のHTTPオペレーションは、名前付きグラフ全体の追加、更新、除去において、いっそう大きな役割を果たすことができるでしょう。
PUTとPOSTは一般に有用ですが、RESTとWebアーキテクチャのどちらも、「大型グラフへの原子的更新」をいっそう促進する可能性のある、他の方法の利用を妨げるものではありません。
Webサービスと同じ過ちを犯さないでください。アプリケーションプロトコルは「バインドされる」ようには作られていません。なぜなら、そうすると値の大半をマスキングしなければならなくなるからです。
リソースのコンセプトはRDFとRESTで異なるかもしれない。この件については2006年以来「バインディング」問題(source)で論じられており、RDFのないRESTが粗悪といっても、最終的結論を何ら示さずにセマンティックWebとWeb 2.0をRESTにブリッジングした(source)今年の2月までは、その粗悪さの程度はSOAPに比べてわずか半分ほどである(source)。なぜこれが重要なのか。
Linking Open DataのRESTful Webはこれまでのところ、確かにRESTful SOAに対して傑出した実ワールド・パターンを提供している—が、それはリードアクセスに限られている。企業が同じ方法で社内向けにデータを容易に公表でき、企業間でも同様のことが可能であると考えてみて欲しい(セキュリティ要件も満たされると仮定する)。Linking Open Dataのアップデートとなると、最大の可能性はSPARQL Updateの利用と考えられる。SPARQL Updateは言語であってアプリケーションプロトコルではなく、たとえば、Graphではなく、Graph Storeにアドレスすることにより、そうしたプロトコルの仮定をベースにしている。従って、「Webサービスと同じ過ちを犯さないようにすること」を尊重すべきなのかもしれない。
原文はこちらです:
Bean Validationフレームワークの初期ドラフトに関する以前の記事に続き、InfoQは専門家グループが求めているコミュニティの関与と提案について理解を深めるため、Emmanuel Bernard氏と対談しました。
ポーカーは他のトピックにも広く適用できるような数少ない教えを私にもたらしてくれたと信じています。実際私はソフトウェアを開発すればするほど、これら二つの仕事は非常に似ていると言う確信の度合いを深めています。
恒例の「バーチャルパネルセッション」で、InfoQは新しいOASIS BPEL4People技術委員会の代表と対談をし、この作業が何故必要であるかについて彼らのフィードバックを得る機会を得ました。
ドメイン特化言語は最近非常に人気が高まっている話題です。これは恐らく、Rails現象に起因していると考えられます。Railsの人気と、Railsにおけるドメイン特化言語(以降、DSL)の大規模な使用は、DSLに対する広範な関心を呼び起こしました。
Rubyには、Rubyコミュニティの内外で広く知られている誤解が一つある。Rubyにはデバッガがないという誤解だ。しかし、Rubyにデバッガが無いということは誤解なのだ。実際のところ、Rubyにはデバッガ用のツールがある。
InfoQ Chinaは中国でスクラム(Scrum)がどのように導入されているかに関する調査を行いました。私たちはこの記事のために5つの事例をピックアップしました。これらの事例は、異なるさまざまな会社によるもので、異なるプロセスが利用され、異なる結果が生じたものです。
Udi Dahan氏のチームが、サービス契約を利用した2度の失敗を避け、複数の側面でのスケーラビリティに対処しています。
Agileを始めるときは、とても分かりにくいです。一体どこから手をつければいいのでしょう?この物語はそんな皆様の一助になれば幸いです。本書は、スウェーデンにある、とある40人ほどの会社で、どのようにAgileとXPを実行したか、プロセス改善を行ったかを記しています。
No comments
返信