SlideServe
Menu
Préférences
© SlideServe · v2026

Wiki と Web サービス API

fritz-wells avatar
15 diapositives · 352 Views · Oct 29, 2014

Wiki と Web サービス API. Wiki と Web サービス API ( 1 ). Web サービス API の流行 Blog が投稿用の Web サービス API を提供 Amazon 、 Google 、 Yahoo などが各種情報取得のための Web サービス API を提供 最新 Web サービス API エクスプローラ( ISBN:4-7741-2496-6 ) Google Hacks ( ISBN:4-87311-136-6 ). Wiki と Web サービス API ( 2 ). XML-RPC での API 提供( 2002 年頃)

Wiki と Web サービス API - slide 1
01 / 15Wiki と Web サービス API
1 / 17

Télécharger la présentation

Wiki と Web サービス API
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. WikiとWebサービスAPI

  2. WikiとWebサービスAPI(1) • WebサービスAPIの流行 • Blogが投稿用のWebサービスAPIを提供 • Amazon、Google、Yahooなどが各種情報取得のためのWebサービスAPIを提供 • 最新WebサービスAPIエクスプローラ(ISBN:4-7741-2496-6) • Google Hacks(ISBN:4-87311-136-6)

  3. WikiとWebサービスAPI(2) • XML-RPCでのAPI提供(2002年頃) • Wiki RPC Version 1 • JSP Wikiで提案、twiki、MoinMoin、ModWiki、phpWikiなどでも実装される。 • 参照系の機能が中心、データをbase64エンコード。 • Wiki RPC Version 2 • JSP Wikiで提案、MoinMoin、FSWikiなどで採用。 • 更新のためのputPageなどが追加される。 • データは基本的にutf-8、base64エンコードはしない。 • 強いて言えばWiki RPCベースのものが多い。 • 2002年頃の議論で終わってしまっているため、あまり利用されてない?

  4. WikiとWebサービス(表1) 表1:Wiki RPCで定義されているプロシージャ

  5. WikiとWebサービス(表2) 表2:Wiki RPCの実装状況

  6. Wiki RPCを使ってみる(1) • FSWiki向けのWiki RPCの実装 • まかまか氏がXML for Wikiで公開 • 設置 • Sourceforgeからwiki3_5_9.zipを取得、展開 • XML for Wikiからwiki_xmlrpc-204.tar.gzを取得し、同ディレクトリに展開

  7. wiki.cgi(要Perlパス修正) wikigate.cgi(要Perlパス修正) wiki_xmlrpc.cgi(要Perlパス修正) temp pdf lib tmpl theme attach lib docs data config backup plugin Wiki RPCを使ってみる(図1) (1)FS Wikiの設置 (2)Wiki RPCの追加 (CGI設置ディレクトリ、要書込み権限) wiki3_5_9.zipの内容 Wiki_xmlrpc-204.tar.gzの内容 空フォルダを作成 図1:FSWikiとWiki RPCの設置

  8. Wiki RPCを使ってみる(2) • PerlのXMLRPC-Liteモジュールでアクセス • Wikiページ一覧とページ情報の取得 • wiki.getAllPagesとwiki.getPageInfoを使用 • ソースと結果は図2 • Wikiへの投稿と、HTML形式での取得 • wiki.putPageとwiki.getPageHTMLを使用 • ソースと結果は図3

  9. Wiki RPCを使ってみる(図2) ■ ソース use XMLRPC::Lite; use Data::Dumper; $Data::Dumper::Indent = 0; my $url = 'http://localhost/fswiki/wiki_xmlrpc.cgi'; my $pages = XMLRPC::Lite->proxy( $url )->call('wiki.getAllPages')->result; foreach my $page (@{$pages}) { my $info = XMLRPC::Lite->proxy( $url )->call('wiki.getPageInfo', $page)->result; print Dumper($info), "\n"; } ■ 結果 $VAR1 = {'lastModified' => '20050827T11:59:06','version' => '1','author' => '','name' => 'FrontPage'}; $VAR1 = {'lastModified' => '20050827T11:59:06','version' => '1','author' => '','name' => 'Help'}; $VAR1 = {'lastModified' => '20050827T11:59:06','version' => '1','author' => '','name' => 'Help/FSWiki'}; $VAR1 = {'lastModified' => '20050827T11:59:06','version' => '1','author' => '','name' => 'Help/Hiki'}; $VAR1 = {'lastModified' => '20050827T11:59:06','version' => '1','author' => '','name' => 'Help/YukiWiki'}; 図2:Wiki RPCによるページ一覧とページ情報の取得

  10. Wiki RPCを使ってみる(図3) ■ ソース use XMLRPC::Lite; use Jcode; my $url = 'http://localhost/fswiki/wiki_xmlrpc.cgi'; my $page = jcode( '投稿テスト' )->utf8; my $text = jcode( <<EOF )->utf8; !!! 投稿テスト結果 [XMLRPC for Wiki|http://www.donzoko.net/cgi/fswiki_xmlrpc/]経由で投稿。 * 投稿できるのか? * 投稿したページを取得できるか? EOF print "[投稿結果] “, XMLRPC::Lite->proxy( $url )->call('wiki.putPage', $page, $text)->result , "\n"; print "[取得結果]\n“, XMLRPC::Lite->proxy( $url )->call('wiki.getPageHTML', $page)->result; ■ 結果 [投稿結果] 1 [取得結果] <h2><a name="p0"> <a href="wiki.cgi?page=%C5%EA%B9%C6%A5%C6%A5%B9%A5%C8" class="wikipage">投稿テスト</a>結果</a></h2> <p><a href="http://www.donzoko.net/cgi/fswiki_xmlrpc/">XMLRPC for Wiki</a>経由で投稿。</p><ul> <li> 投稿できるのか? </li> <li> 投稿したページを取得できるか? </li> </ul></ul> 図3:Wiki RPCによるページの投稿と取得

  11. Wiki RPCを使ってみる(図4) 図4:Wiki RPCで投稿したページ

  12. 今後の可能性(1) • WebサービスAPI仕様の方向 • Atom API • 最新WebサービスAPIエクスプローラに • 解説 • Atom Autodiscoveryなどより練りこまれた仕組 • XML-RPCのアプリケーション/サイトごとに異なる命令群に対し、RESTの統一的な利用法 • KwikiにAtom APIをサポートするプラグイン • Wykiwygを公開したSocialtextが使用しているなど、Kwikiの動向は無視できなくなる可能性が。 • REST • Atom、XMLを使わないプレインテキストのREST • REST Wiki

  13. 今後の可能性(2) • Wiki APIが可能にすること • Wikiのより自由な活用 • Wikiの閲覧、更新を快適にするクライアント • 複数のWikiを横断するめたWikiアプリケーション • 共有ストレージとしての活用 • ワークフローツールへの組み込み • Wikiのより自由なアーキテクチャ • WikiエンジンがWikiストレージにAPIでアクセス • WikiプラグインがWikiエンジンやWikiストレージにAPIでアクセス • 分散Wikiストレージ化

  14. 今後の可能性(図4) Wikiエンジン Wikiストレージ ブラウザアクセス getPaceHTML getPageText 変換 getPageText getPageText putPageText getPageText 図4:WikiエンジンとWikiストレージを切り離したWikiシステム

  15. 今後の可能性(図5) Wikiプラグインサーバ Wikiストレージサーバ Wikiエンジンサーバ Wikiストレージバックエンド blogエンジンサーバ 図5:より分散化したWikiシステム