90年代にインターネットが普及して以来、Dog Yearと表現されるWebの技術革新のスピードには目を見張るものがある。日本でもベンチャー企業を中心に新たな技術/ユースケースの開発/適用に積極的に取り組んでおり、昨今では、新技術の採用に対して保守的な傾向にある大企業までが、自社システム構築にあたって、AjaxやRESTなど、Web 2.0のブームの中で注目されてきた技術に踏み込むケースが増えてきた。
そこで、本稿では、Ajax等の新たなWeb技術を用いたシステム構築に挑戦しようとしているITアーキテクトの皆さんに向けた3冊を紹介したい。
樽澤広亨
日本アイ・ビー・エム所属。アーキテクト/コンサルタントとしてさまざまなプロジェクトに携わるするかたわら、IBMソフトウェア・エバンジェリストとしても活躍する。2006年から約1年間、米IBM Raleigh研究所にてWeb技術の研究に従事し、現在はマッシュアップ技術開発プロジェクト「WebSphere sMash」の立ち上げをリードしている。月刊誌『JavaWorld』などにおいて、ITアーキテクト向け記事を多数寄稿。
『Ajaxデザインパターン』
『Ajaxデザインパターン - ユーザビリティと開発効率の向上のために』(著者: Michael Mahemoff、翻訳: 牧野聡、発行: オライリー・ジャパン) |
Web 2.0の"流行"が終わり、Ajaxという技術が普及期に入ったのか、最近では再びJavaScript関連の書籍が書店を賑わすようになった。ただし、プログラミング作法を解説する"JavaScript本"は多数あるが、設計の参考になるような書籍はまだ少ない。開発者が頭を悩ますことになるのは、おそらくこの部分だろう。
設計を手掛ける際には、ユースケースやアプリケーションの粒度、操作性といった上流工程で解決すべき課題から、セキュリティ、パフォーマンス、問題判別などのシステム基盤の範疇に至るまで、検討すべき項目が少なくない。『Ajaxデザインパターン』は、そのような課題に囲まれた開発者に対して何らかのヒントを与えてくれるはずだ。
同書は、Ajaxアプリケーション設計に有効な70個のデザイン・パターンを、基盤、プログラミング、機能と使いやすさ、アプリケーション開発、という4つのカテゴリに分類して説明している。実システムの設計ソリューションのカバレッジとして十分と言える。なかには、有効性や実現性に疑問符のつくパターンもあるが、著者自ら「普及度」と称して各パターンに対する評価を付記しており、こちらを参考にすれば困惑することもないだろう。
1章と2章ではAjaxの基礎が解説されているため、入門レベルの開発者でも読み進められるが、困った時のリファレンスとしても使えるのでパワー・ユーザーにもお薦めだ。また、不自然な日本語訳を非常に気にする評者であるが、本書の日本語訳に違和感を感じることは無かった。
『RESTful Webサービス』
『RESTful Webサービス』(著者: Leonard Richardson / Sam Ruby、翻訳: 翻訳: クイープ、発行: オライリー・ジャパン) |
RESTを使ったWebサービスというアイディアは随分以前からあるが、何かもやもやした感が拭えなかった。標準機関によって仕様が決められているSOAPやWSDLに対し、明確な仕様書を持たないRESTの位置づけというか、立ち位置の曖昧さもその理由の1つたが、何より気にかかっていたのは、リソースに対してCRUD(Create/Retrieve/Update/Delete: 作成、検索、更新、削除の4つの種類の操作)処理を加えるスタイルで、サービス指向のニーズをどこまで実現できるのか、具体的に見えていなかった点である。
このような疑問に具体的に応えてくれるのが、『RESTful Webサービス』である。
RESTを裏付けるアーキテクチャとして「Resource Oriented Architecture」を提唱する本書は、RESTベースのアプリケーション設計の要点や解決策を、実際に遭遇するであろう要件や制約を基に簡潔かつ的確に提示してくれる。個人的には、第8章の「REST and ROA Best Practices」は楽しみながら読むことができた。PUTやDELETEをサポートしない環境での対応策、またトランザクションにまつわる設計など非常に参考となる。
サンプルはRubyが中心だが、Javaなどの他の言語でのプログラミング経験があれば、読み進めるのも苦にならない。評者は原書で読んだが、日本語訳も出版されている。Web技術、SOAの両方に携わるITアーキテクトにお勧めしたい良書だ。これが2006年に執筆されたのは驚きである。
『Groovy in Action』
『Groovy in Action』(著者: Dierk Konig / Andrew Glover / Paul King / Guillaume Laforge / Jon Skeet、発行: Manning Pubns) |
もしJavaに精通していて、スクリプト言語に興味があるなら、Rubyも悪くはないが、「Groovy」をお勧めしたい。JSR-241として標準化されたGroovyはJavaバーチャル・マシン上で動くスクリプト言語だ。
Groovyの文法はJavaと同じであり、既存のJavaクラスをシームレスに呼び出すことができる。GroovyではJavaのスキルとアセットを再利用できるのだ。
「Groovy in Action」は、評者の知る限り、Groovyを学習する上で最良の書籍だ。適宜Javaコードを例にとって対比しながら、Groovyの特徴を段階を追って説明しており、Javaに馴染みのある読者であれば、無理なく文法や、Closure、Builder機能を学ぶことができる。洋書だが、表現は平易であり、読みやすい。英語が苦手なら、近々出版予定の日本語版(※)を待っても良いだろう。
※(編集部注) 毎日コミュニケーションズより今秋発売予定