25
1 Rubymruby 活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~ 中国経済産業局では、地域企業の生産性向上や競争力強化に資することを目的として、新たな 時代に適したプログラミング言語「Ruby」および「mruby」の活用に関するガイドブックを発刊 いたしました。 【ガイドブック発刊の背景と趣旨】 多種多様なモノがネットワーク化された IoTInternet of Things)の世界では、あらゆる産 業分野において、多様なデータを活用しながら、分野を超えた関係者とともに、短期間で試行 錯誤しつつ製品やサービスをリリースすることが、ビジネスイノベーションを起こすための重 要なカギとなります。 また、IoT の状況下では、人が介在せず、ネットワークに繋がれた機器同士が相互に情報交換 や管理・制御等を行う機器間通信(M2MMachine to Machine)が想定され、ネットワーク接続 機能の搭載要求がさらに広範囲な機器へと拡大することに伴い、組込みシステムのアプリケー ションも複雑になるため、システム開発には生産性の高いプログラミング言語の使用が適して います。 Ruby は日本発のプログラミング言語として初めて、2012 4 月に ISO/IEC 国際規格に承認 されました。Ruby の高生産性を引き継ぎつつ、組込みシステム開発向け機能を追加した 軽量 R ubymruby)は、単純比較でC言語の最大 3.9 倍の生産性を誇り、かつC言語で開発された既 存のシステム資産と高い互換性があり、実装時に特定の OS に依存しない、といった特徴を持ち ます。 以上のような状況に鑑み、Rubymruby の特徴を洗い出し、これまでに活用されてこなかった 分野での利活用の可能性や、新たな市場分野への参入時の条件や取引慣行等を明らかにした上 で、Rubymruby を使用したシステム導入時の課題を抽出し、必要な環境整備に繋げることを目 的に調査事業「IoT時代を担うM2M領域への“Ruby(mruby)”の新規参入可能性調査」を実 施いたしました。 その結果、Ruby 技術者の人材確保が困難であること、新たなテクノロジーに対する不安感 (情報不足)など、非技術的要因により導入を躊躇するケースも多いことが判明しました。そ こで、あらゆる産業の経営者、管理者、技術者向けの導入編資料として、「Rubymruby 活用ガ イドブック」を発刊しました。 平成27年 5月21日 担当:参事官(電子・情報産業担当) 宅見 幸一 TEL (082)224-5630

mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

Embed Size (px)

Citation preview

Page 1: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

1

Ruby・mruby活用ガイドブックを発刊します

~IoT時代における開発環境変化に向けて~

中国経済産業局では、地域企業の生産性向上や競争力強化に資することを目的として、新たな

時代に適したプログラミング言語「Ruby」および「mruby」の活用に関するガイドブックを発刊

いたしました。

【ガイドブック発刊の背景と趣旨】

多種多様なモノがネットワーク化された IoT(Internet of Things)の世界では、あらゆる産

業分野において、多様なデータを活用しながら、分野を超えた関係者とともに、短期間で試行

錯誤しつつ製品やサービスをリリースすることが、ビジネスイノベーションを起こすための重

要なカギとなります。

また、IoTの状況下では、人が介在せず、ネットワークに繋がれた機器同士が相互に情報交換

や管理・制御等を行う機器間通信(M2M=Machine to Machine)が想定され、ネットワーク接続

機能の搭載要求がさらに広範囲な機器へと拡大することに伴い、組込みシステムのアプリケー

ションも複雑になるため、システム開発には生産性の高いプログラミング言語の使用が適して

います。

Ruby は日本発のプログラミング言語として初めて、2012年 4月に ISO/IEC 国際規格に承認

されました。Rubyの高生産性を引き継ぎつつ、組込みシステム開発向け機能を追加した 軽量 R

uby(mruby)は、単純比較でC言語の最大 3.9 倍の生産性を誇り、かつC言語で開発された既

存のシステム資産と高い互換性があり、実装時に特定の OS に依存しない、といった特徴を持ち

ます。

以上のような状況に鑑み、Ruby・mrubyの特徴を洗い出し、これまでに活用されてこなかった

分野での利活用の可能性や、新たな市場分野への参入時の条件や取引慣行等を明らかにした上

で、Ruby・mrubyを使用したシステム導入時の課題を抽出し、必要な環境整備に繋げることを目

的に調査事業「IoT時代を担うM2M領域への“Ruby(mruby)”の新規参入可能性調査」を実

施いたしました。

その結果、Ruby技術者の人材確保が困難であること、新たなテクノロジーに対する不安感

(情報不足)など、非技術的要因により導入を躊躇するケースも多いことが判明しました。そ

こで、あらゆる産業の経営者、管理者、技術者向けの導入編資料として、「Ruby・mruby活用ガ

イドブック」を発刊しました。

平成27年 5月21日

担当:参事官(電子・情報産業担当) 宅見 幸一

TEL (082)224-5630

Page 2: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

(IoTで時代がRuby・mrubyに追いついた)

発行:中国経済産業局

協力:NPO軽量Rubyフォーラム 協力:

Ruby・mruby 活用ガイドブック

あらゆる産業の経営者、管理者、技術者向け

Page 3: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

目次 経営者の方へのメッセージ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・1

IoT(Internet of Things)による状況変化 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・2

IoTシステムの概念図とRubyとmrubyの活用範囲 ・・・・・・・・・・・・・・・・・・・・・・・3

Rubyの強み~開発スピードが速まる ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 4

IoT時代の開発言語mruby ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5

Ruby・mrubyの支援・推進体制図 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・6

「Ruby・mrubyについてもっと知りたいチェックリスト」

Ruby・mrubyについてもっと知りたい~技術的な相談・情報入手先・・・・・・・・・・・・・・・・・・7

Ruby・mrubyについてもっと知りたい~ビジネスパートナーを探す・・・・・・・・・・・・・・・・・・・8

Ruby・mruby についてもっと知りたい~活用事例、技術者向け情報、資格試験・・・・・・・・9

Ruby・mrubyについてもっと知りたい~セミナー(人材育成、資格取得等)> ・・・・・・・・・10

Ruby・mrubyについてもっと知りたい~Ruby最新事例 ・・・・・・・・・・・・・・・・・・・・・・・11~14

Ruby・mrubyについてもっと知りたい~mruby最新事例 ・・・・・・・・・・・・・・・・・・・・・・15~16

Page 4: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

<経営者の方へのメッセージ>

習得しやすく、開発にスピードが要求されるIoT時代にピッタリのRuby

多種多様なモノがネットワーク化されたIoT(Internet of Things)の状況下では、ITに特化した人材のみならず、課題設定・解決能力を持った多様な分野の専門家が、あらゆるデータを活用しながら、分野を超えた関係者と共に短期間で試行錯誤し、いかに素早く製品やサービスをリリースできるかがカギとなります。このガイドブックは、IoTや、ドイツのインダストリー4.0の動きに代表される生産工程のデジタル化などの、今後避けて通れないIT環境とビジネスの在り方の変化を捉え、ビジネスイノベーションを起こしていくためには、Rubyやmruby(軽量Ruby)の活用が有効であることを理解頂き、活用に繋げて頂くことが目的です。

Webアプリケーションの分野や海外で高い評価

Rubyは、まつもとゆきひろ氏が1993年より開発している日本発のオブジェクト指向スクリプト言語であり、Smalltalkのような本格的なオブジェク ト指向機能と、Perlのようなスクリプト言語としての手軽さを併せ持ち、国内はもとより、海外でも高い評価を得ています。近年では、David Heinemeier Hansson氏によって開発され、2004年に発表されたWebアプリケーションフレームワークであるRuby on Railsの流行に伴い、Webアプリケーションの分野で特に広く利用されていますが、今後はより幅広い分野に普及していくことが専門家の間でも期待されています。

複雑化・ネットワーク化される組込みシステム開発には生産性の高いmruby

Rubyはプロトタイピングやアジャイル開発に向いた言語であるため、シリコンバレーにおいては研究開発や試作品開発などの分野で人気の高い言語となっています。また、M2M領域における組込みシステム開発では、ネットワーク接続機能の搭載要求がさらに広範囲な機器へと拡大することにより、組込みシステムのアプリケーションも複雑化・ネットワーク化されるため、Rubyやmrubyのような生産性の高いプログラミング言語の使用が適しています。

Rubyは、ISO/IEC 国際規格に承認された言語

Ruby は日本のプログラミング言語として初めて、2012 年 4 月に ISO/IEC 国際規格に承認されました。Ruby の高生産性を引き継ぎつつ、組込みシステム開発向け機能を追加した mrubyに関しては、単純比較でC言語の最大 3.9 倍の生産性を誇り、かつC言語で開発された既存のシステム資産と高い互換性があり、実装時に特定の OS に依存しない、といった特徴を持っています。

Ruby・mrubyを活用することによって皆様のビジネスイノベーションと競争力強化につなげて頂くことを願っています。

1

Page 5: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

<IoT(Internet of Things)による状況変化>

IoT(Internet of Things)は、あらゆるモノがインターネットを通じて接続され、モニタリングやコントロールを可能にするといった概念・コンセプトのことで、衣服(ウェアラブルデバイス)や自動車(スマートカー)、家屋(スマートハウス)など、あらゆるものがスマート化され、かつ、必ずしも人を介さず、機器同士が自律連携することが想定される。

多種多様な潜在的ニーズに訴えかけるため、IT部門と事業部門、ITベンダとITユーザ、 または異なる分野の専門家同士が、きめ細かくスピード感を持って製品・サービス開発を 行うことが必要。 組込み・モバイル・クラウドがネットワークで接続されるようになる。

2 出所(図表):経済産業省商務情報政策局資料

Page 6: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

広域ネットワーク

近距離無線ネットワーク

<IoTシステムの概念図とRubyとmrubyの活用範囲>

センサー

ゲートウェイ ローカルサーバ

ユーザ インタフェース

アクチュエータ

ビッグテータ アプリケーション

HEMS・BEMS フィールドサーバ ホームサーバ 等

スマートフォン ウェアラブルデバイス 機器内蔵インタフェース 公共端末 等

各種機器・装置

ウェアラブルデバイス フィールドセンサー 機器内蔵センサー 監視カメラ 等

クラウド

Ruby

mruby

出所:IPA/SECの講演資料を元に作成

ビッグデータ解析には、データの抽出、並べ替え、 グループ化、性質や関係を知る等のような処理が 発生するので、プログラムが書きやすく、アルゴ リズムが明確なRubyが適している

アプリケーションでは、開発スピード が速く、Webシステムでの実績が 多いRubyが適している

Ruby on Railsを使えば美しいデザインのUIを作成できる

シンプルな文法なので、保守性も高い

mrubyは、既存C言語資産との

相性がよい上に、試行錯誤しながらの開発が可能

ネットワークやサーバ制御等の分野は、Rubyがよく使われていて強みを発揮している

3

Page 7: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

1.Rubyの特徴

●コンピュータの都合よりも人間の都合を優先 –高い生産性

●言語ではなくプログラムをシンプルに – Rubyを使うのは簡単

2.Rubyを使うメリット ● 可読性が高い – プログラムが書きやすい、 プログラムが読みやすい

– 抽象化により、アルゴリズムが明確になる

● プログラムの行数が少ない – 不具合の埋め込みが少なくなる、 開発スピードが速まる

● 他社と差別化できる。企業の先進性をアピールできる

3.開発・保守体制

●オープンソースソフトウェア –企業ではなく個人による開発、開発者の大部分はボランティア

●自由な開発スタイル –多様な機能の発展

<Rubyの強み~開発スピードが速まる>

出所:U社がBEMS開発時に採用言語を 比較した結果(講演資料より)

<参考:RubyとJavaの比較>

開発期間が4ヶ月と決められていた。短期間で開発を完了させるため、Ruby on Railsを採用した。

4

Page 8: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

<IoT時代の開発言語mruby>

・変化の激しいAPL(アプリケーション)開発に迅速に対応 ・ラピッドプロトタイピングに最適 ・インターネット時代の新プラットフォーム

<mrubyの特徴>

1.高い生産性 2.組込みに特化 IoTでの開発に必要になる組込み開発に特化 ・省リソースで動作 ・中間言語化しておりOSを選ばず ・メモリ管理も組込みを考慮 ・既存C言語アプリ資産の有効活用可能 3.Rubyの良さを生かしたmruby ・NW、DBへのアクセス、GUI開発などの効率的実施 ・操作しやすくプロトタイピングに最適 ・IoT開発の情報制御部分に最適 <進化するmruby>

・120を超えるライブラリがさらに発展中 ・デバッガ対応 (2014.11)

5

Page 9: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

九州工業大学(田中和明准教授)

九州大学(福田晃教授)

<Ruby・mrubyの支援・推進体制図>

軽量Ruby フォーラム

福岡県Ruby・コンテンツビジネス振興会議 福岡県

支援

開発コミュニティ

認定システムインテグレータ

<Gold 22社> 次々頁に社名を掲載

<Silver 66社> 次々頁に社名を掲載

SIベンダー

ユーザ企業、 利用者

Sponsors (Platinum Gold Silver) 11社 21社 45社

開発コミュニティやスポンサーのみならず、国、自治体、産業支援機関、学校などがRuby・mrubyを応援しています。

Ruby・mrubyで成長

Ruby Association

理事長 まつもとゆきひろ

開発支援事業

事業者認定制度

情報発信事業

Ruby技術者 認定試験事業

コミュニティ 支援事業

標準維持事業

支援

経済産業省 中国経済産業局

島根県 しまね産業振興財団

松江市

島根大学Ruby・OSSプロジェクトセンター

松江高専(原副校長) (独)情報処理推進機構

しまねOSS協議会

Gold資格試験はオブジェクト指向等の理解も問われ難しい。Gold技術者が一定数以上いることが認定システムインテグレータGoldの条件である。

<mruby>

研究開発 先行的な開発 人材育成 利用する企業の支援など

教育・人材育成 利用する企業の支援 研究、情報発信

周辺ツールや業種別ライブラリ拡充

研修、セミナー実施

イベントへの出展

軽量Rubyの機能拡充

6

Page 10: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

<Ruby・mrubyについてもっと知りたい~技術的な相談・情報入手先>

●一般財団法人Rubyアソシエーション ●特定非営利活動法人 軽量Rubyフォーラム ●認定システムインテグレータ(Rubyの高い技術を持った企業です) →8頁をご覧ください <公的セクター> ●島根県商工労働部産業振興課情報産業振興室 ●松江市産業観光部 まつえ産業支援センター ●福岡県商工部新産業振興課 企画監(Ruby ・コンテンツ産業政策担当) ●福岡県Ruby・コンテンツビジネス振興会議 ●九州工業大学大学院情報工学研究院機械情報工学研究系

Rubyは黒色 mrubyは緑色

〒812-0013 福岡市博多区博多駅前1-17-1福岡県東総合庁舎5F 福岡県Ruby・コンテンツ産業振興センター Tel 092-483-7770 http://forum. mruby.org/index.html

お気軽にご相談ください!

7

Page 11: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

Ruby Association Certified System Integrator Gold 株式会社ネットワーク応用通信研究所 株式会社富士通ソーシアルサイエンスラボラトリ 株式会社DTS 株式会社エヌ・ティ・ティ ピー・シー コミュニケーションズ 株式会社トランスネット 株式会社ケイケンシステム 株式会社サムブーク サイバーコム株式会社 株式会社インフォメーション・ディベロプメント 株式会社日立ソリューションズ 株式会社ファインディックス 株式会社万葉 株式会社システムリンク べニックソリューション株式会社 株式会社ゼネット リコーITソリューションズ株式会社 アドソル日進株式会社 株式会社ワコムアイティ 株式会社日立ハイシステム21 株式会社アピリッツ 日本ユニシス株式会社 株式会社永和システムマネジメント

Ruby Association Certified System Integrator Silver 株式会社アールラーニング 株式会社アクティブネットワーク 株式会社アーチ 株式会社北見コンピューター・ビジネス 株式会社BSC 株式会社ジェイテック 株式会社テクノプロジェクト 日本アイティディ株式会社 リバティ・フィッシュ株式会社 株式会社サイバーミッションズ 株式会社プロビズモ シーエスエヌ株式会社 株式会社コルモ 株式会社富士通システムズ・イースト 株式会社マツケイ 株式会社システム工房エム 株式会社両備システムズ 株式会社セブン・シーズ 株式会社エム・アイ・シー 株式会社テイジイエル 株式会社テクノブレーン SETソフトウェア株式会社 ニフティ株式会社 エボルテック株式会社 セントラルソフト株式会社 コンテンツ・プランナー株式会社 テラインターナショナル株式会社 株式会社FM.Bee 株式会社日本ピュアシステム 株式会社テクノアイ センターフィールド株式会社 株式会社トスコ 株式会社アルメディア・ネットワーク

株式会社トランプソフト 株式会社インネット 日本ユニシス・エクセリューションズ株式会社 株式会社アクトシステムズ アルカディア・システムズ株式会社 株式会社ケーシーエスキャロット 株式会社LASSIC 株式会社RAWHIDE. さくら情報システム株式会社 株式会社島根情報処理センター 株式会社日立ソリューションズ・クリエイト フロイデ株式会社 アウェイク・ビジネスソリューション株式会社 株式会社シー・エス・イー 株式会社クランディム 富士アイティ株式会社 株式会社アイ・ディ・エス 株式会社エクステック 株式会社ヒューマンネットワーク 株式会社SSLパワードサービス Framgia Vietnam CO.,LTD 株式会社ミライト情報システム 株式会社カシックス 株式会社ケー・エス・イー 株式会社日本ハイソフト 株式会社インフォコム東日本 エヌ・ティ・ティ・コムウェア株式会社 株式会社ウィルド 株式会社クレオネットワークス 株式会社アイティープロデュース 株式会社八雲ソフトウェア 株式会社Cuon 株式会社パーク

22社

66社

http://www.ruby.or.jp/ja/certification/sier/ <Ruby・mrubyについてもっと知りたい~ビジネスパートナーを探す> 連絡先一覧→

8

Page 12: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

<Ruby・mrubyについてもっと知りたい~活用事例、技術者向け情報、資格試験>

内容 URL<活用事例等>Rubyの活用事例紹介  (Rubyアソシエーション) http://www.ruby.or.jp/ja/showcase/フクオカRuby大賞受賞事例(ふくおかRuby・コンテンツビジネス振興会議)

http://www.digitalfukuoka.jp/

ETアワード2013スマートエネルギー部門「優秀賞」受賞事例(Tech Village)

http://www.kumikomi.net/archives/2013/12/in15ruby.php

<技術者向け情報>ルビーツールボックス https://www.ruby-toolbox.com/Rubyとは  (Rubyアソシエーション) http://www.ruby.or.jp/ja/tech/introduction/

インストール(Ruby、Webアプリケーションフレームワーク、開発環境) (Rubyアソシエーション)

http://www.ruby.or.jp/ja/tech/install/

開発メニュー  (Rubyアソシエーション) http://www.ruby.or.jp/ja/tech/development/

開発ツール(バージョン管理システム、バグ/課題管理システム、レグレッションテストツール、自動デプロイツール) (Rubyアソシエーション)

http://www.ruby.or.jp/ja/tech/development_tool/

GET mruby  (軽量Rubyフォーラム) http://forum.mruby.org/         (軽量Rubyフォーラム) http://forum.mruby.org/download/source/mruby-1.1.0.tar.gz         (GitHub) https://github.com/mruby-Forum/mrubymrubyデバッガの紹介(講演資料)  (slideshare) http://www.slideshare.net/kazuakitanaka391/ruby-44092362mrubyプログラム言語Rubyによる組込みソト開発(講演資料)(軽量Rubyフォーラム)

http://forum.mruby.org/doc/mruby-141121135812-conversion-gate01.pdf

<教育、認定試験制度>Rubyアソシエーション認定教育機関 (Rubyアソシエーション) http://www.ruby.or.jp/ja/certification/education/Ruby技術者認定試験制度  (Rubyアソシエーション) http://www.ruby.or.jp/ja/certification/examination/

9

Page 13: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

<Ruby・mrubyについてもっと知りたい~セミナー(人材育成、資格取得等)> 毎年実施は黒色 単発実施は緑色

2013年~2014年度の実績を紹介しています。 2015年度以降の日程等については、主催者のホームページ等でご確認ください。

日程 タイトル 主催者 場所

1月15日 RubyとCloudで生み出す新ビジネス Rubyアソシエーション 大阪

3月8,15 軽量 Ruby(mruby) 組込み入門セミナー Ruby ビジネス推進協議会 大阪

7月16日 Rubyビジネスフォーラム Rubyビジネス推進協議会 大阪

10~11月「ものづくり小規模事業者等人材育成事業」指定講習

リバティ・フィッシュ株式会社 大阪

11月13、14 RubyWor ld Conference 2014 RubyWorld Conference 開催実行委員会 松江市

ET2014 スペシャルセッション

mrubyプログラム言語Rubyによる組込みソト開発

11~1月 軽量Ruby利活用セミナー 九州経済産業局長崎、鹿児島、熊本、宮崎、佐賀、大分

12月8日 軽量Ruby(mruby)入門コース ルネサス 大阪

1月29日 Rubyビジネスセミナー大阪 Rubyアソシエーション 大阪

1月30日 Ruby東京プレゼンテーション 福岡県Ruby・コンテンツビジネス振興会議 東京

2月25日 Ruby技術者認定試験合格者ミーティング Rubyアソシエーション 東京

春、夏 Ruby合宿(大学生、高専対象) 島根県商工労働部産業振興課 松江市

3月11日 Ruby・mrubyビジネスセミナー 福岡県Ruby・コンテンツビジネス振興会議 福岡

夏休み 松江市 中学生、高校生Ruby教室 松江市産業観光部まつえ産業支援センター 松江市

11月20日 JASA 東京

10

Page 14: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

< Ruby・mrubyについてもっと知りたい~Ruby最新事例>

株式会社日立ソリューションズ http://www.hitachi-solutions.co.jp/ O2O(Online to Offline)マーケティングのソリューション開発にあたり、競争優位を見出すため市場投入スピードが重視された。Ruby on Railsとクラウドの活用により、開発期間を2分の1の3カ月に短縮するとともに開発コストを4分の3に削減することができた。 O2Oソリューションの開発にRubyを採用することで、短期間、低コストを実現した『ReBee』

ニーズおよび解決したかったこと ・O2Oソリューション。スマートフォンアプリを活用、リアル店舗への集客を促進するCRMソリューション ・スピード。競合他社との差別化を図るため市場投入スピードを重視 ・コスト。限られた予算の中で市場優位性を見出すソリューションを開発 Ruby採用理由 ・アジャイル開発。短期間のイテレーションで開発を進めていくのに適していた ・スピード・コストの圧縮。クラウド上での開発・運用の実績が多く、短期間・低コストの開発に優位 ・サポート体制(社内)。社内にRubyエキスパートが存在 Ruby採用効果 ・アジャイル開発。モックアプリを容易に作成でき、十分なイテレーションにより要件定義に柔軟に対応 ・スピード・コストの圧縮。当初6カ月と想定していた開発期間を3カ月に短縮、あわせて開発コストを約3/4に削減 ・サポート体制(社内)。Rubyのファースト案件であったが、充実したサポートにより大きな問題もなく立上げできた

<出所:RubyアソシエーションのHP>

参考写真

11

Page 15: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

< Ruby・mrubyについてもっと知りたい~Ruby最新事例>

株式会社ワコムアイティ http://www.wacom-it.co.jp/ 同社はこれまで、Rubyを活用して自治体、病院、流通業、製造業等の数多くのシステム開発を手がけてきており、経験豊富なRuby技術者が揃っている。「島根県予算編成支援システム」のような大規模システム開発においては、ジョイントベンチャー(JV)を組んで対応することもある。

開発にいたった経緯 ・従来システムはクライアント/サーバ型システムで実現。 ・従来システムの開発言語(Visual BASIC 5)のサポートが終了、帳票ツールが新しいクライアントパソコンOSで動作しないなど環境面での問題があり、新規システムの導入が必要となった。 Ruby採用理由 ・クライアント環境には依存しないWeb型システムへの移行。 ・業務フロー、画面レイアウト、帳票レイアウトなど従来システム の仕様を踏襲する再開発のため、高い開発生産性が必須。 ・大規模な開発であったため、Rubyを得意とする島根県内の企業3社 (株式会社テクノプロジェクト、株式会社ネットワーク応用通信研究所 、株式会社ワコムアイティ)がJVを組み対応。 Ruby採用効果 ・スケジュール通りの納期で本番が稼働。 ・本番稼働後も大きなトラブルもなく安定した稼働を実現。 ・システム性能に関するクレーム、システム資源圧迫による システムダウン、性能劣化はなし。 ・自治体での大規模基幹系業務システムへのRuby適用が実現。

<予算編成支援システムとは?> ・行政事務の中核となる「予算編成事務」の効率化 ・予算要求から決定にいたる各事務で必要となる資料を作成

12

Page 16: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

< Ruby・mrubyについてもっと知りたい~Ruby最新事例> 株式会社ユビテック http://www.ubiteq.co.jp/ 次世代スマートエネルギーシステム(BE GREEN Next)の開発にあたり、要員4人、開発期間は4ヶ月で、すべての機能要件を実装するという厳しい条件が与えられた。この条件を満たすことができるについて、RubyとJavaで比較検討を実施した。その結果、スケジュールの点で有利であり、機能要件、パフォーマンス、保守開発効率の向上、品質、セキュリティの点でJavaと遜色のなかったRubyを採用することとなった。

<Rubyで開発してみてわかったこと> Ruby on Rails の潤沢なツールを駆使することで、本当に必要なビジネスロジックに集中した開発が出来る。 ● 画面作成作業 - コードを自動生成するジェネレータ(Scaffold)を使用して、画面開発作業工数を削減 - 自動生成ツールを使用することで、ヒューマンミスの削減ができた。 - ヒューマンミスの削減により、単体テスト(RSpec)を使用しての品質管理工数が、Javaと比較して圧倒的に削減できた。 ● シンプルな文法なので、保守性が高い - 開発段階での仕様変更も柔軟に対応できた。 ● RESTFul WebAPIを作るのがとても簡単 - RESTFul なURLを使うことを前提としたフレームワークであるため、外部システム連携用のWebAPIを作るのが非常に簡単 ● データベースのバージョン管理が簡単 - Railsにアプリケーションのバージョンアップに伴うDBの構造変更管理機能(db:migrate)が用意されている為、バージョンアップが容易。 - データベースとプログラムの不整合による誤動作などを、事前に防ぐことが出来るので、余計な調査や手戻りが削減できた。

G-SERVERの ソフトウェア 構成図

13

Page 17: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

< Ruby・mrubyについてもっと知りたい~Ruby最新事例>

株式会社オリジネィション http://www.origination.co.jp/ 同社は、IPAが開発し2012年に公開した定量的プロジェクト管理ツール「EPM-X」の後継となる定量的マネジメントプラットフォーム「EPM Base」の開発にあたり、Rubyを採用した。

▶同社の今後の戦略 Rubyによるソフトウエア品質の高度な定量的分析・評価ツール群、 プロジェクトリスク評価ツール等の提供、コンサルティングの展開

定量的マネジメントプラットフォーム EPM Base プロジェクトの進捗・品質・障害課題・成果物をリアルタイム・定量的・視覚的に管理

プロジェクト管理機能

進捗・課題管理基盤 (Redmine,Subversion,GIT)

EPM Base 操作設定機能

チケット データ

データ収集・集計機能

ETLツール(Pentaho) データ収集

データ集計

定量データ

分析レポーティング機能

BIツール(Eclipse BIRT/BIRT Report Viewer)

複数プロジェクト 横断的俯瞰機能

プロジェクト ダッシュボード 個別グラフ

グラフ表示 データ

▶Ruby採用の理由 ・Redmineとの親和性、 ・スピード重視の開発・保守への適合性

PMBOKに基づいた プロジェクト管理機能

複数プロジェクトの 横断的管理

多様な拠点での開発体制への対応

インポート/エキスポート機能

グローバルな活用に向けた英語対応

他のプロジェクト管理システムとの親和性

累積したプロジェクトデータの統計解析

14

Page 18: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

小型人工衛星システムへのmruby利用

QPS研究所

Ruby, mrubyを開発言語とすることで ・クロス開発不要による高汎用性実現 ・開発スピードの向上、低価格化の実現 ・通信のTCP/IP化

CPUの制限 → 全てを一から開発する必要 開発言語はC/C++、人工衛星ごとに仕様が異なる

< Ruby・mrubyについてもっと知りたい~mruby最新事例>

http://www.i-qps.net/i-qps/

15

Page 19: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

海洋データマイニングシステム(BlueMine)

Manycolors株式会社

●小型で安価な海洋デバイス(ブイ)とデータマイニングのソリューション

ソーラーパネル

海洋ブイ mrubyの利用のポイント ・プロタイピングのしやすさ → 低価格の実現 ・NWとの高い親和性

< Ruby・mrubyについてもっと知りたい~mruby最新事例>

http://www.manycolors-inc.com/

16

Page 20: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~
Page 21: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

平成26年度 IoT時代を担うM2M領域への“Ruby(mruby)”の新規参入可能性調査

「Ruby・mruby活用ガイドブック : IoTで時代がRuby・mrubyに追いついた」

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

平成27年5月発行

経済産業省中国経済産業局 地域経済部 参事官(電子・情報産業担当)

〒730-8531 広島県広島市中区上八丁堀6-30

TEL:082-224-5630 FAX:082-224-5765

URL:http://www.chugoku.meti.go.jp

請負先:株式会社旭リサーチセンター

東京都千代田区神田神保町一丁目105番地 神保町三井ビルディング

TEL:03-3296-3095 FAX:03-3296-3096

Page 22: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

1

<成果物> ○報告書および報告書概要版 ○Ruby・mruby活用ガイドブック <実施地域および事業実施期間> ○実施地域:中国地域 ○実施期間:平成26年8月27日から 平成27年2月27日まで

(1)利活用イメージの調査 ①Ruby・mrubyの特徴整理、比較 ②Ruby技術者の利活用意向調査(アンケート) ③組込みシステム関係者の利用イメージ調査(アンケート) ④成功事例や利活用可能性調査(ヒアリング) (2)ビジネスモデル提案(検討委員会)

<背景> 多種多様なモノがネットワーク化されたIoT(Internet of Things)の世界では、あらゆる産業分野において、膨大 なデータをいかに活用するかが重要になる。このような状況下では、ITに特化した人材のみならず、課題設定 解決能力を持った多様な分野の専門家が、その着想をスピーディかつコストをかけずにシステムとして試作で きる環境が求められる。 また、IoTの状況下では、人が介在せず、ネットワークに繋がれた機器同士が相互に情報交換や管理・制御等 を行う機器間通信(M2M=Machine to Machine)が想定され、ネットワーク接続機能の搭載要求がさらに広範 囲な機器へと拡大することに伴い、組込みシステムのアプリケーションも複雑になるため、システム開発には生 産性の高いプログラミング言語の使用が適している。 Ruby は日本発のプログラミング言語として初めて、2012年4月に ISO/IEC 国際規格に承認された。Ruby の高生産性を引き継ぎつつ、組込みシステム開発向け機能を追加した 軽量Ruby(mruby)は、単純比較で C言語の最大3.9 倍の生産性を誇り、かつC言語で開発された既存のシステム資産と高い互換性があり、 実装時に特定のOS に依存しない、といった特徴を持つ。 以上のような状況に鑑み、Ruby・mrubyの特徴を洗い出しこれまでに活用されてこなかった分野での利活用の 可能性や、新たな市場分野への参入時の条件や取引慣行等を明らかにした上で、Ruby・mrubyを使用したシ ステム導入時の課題を抽出し、必要な環境整備に繋げることを目的に、本事業を実施した。 <調査内容>

平成26年度「IOT時代を担うM2M領域への“Ruby(mruby)”の新規参入可能性調査」報告書(要約)

Page 23: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

Ruby・mrubyの現状認識と課題については、5回の委員会での議論を通じて以下のようにまとめられた。 (1)経験のあるRuby技術者の需要が高く、人材確保が困難である。 ― Rubyは、Ruby on Railsを中心にWEB系で採用が拡大しているため。 (2)Rubyは、組込み系でも新規ツールの開発、プロトタイプの開発などでの採用が増えている。 ― 仕様を確定しがたいプロジェクトでのアジャイル的な開発に向いているため。 (3)Rubyは、海外ではビジネスアイデアを迅速に実現する言語として高い評価で、多くの採用事例が存在。 (4)Rubyやmrubyを活用した事例の発信が更なる活用を後押しする。また、大学、高専、公設試といった研究機

関や公的機関などと連携してプロジェクトを進めることも有効である。 (5)mrubyの性能は改善が進んでおり、性能要件に関して問題となるケースは少ない。試作が容易で早くできる

利点を活かし、「IoT上での新しい機能をmrubyで実現」できるとして、軽量Rubyフォーラムにおいて精力的に推進している。

(6)mrubyは、新しいテクノロジーの導入に対する不安などの要因で苦戦していることは否めない。また、機能安

全が要求される分野での適用が難しい。 ― 情報や事例不足、あるいは技術者確保の不安といった非技術的要因により、企業での開発時に開発リスク

が見積もれないためユーザ側に不安感がある。さらなる情報発信が必要。 (7)mrubyは、ユーザインタフェース(UI)領域への適用に向いているが、実績が少ないことから分野ごとの利用者

の要求内容を正確に把握するには至っていない。そのため、軽量Rubyフォーラムでは環境整備(情報、ライブラリ等)を続け、2014年11月には「デバッガ」をリリースする等の活動を行っている。これを機に利用者が増え、新たな要求が寄せられると期待している。

<Ruby・mrubyの現状認識と課題、必要な環境整備>

2

Page 24: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

3

前提1 ●Rubyは、Ruby on Railsを中心にWEB系で採用が拡大している ●Rubyは、組込み系でも新規ツールの開発、プロトタイプの開発などでの採用が増えている 施策1:活用事例を紹介(特に組込み系の事例) 例: ●活用事例セミナー ●活用カタログ(事例集) ●他団体のイベントでの紹介 ●展示会等での「Ruby・mrubyを使っています」マークの掲示 など

1.既に使われている領域での拡大施策

2.課題があり使われていない領域=課題を解決する施策(Small Strategy)

前提2 経験のあるRuby技術者の需要が高く、確保が困難に

施策2-1:短期的には資格制度の活用(経験に代わるスキルの見える化)

例: ●資格制度自体の普及・啓発 ●有資格者を増やす など

施策2-2:長期的には教育機関での教育を拡大・強化

前提3 ●mrubyは、ユーザインタフェース(UI)領域への適用に向いているが、デザイナーとエンジニアの作業が同時並行で進められるようなUI環境のさらなる整備等が必要である

施策3:UI環境の整備 例: ●UIに強い企業との連携によるUI環境提供の検討(mrubyで制御できる環境を作る) ●既存の開発支援施策を活用して加速 など

Ruby・mrubyの新たな市場参入時の条件や取引慣行や課題を想定しつつ、3つの領域に分けてRuby・mrubyイノベーション戦略を提案した。

<調査結果概要(Ruby・mrubyのイノベーション戦略)>

Page 25: mruby ~IoT時代における開発環境変化に向けて~ · PDF file1 . Ruby・mruby活用ガイドブックを発刊します ~IoT時代における開発環境変化に向けて~

4

前提4 ●mrubyは、機能安全が要求される分野での適用が難しい 施策4:機能安全認証への取組みの明確化 例: ●2種類の認証方式(製品に対して認証を与える方式と、製品を取り巻く、厳格に作ったエビデンスに対する妥当性評価方式)の具体的な検討

●オープンソースで認証取得のあり方、プロセス認証の検討 など

2.課題があり使われていない領域=課題を解決する施策(Small Strategy)

3.将来の可能性の高い領域=将来の飛躍を目指す施策(Big Strategy)

前提5 ●mrubyは既存の言語(C言語など)からの置き換えで苦戦中 施策5-1:Ruby・mrubyでも出来る領域ではなく、Ruby・mrubyが適した領域にフォーカス 例: ●試行錯誤を伴う開発(ロボット制御、データ解析、プロトタイプなど) ●ネットワークを活用したビジネス構築 ●ITの専門家以外の、言語習得およびビジネスへの活用 ●応用技術を持つステークホルダーとのビジネス構築 ●ITの専門家でないステークホルダーとの合意形成 施策5-2:IoT領域にフォーカスしたプロモーション 例: ●キャッチフレーズを決め、プロモーションに使うことにより蓄積効果を狙う ●Ruby・mrubyを使ったIoT実証プロジェクトの推進・既存の開発支援施策を活用して加速 ●ITコーディネータ協会等の組織へのPR活動(認知と支援の輪を広げる活動)

<調査結果概要(Ruby・mrubyのイノベーション戦略)>