Transcript

課題
顧客と協力してソリューションの候補に取り組むうちに、このソリューションのカギとなる重要な機能がいくつか
新たに登場したことが明らかになりました。しかしそこには、それらの独立したさまざまな機能をどのようにして
1 つに結びつけるかという問題が残されています。ここで Bluemix に用意されている Node‐RED
Starter パッケージが非常に役に立ちます。というのも、Node‐RED は、これらのさまざまな機能をグラフィ
カルな方法で 1 つに結びつける、極めて迅速かつ簡単な手段となるからです。Node‐RED には、データ
ベース、API 等々が用意されているので、これらのノード同士を結びつけてロジックを追加するだけでよいの
です。いわば、小さなフローチャートを作成するようなものですが、それだけでフローチャートは実際に機能し
ます。フローチャートを作成するとそれが機能して、データがしかるべき場所に格納されます。これがソリュー
ションのカギとなる部分なので、さまざまなソースや、さまざまな出力を手早く操作して、ごく短時間で目的
を果たすことができます。
顧客と一緒にデータセットについて検討したところ、データには構造化データと非構造化データがありました。
そのため最初に大きな問題となったのは、これらのデータの分析を始める上でどのツールを使用するかです。
特に、2 つのまったく異なるタイプのデータを処理しなければならなかったことが理由となり、両方のデータセ
ットを同時に効率的に処理できるツールを見つけるのは、非常に難しいことでした。けれども Watson に
は、Watson の傘下で使用して、異なるタイプのデータを分析できる多種多様なツールが揃っていました。
構造化データに関しては、従来のアナリティクスを使用することができます。つまり、傾向を調べたり、異なる
要素を分類したりするなどのアナリティクスです。非構造化データに関しては、通常、解決するのがより厄
介な問題の大部分が非構造化データに由来しますが、こうした問題にも対処できるツールがありました。そ
れは、Alchemy API、具体的にはこの API に統合されているニュース API です。非構造化データにつ
いては、この API で対処しました。自分たち独自の非構造化データセットがあったというわけではなく、私
たちが使いたかったデータは、すべて世間にすでに出回っている非構造化データだったのです。つまり、Web
上のデータ、ニュース、ウィキペディアのページ、ソーシャル・メディアでニュースについてツイートしているデータ
などです。私たちは一連のツールを使用することで、こうしたデータを分析して、意思決定の一環として利
用できるようにしました。
非常にコラボレーティブな環境でプロトタイプを短時間で作成しようとしたときに、多くの人々が直面すると
思われる問題は、作成しているものをどのようにして誰もが見られるようにして、作成状況に関する情報を
持てるようにするか、というものです。私はちょうどアプリそれ自体をホストできるようにしようとしていたので、
Bluemix 上つまりクラウド上には、モバイル・アプリと iPad コンポーネント、そして一連のデータがありまし
た。以前は、おそらく自分のノート PC 上で小さなローカル・サーバーを稼働させて、必要なものをすべて
ホストしなければなりませんでしたが、その場合、ノート PC が社内のどこかに置いてあって近くに自分の
PC がない状況で、誰かに何かをデモしようとしても、ノート PC は社内のネットワークで動作していて、
iPad は会社のネットワークの外部で動作しているので、デモをするのはとても大変なことでした。しかし今
は Bluemix があり、Bluemix ではすべてがクラウド上に置かれるので、どこからでもアプリにアクセスするこ
とができ、ある打ち合わせから別の打ち合わせへと iPad だけを持って参加して、アプリがどのような動作を
し、何を実行してくれるのかを、クラウド上のライブ・データ・フィードに接続したままの状態で、打ち合わせの
参加者に見せることができるのです。
このソリューションの中心となるのは、データセットを分析する部分であることから、「どこにデータセットを配置
すればよいのか?」、「どのようにしてデータセットを処理すればよいのか?」、「どこに処理した結果を置いて
おけばよいのか?」といった質問が出てくることでしょう。さまざまなタイプのデータが大量にあるとなると、従
来型のデータベースのなかには使えないものも出始めます。SQL Server、MySQL 等々は、このようにさ
まざまなタイプのデータを実際に扱っている場合には、やや適さないものとなります。正直に言うと、比較的
先の見えないプロジェクト、つまり、特に先へ進むにつれてスコープが変化していくような小さなプロジェクトで、
1 日目は X というタイプのデータが必要だったのが、3 日目にはまったく異なるタイプのデータが必要にな
るようなプロジェクトでは、どのようなタイプのデータでも扱える、柔軟かつ堅牢なデータベースが必要になり
ます。そのデータベースはまた、他の多くの人がコラボレーティブな作業で簡単にアクセスできるようでなけれ
ばならず、アプリの入力として使用しているデータを他の誰かが調べて、「実は私の場合、アプリの入力とし
てそのデータを使用することは望んでなくて、このデータとあのデータを使用して、その列は失くしてもらえると
ありがたい」などと言うかもしれないので、クラウドにデータベースが置かれていれば、非常に便利なのです。
このケースで私が使用したのは、Cloudant データベースつまり NoSQL データベースであり、この選択肢
がすべての要件を確かに満たしてくれました。