目次


1 週間足らずで Bluemix アプリを作成する

Bluemix を使用してアプリを作成するメリットを発見する

Comments

アプリの概要と作成

非構造化データを分析および処理すること、データをホストする場所を (確実にアクセスできるセキュアな場所に) 決定すること、タイプが混在するデータセットのワークフローを構成すること、要件の変更を管理すること、新しいドキュメントを作成することは、いずれもアプリの開発プロセスの重要なステージです。これらのステージは、いずれもそれなりの時間がかかりますが、開発者にそれだけの時間がない場合もあります。

IBM エマージング・テクノロジー・スペシャリストの Ben Miller 氏が設計および作成を依頼されたのは、ロンドンに住む上で理想的な場所を決定できるようにするためのアプリです。このアプリは、ユーザーの個人的な好みに基づく結果を、外部ソースからのリアルタイムの情報と併せて提供します。このプロジェクトには、4 日という期限がありました。

そこで Ben が使用することに決めたのは、Bluemix です。その理由は、スピードとアナリティクスによる洞察、そして 7 つの言語をサポートし、コラボレーション機能を備えていることでした。このプラットフォームについては「少しさわっただけ」と彼が言うように、彼がアプリを作成するために利用した Bluemix のサービスは、Node-RED Starter、Cloudant、Watson Tradeoff Analytics、および Watson Alchemy API の 4 つです。

  • Node-RED Starter は、すぐに使い始められるボイラープレートです。このツールにはブラウザー・ベースのフロー・エディターが備わっていて、このエディターで、パレットに幅広く用意されたノードを使用して、デバイス、API、オンライン・サービスを簡単に結びつけることができます。さらに、完成したフローは 1 回のクリック操作で Node.js ランタイムにデプロイすることができます。
  • Cloudant は、グローバルにスケーリングされること、ノンストップで実行されること、そして JSON、フルテキスト、地理空間などの多種多様なデータ・タイプを処理することを念頭に新しく作成された、NoSQL DBaaS (Database as a Service) です。Cloudant は、同時に行われる書き込み/読み取り操作に対処するとともに、高可用性およびデータの耐久性を確保するように最適化された運用データ・ストアです。
  • Watson Tradeoff Analytics サービスは、トレードオフを探るためにスマートな視覚化と提案を行う機能を組み合わせることで、複数の相反する目標を最適な形で達成するべく、より望ましい選択をできるよう、ユーザーを支援します。Watson Tradeoff Analytics サービスを利用することで、ユーザーは相反しがちな複数の目標の間でうまくバランスを取りつつ、最適な意思決定を行えるようになります。Watson Tradeoff Analytics サービスでは、パレートのフィルタリング技法を使用して、複数の条件に対する最適な候補を割り出します。その後、さまざまなアナリティクス手法とビジュアル手法を活用して、意思決定者がそれぞれの候補のメリットとデメリットを探れるよう支援します。
  • Watson Alchemy API は、世界中の会話、レポート、写真を深く理解するスマートなアプリを簡単に作成して、顧客の嗜好や目的に合わせてビジネスを調整することを可能にするクラウド・プラットフォームです。

すべての単調な作業を合理化し、楽しい作業に専念する時間を作り出します

Benjamin Miller

このアプリを構成する主なコンポーネントは、以下の 2 つです。

  • モバイル・アプリのフロント・エンドのディスプレイ: このアプリに必要となる機能から考えて、Ben は ionic フレームワークをベースにハイブリッド・アプリを作成することにしました。
  • データを保管するとともに、データ分析をサポートするバックエンド: データは、DBaaS Cloudant に JSON フォーマットで保管されます。

アプリの最初の画面では、パラメーターとして、住宅の価格、近隣の学校のレベル、犯罪発生率、近隣の緑地、交通アクセスの 5 つがユーザーに表示されます。ユーザーが何を重視するかの情報が送信されると、アプリは HTTP GET リクエストを作成するためのクエリーを送信します。このクエリーが一連のイベントを Bluemix に送信すると、Bluemix はデータベースから関連するデータセットを抽出します。それらのデータセットは Node-RED 内でフォーマットの設定が行われて、Watson Tradeoff Analytics API に送信されます。バックエンドでは、ユーザーが送信したデータは、Watson Tradeoff Analytics によって、候補となる区のデータと比較されるとともに、(Watson Alchemy API によってフィードされて分析された) 非構造化形式の外部ソースと照合されます。その結果のレスポンスが送り返されてアプリに取り込まれると、HTTP GET リクエストの結果として画面に表示されます。この一連の処理はすべて、Node-RED で構成されたワークフローに基づきます。

ionic フレームワークの他、Ben は chart.js などの JavaScript ライブラリーを使用して、結果の画面に表示されるレーダー・チャートやレンジ・スライダー (Ion RangeSlider) を作成することで、アプリの視覚化機能を強化しています。このどちらも、Watson Tradeoff Analytics にシームレスに統合されています。

アプリの結果
iPad 上で実行されているアプリのイメージ
iPad 上で実行されているアプリのイメージ

克服しなければならない課題は、どのような課題でしょう?

非常に優秀な開発者でさえも、成功を妨げる障壁には出くわすものです。Ben はこのアプリを作成する際の障壁を、どのように克服したかを概説しています。

  1. 多種多様なノード同士を結びつける: Node-RED ボイラープレートを使用することで、Ben はグラフィカルな操作で迅速かつ容易にすべてのノードを 1 つに結びつけることができ、入力と出力からなるフローを作成して、データをしかるべきところに配置するために、ロジックを適用することができました。
  2. 構造化データと非構造化データを分析する: Watson API は、構造化データと非構造化データの両方を同時に分析しながら、裏ではその他すべてのものと統合することができます。Ben のプロジェクトの場合、彼は構造化データには Watson Tradeoff Analytics サービスを利用し、アプリに必要な Web サイト、ニュース、画像、ソーシャル・メディアといった非構造化データの分析には Watson Alchemy API サービスを利用しました。Ben は、独自のコードとアルゴリズムを作成して実装するとなると、何ヶ月とは言わないまでも、数週間分の作業が追加されることになると言っています。
  3. チーム全体でアクセスしやすくする: ライブ・データ・フィードをクラウド上で利用できるようにしたことで、Ben と彼のチームはセキュアな環境でリモートからコラボレーションして作業できるようになりました。
  4. データセットを保管する: 複数のタイプが混在するデータセットがあることから、従来のデータベースは適切な選択肢ではありませんでした。そこで Ben が使用することにしたのは、Cloudant です。この堅牢で柔軟な NoSQL データベースであれば、顧客からのさまざまな要件の変更に対応することができます。

自分流にアプリを作成する

Bluemix では、ユーザーが選択するすべてのツールを 1 つのインターフェースで使用することができます。このオープンソースのクラウド・プラットフォームには、IBM やサード・パーティーの強力なテクノロジーの数々が組み込まれているだけでなく、既存のインフラストラクチャーや API をセキュアに接続して、アプリをさらに強化することもできます。

Ben は、Bluemix を利用するメリットとして、以下の点を挙げています。

  • 1 つのインターフェースですべてのツールを使用できます。
  • IBM やサード・パーティーのコンピューティング・テクノロジーと、オープンソースのコンピューティング・テクノロジーをすぐに利用できます。
  • アプリの開発が 7 つの言語でサポートされています。
  • 既存のインフラフトラクチャーと API にセキュアに接続できます。
  • カタログには最新のテクノロジーが簡潔にパッケージ化されてドキュメント化されています。
  • ナビゲーションが簡単です。

無料で始める

Bluemix を利用してアプリを作成すると、どれだけの時間と作業を省けるか自分で試してみたくありませんか? Ben が言うように、Bluemix をおもちゃ箱のようなものとして扱ってください。Bluemix でいろいろと試してその機能を探り、Bluemix を使って何ができるのか調べてください。Bluemix を使い始めるには、Bluemix のアカウントを作成し開始します。
クイック・アドバイス:Bluemix カタログに直接アクセスし、この拡大し続けるワンストップ・ショップで、アプリ作成の出発点として利用できるランタイム、サービス、ボイラープレートを調べてください。

Bluemix を有効に利用する上で、Ben が最も伝えたいアドバイスを以下に記載します。

  1. 馴染みのないツールを使用するときは、ドキュメントを活用すると短時間でそのツールを理解できます。
  2. 強力で使いやすい Node-RED を試してください。このツールは、特にプロトタイプを作成する際に力を発揮します。
  3. Bluemix プラットフォームを探索して、利用可能なサービスとツールを理解すると、将来形にするアイデアを考え出す上で役立つはずです。

ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Cloud computing, Mobile development
ArticleID=1019915
ArticleTitle=1 週間足らずで Bluemix アプリを作成する
publish-date=11122015