Pages

2015年3月2日月曜日

infoScoop as a Platform

Be.Cloud通信戌亥です。

先日infoScoopオープンソースのユーザ会(IOCJ:infoScoop Opensource Club Japan)の情報交換会がありました。そこで、アーク情報システムの田中さん(IOCJの幹事)がinfoScoopをプラットフォームとして利用した事例の話をされておりました。

先ず、infoScoopの特徴として
  1. シンプルなWebアプリケーション(ガジェット)の単位で開発ができる
  2. ガジェットとガジェットを連動させて動かしたい時には、ガジェット間連携(OpenSocialのPubSub機能)でやりとりができる
  3. ガジェットは独立しているためバージョンアップがいつでもできる
の3つを上げておりました。

シンプルなWebアプリケーション(ガジェット)の単位で開発ができる

  プログラムはガジェット単位で開発ができて、infoScoopはそれをiframeで並べて表示が出来ます。ガジェットを部品と見立てると部品同士が干渉しないような作り方ができます。これは、Web開発者としては大変うれしい機能です。

ガジェットとガジェットを連動させて動かしたい時には、ガジェット間連携(OpenSocialのPubSub機能)でやりとりができる

  それぞれのガジェットは別のシステムと連携して表示ができ、その表示した画面上でデータの受け渡し(PublishとSubscribe)ができます。データを渡す方をPublish側で渡される方はSubscribe側となります。Publish側は両者のオペレーションでデータを渡すという作り方をするだけです。例えば、検索キーワードを入れて、ボタンがクリックされれば、データを渡すというコードを書きます。一方のSubscribe側はデータを受け取れば、何かをするという振る舞いを記述します。キーワードを受け取れば、そのキーワードで検索をして一覧表示する等のコードを書きます。このやり方はバックエンドでデータ連携をするよりも非常に簡単に連携ができます。

ガジェットは独立しているためバージョンアップがいつでもできる

  開発がガジェット単位でできるということはバージョンアップもガジェット単位でできます。ちょっとしたプログラム変更であれば、ガジェットの変更だけで済みますので、ガジェットを変更していれかればいいだけです。またガジェットを入れ替えるだけであれば、いちいちTomcat等のミドルウェアを再起動しなくて済みます。つまり、お客様の要望に応じて、いつでも更新ができる訳です。継続的に改善ができるシステムを作る事ができます。

クラウドスタイル#3 - 継続的デプロイメント

実はこの3番目の「バージョンアップがいつでもできる」という特徴は以前書きました「クラウドテクノロジーの川を渡る5つのポイント」の一つの「継続的デプロイメント」と一致します。継続的デプロイメントは、ChefやPupetを使った自動ビルドとデプロイメントの自動化をさすしますが、開発のアーキテクチャが悪いといくらビルドとデプロイメントを自動化しても計画停止が必要になります。一方でinfoScoopの上記のような特徴を使う事で、停止せずに継続的デリバリーを実現することが可能となります。また、データベーススキーマ等どうしても計画停止をしなければならないような修正があっても、関連するガジェットを停止するだけで済みますので、残りの機能は利用することができます。

infoScoopが継続的デリバリーに利用できるという点は、私にとっても「目から鱗」でした。



0 コメント:

コメントを投稿