1 2 3 4 →

はじめに

 この連載では、「オープンソースApache Tuscanyで楽しむSOA」として、オープンソースのSCA準拠製品である「Apache Tuscany」を取り上げ、SOA(サービス指向アーキテクチャ)の開発について説明していきたいと思います。第3回目の今回はサンプルプログラムを用いて、JSONRPCがTuscanyの中でどのように使われているかを紹介していきます。

これまでの連載

Web 2.0をも取り込んだTuscany

 JSONやAtomといったものをご存じではない方も、Web 2.0という言葉はどこかで聞いたことがあるのではないでしょうか? ウィキペディア(Wikipedia)で調べても、定義は明らかではありません。しかし、TuscanyにJSONやAtomのバインディングが存在することに対し「Tuscany meets Web 2.0」などと言われていた時期があるのです。例えば、IBMのサイトに掲載されている「Web 2.0 meets SOA with Apache Tuscany SCA」(PDF)なる文書などが端的にそのことを現しています。この文書の中では具体的な例として、AtomRSSJSONRPCを例に挙げています。

 当連載でも、まずは目で確かめられるものから紹介した方がよりTuscanyに親しめるのではないかと考え、サンプルプログラムを用意し、今回はJSONRPC、次回はAtomがTuscanyの中でどのように使われているかを説明したいと考えています。非常に安易ではありますが、Tuscany(トスカーナ)という言葉を使いたいという想いから、「トスカーナワイン店」という架空のネットショップを構築してゆきながら、Tuscanyに触れていただこうと予定しています。

 「トスカーナワイン店」もフルスクラッチでの構築は大変なので、Tuscanyが提供しているサンプル「store」を流用しつつ構築していきます。「store」では非同期な動作が分かりづらいところがあります。そのあたりが分かるような作りに変えてみましょう。

トスカーナワイン店の概要から

 まずはイメージを抱いてもらうために、実際の画面イメージ(図1)をご覧ください。

図1:作成する「トスカーナワイン店」のイメージ図
図1:作成する「トスカーナワイン店」のイメージ図

仕様

  • ワインリストのチェックボックスを[ON]にすると、自動的に買い物かごに追加される
  • ワインリストのチェックボックスを[OFF]にすると、自動的に買い物かごから削除される
  • 買い物かごの[本数]部分を変更すると、明細合計・送料・合計金額が自動的に表示される
  • [買い物かごを空にする]ボタンをクリックすると、買い物かごは空になる

 実際のシステムを構築する際は、左側にワインリスト、右側に買い物かごを配置すると使いやすくなると思います。

JSONやAtomをどこで使用しているか

図2:「トスカーナワイン店」の実装技術対応
図2:「トスカーナワイン店」の実装技術対応

 ワインリストは非常にシンプルなデータ構造をしています。このような場合、クライアントとサーバ間で受け渡すのはXMLでなくJSONが一般的に向いています。今回もJSONを使用します。

 買い物かごは、ワインを追加したり、削除したり、本数を変更したりすること、また特に複雑な処理ではないことを考えるとAtomを利用したRESTを利用した方が無難だと考えられます。皆さんが利用されているAtomとは少し違った使い方をしています。この方法については次回紹介します。

 送料と合計金額は、買い物かごのデータを使用して計算します。この計算は買い物かごのデータを使用した方が簡単に思われます。次々回では、再度JSONを使用して、これを実装します。ただし、プロパティをコンポーネントの外部から取り込みタイムセールスなどの値を入れ、計算した結果をWebサービスとして公開するように変更します。しかも、そのコンポーネントを別のマシンで実行させるよう変更することがいかに簡単であるかを説明します。


1 2 3 4
→
INDEX
オープンソースApache Tuscanyで楽しむSOA 第3回「Web2.0から始めましょう(JSONRPC編)」
Page1
はじめに
Web 2.0をも取り込んだTuscany
トスカーナワイン店の概要から
トスカーナワイン店着工
コンポーネントを組み合わせる
ワインリストの表示
プロフィール
川久保 智晴 カワクボ トモハル

COBOLで13年、Javaを中心としたWeb開発で10年。2つしか言語知らないのかというとそうでもなく、sed/awk、Perl、Pythonなども一時期は業務で使えるレベルまで達したと思っています(自己申告)。

最近はプロジェクトマネージャやソフトウェアアーキテクトという一見相容れない仕事を繰り返してきましたが、実は両者の技術は密接に絡んでいるというのが最近考えていることです。プロジェクトマネージャがあまりにも技術に疎かったり、ソフトウェアアーキテクトがあまりにもコストに鈍感であったりするのを見るにつけ思いが深まっています。

以前はお酒が大好きでいろんなところに出没していましたが、今はおとなしく家飲みに徹しています。土日は20キロ近くジョギングしたりして爽やかなIT技術者を目指しています。2度と徹夜の日々がなくなることを祈りつつ生活しています。


注目の求人情報
機械・電気・回路設計/株式会社デンソー
カーエレクトロニクスの進化を支える車載用カスタムICの開発・設計を担当していただきます。 ...
技術営業・マーケティング/大手外資系ソフトウエア企業
自社製品のソリューション販売を行う。 金融や製造のいずれかのセクターを担当。 各担当の業界に対し...
コンサルタント/国内大手シンクタンク
業務コンサルティング及びITコンサルティング

(最新日付順)
名前(ゲストの方もコメントをどうぞ):*
アイコン:
なし

内容(テキストのみ1200文字まで):*

投稿規定に同意して

スポンサーサイト

この記事のトラックバックURL: