SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2015】セッションレポート(AD)

【デブサミ2015】19-E-4 レポート
人工知能Watsonなど多彩なAPIも使える! 「IBM Bluemix」が実現するリアルに迅速な開発

  • X ポスト
  • このエントリーをはてなブックマークに追加

Bluemixへのアプリ移植の留意点と活用事例

 Bluemixには豊富な機能、サービスがあるが、開発者が気になるのは、自分が慣れ親しんできた既存のアプリ、言語などが使えるか否かだろう。ここでスピーカーが木村桂氏に交代し、対応状況や、既存アプリの移植における留意点などが紹介された。

 Bluemixはアプリケーション開発環境を簡単に構築できる。何か新しいものを作るときに便利だということはわかるが、では、既存アプリケーションをBluemixに移行したいと思ったとき、簡単にできるのだろうか。気をつけるとしたらどういうところか。

 まず一般的に、このような移植をする際に考慮するのは以下の点だ。

  • アプリケーションの開発言語
  • DBの互換性
    • (必要であれば)他のミドルウェアの互換性
  • デプロイ方法の違い
  • DBのコネクション方法
  • 運用時のログ

 アプリケーションサーバーは、JavaやNode.js、PHPなど、ほとんどが含まれていると思っていい。初めから用意されていないのはPerlくらいだが、Cloud FoundryのBuildpackの仕組みを使うことでメニューに用意されていない環境を取り込むこともできる。環境構築は必要なく、基本的にアプリケーションサーバーを選ぶだけでよい。

 データベースの選択肢も充実しており、DB2、MySQL、MongoDB、CouchDB、Memcachedもある。こちらも基本的に選ぶだけ。

 PaaSというと、何か制約があるイメージかもしれないが、普段使っているミドルウェアなども、ほとんどそのまま使える。

 デプロイについては、基本はJavaのwar/earファイルのままでデプロイ可能となっている。ここではCloud Foundryの機能をそのまま使い。標準コマンドラインインターフェースcfを利用している。

 DBのコネクションについては意識する必要がある。アプリケーションサーバーとサービスをバインドして接続するのだが、バインドしたサービスの接続増情報は、アプリケーションサーバーの環境変数VCAP_SERVICESから参照できる。またIDとパスワードを環境変数からJSONフォーマットで取得できる。この方法だとIDとパスワードを直接入力する必要が無くなるので、比較的セキュアな形でデータベース接続が可能になる。

 最後の運用時のログは、Bluemix側に用意されている。PaaSだから見ることができない、ということはない。

移植に際して考慮する点
移植に際して考慮する点

 ここで木村氏は、Bluemixの豊富なサービスの中から、人工知能サービス、Watsonを紹介した。現在、WatsonのAPIが使えるのはBluemixだけだ。

 まずWatsonがクイズ番組に挑戦した時のビデオが流された。3つの選択肢から作曲家名を答えるクイズでは、リスト96%、ショパン10%、ブゾーニ6%。ここまで確率を出してリストと答えた。他の問題も同様だ。つまりWatsonは人工知能なのだが、万能の神のようなものではなく、確実性を把握しながら回答している。

 その実例としてWatson Relation Extraction APIというものを実装している。これは文章を解析し、単語間の関連性を調べるAPIで、残念ながら現時点では英語とスペイン語のみだが、入力はテキストと言語の種類のみを指定して使える。現時点ではベータ版で、無料で使うことができる。

 こちらも環境変数から接続情報の取得を行う。実例として「John Smith lives in New York, and he has been living there since 2001.」という文章を解析する。

 単語の連結と用途を推測し、

  • John Smithは99.5606%の確率で1人の人間(Person)である。
  • New Yorkは99.3534%の確率で場所(Location)である。
  • Heは95.5652%の確率で代名詞(Pro)であり、John Smithのことを示している。
  • 2001は82.0601%の確率で日付(Date)である。

 さらに言葉と言葉の関係を推測し、

  • John Smithとheは64.5765%の確率で、同じ人間である。

と解析した。さらに各単語同士の関係を推測し、

  • John SmithとNew Yorkは52.5653%の確率で「常設/住む」(resides in)の関係がある。

 以上の様に「数値根拠を示した推測」を行っている。

 木村氏は「Watsonを使えば、単なる機械翻訳以上の翻訳が期待できる」と語った。Watsonの日本語対応については、ソフトバンクテレコムと戦略提携しており、2015年中にサービス提供開始を目指している。

 続けて松井氏から、Bluemixの活用事例が紹介された。

 まずアナリティクス。たとえばデータウェアハウジングおよび分析用のアジャイル・プラットオームであるDashDBサービスを活用する。そこではRスクリプトやHadoopの環境が提供されている。

 今流行のIoTでは、MQTTサーバー機能を提供するクラウドサービス「IBM IoT Foundation」とBluemixとがシームレスに連携できる。デバイス/アプリケーションは、MQTTプロトコルを使用し、IoT Foundationに接続する。

 またBluemixとしてもブラウザ・ベースのコーディネーションツールNode-REDを提供しており、IoTサービスを利用してIoT Foundationに接続する。

 さらにBluemixはオンプレミス環境の既存資産とも連携可能で、資産を有効活用することができる。

 松井氏は最後に「まずは30日間フリートライアルでBluemixに触ってみて、どういうことに使えるのか、体感していただきたい」と語りセッションを終えた。

お問い合わせ

日本アイ・ビー・エム株式会社

〒103-8510 東京都中央区日本橋箱崎町19-21

TEL: 0120-550-210

IBM Bluemix 関連情報

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
【デブサミ2015】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8559 2015/04/03 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング