ClubDB2 第119回「RESTの基礎と、XQfulによるXML-DB活用」に参加してきました
毎度毎度のClubDB2参加記録。
そろそろblogのタイトルも変えてもいいかもしれない・・・
さて、XMLもXQueryもRESTもTomcatもEclipseも知らない私が思い切って参加した第119回ClubDB2「RESTの基礎と、XQfulによるXML-DB活用」(Welcome to Wikis。)結論から言うと、初心者にも非常に優しく、非常に満足度の高い勉強会でした。
講師はIBM クラウド・エバンジェリストの米持(@pandrbox)さん。
日本に6人しかいないIBM ソフトウェア・エバンジェリストのうちのお一人。(入社当初はメインフレームの障害対応・分析ソフトウェア開発をされていたと伺って、勝手に親近感を感じています。)
きっと米持さんの後輩が、我々が依頼したSVCDUMPの内容を解析しているのでしょう(笑)
XQfulとは
米持さんは、「XQfulはフレームワークというよりもデザインパターン」ということを繰り返し述べていました。
詳しくは米持さんの書かれた記事(Welcome to Wikis)に記載されています。
分散コンピューティング
XMLとは
- マニュアルなどの「文章」を構造化するための技術。
- GMLやSGMLといった規格があったが、難しすぎたので簡略化した規格。(80%も削ぎ落した!)
- HTMLはSGMLの最も有名なスキーマ(Markup Language)
HTMLはタグの閉じ忘れを許容するが、XMLは終了タグが必須。これによって実装のゆらぎを排除しているという点が印象的でした。
2次会ではXBRLのことが話題に。当日の皆さんの議論を聞いていると、どうも会計システムの複雑性がそのまんま持ち込まれて、「簡略化」というXMLの思想が削ぎ落ちている、という印象を受けました。ちなみにXBRLも初めて聞いた言葉だったので、その場でググッて何とか話について行ったのは内緒です (^^;
この「繰り返しが利用出来る」点、SMFをXMLに変換すると後処理が非常に楽になるんじゃないかなぁ。もしかしてIBMさんのSE-Toolには存在していたりして。でもCOBOLもEASYもREXXも複数行のデータを扱うのが苦手だから、XMLに強いPGM(?)をM/Fで動かさなきゃいけないから、この案はダメか?いちいちPCにデータ転送してたら効率悪いしなぁ・・・。
WebサービスとRESTful
SOAPとRESTfulの違い
SOAPの方が色々なオプションがつけられる。→ エンタープライズ向きという印象。実際、AmazonのAWSの管理はSOAP。(ここはメモが残っていないのでもしかして違うかも)
RESTfulは簡単にするために割り切っている。「認証?Authorization Headerでいいじゃん!SSLでもいいんじゃん!トランザクション処理?そんなものいらない!」という言いっぷりが非常に印象的でした。要は適材適所ってことですね。
WSDLのおかげで、I/Fさえ定義してしまえばその後のプログラミング工程は非常に楽になる = 大規模開発に向いている。
「RESTfulはI/FがXMLだから、すべてのタグを定義しなくても動く→融通が利く→変化に強い。WSDLだとそうはいかない。」という話が印象的でした。
金融系の基幹システムを担当している人間には、肌感覚として受け入れにくい思想。でも、納得感があった。そうだよね、って感じ。すべての場所、すべてのシステムであの堅牢性が求められるわけではないので。
まさに適材適所ですね。
DB2 pureXML
XQful(デモを見ての感想)
- すごく簡単に使える印象
私はここ10年ぐらい(メインフレームでテキストデータだけを使う雑プロは別として)プログラミングをしていないので、XQfulと同じ機能を一から手で作るとどれだけ大変なのかピンときませんでしたが、デモを見ただけでも「これは簡単!」と思えました。
- セキュリティーは大丈夫?
二次会で聞いたら、やっぱりイントラネット前提の実装とのこと。
「いろいろ実装しないとダメ」と仰っていたのは、「デザインパターンとしてセキュリティには強くはない」と(勝手に)理解。
ここも結局適材適所ってことですね。
- URLからパラメータを渡せるのはすごく便利。
「わ〜すげ〜」って感じ(笑)うんうん、そうすると便利だよね、って。
ここは質疑応答で出ていたんだけど、デザインパターンとしてはたしかにSQLでもいけるし、返り値がXMLである必要はないそうです。
- なんでXQueryを前提にしているのかちょっと考えてみた
返り値がXMLであれば、返り値そのものが構造を持っているので、ブラウザにそのまま返しても良い。
けど、SQLの場合は返り値に構造を含まないので、データをそのままブラウザに返したのでは、データの意味が分からない(分かりにくい)という問題が起きますね。
ってことは、DBからの返り値を編集してブラウザに返せばいいんだけど、それじゃ結局「お手軽」というXQfulのメリットが薄れちゃうんだろうな。
その他のメモ
まとめ
私にとっては2011年 1回目のClubDB2は非常に満足度の高い勉強会でした。
自分の持つ技術分野と、全くと言って重なりのない分野だったので、正直参加して大丈夫か不安だったのですが、米持さんの素敵なトーク、非常に分かりやすい基礎からの解説のおかげで、なんとかついていくだけでなく非常に楽しく学ぶことができました。
2次会で伺ったのですが、エバンジェリストってインタビューを受ける能力やら、プレゼンテーションの能力といった、まさにスポークスマンとしての能力も求められるんですね。
そういえば米持さん、23時半からテレコンだから途中で帰ると仰ってましたが、私が会場をでた23時にはまだ残っていらっしゃった記憶が・・・。テレコンには間に合ったのでしょうか (^^;
次回のClubDB(Welcome to Wikis)はNetezzaがテーマです。これまたBIというな〜んにも知らない分野ですが懲りずに参加します(^^;
おまけ
4月から同じ会社になる@TxRacingさんと初めて挨拶させていただきました。部署は異なりますが、同じビルになると思いますのでClubDB2だけでなく色々と情報交換などさせていだければありがたいです。よろしくお願いします m(_ _)m