Ruby・Mruby活用ガイドブックを発刊します ~Iot時代における
Total Page:16
File Type:pdf, Size:1020Kb
平成27年 5月21日 担当:参事官(電子・情報産業担当) 宅見 幸一 TEL (082)224-5630 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 活用ガ イドブック」を発刊しました。 1 あらゆる産業の経営者、管理者、技術者向け Ruby・mruby 活用ガイドブック (IoTで時代がRuby・mrubyに追いついた) 発行:中国経済産業局 協力: 協力:NPO軽量Rubyフォーラム 目次 経営者の方へのメッセージ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・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 <経営者の方へのメッセージ> 習得しやすく、開発にスピードが要求される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 <IoT(Internet of Things)による状況変化> IoT(Internet of Things)は、あらゆるモノがインターネットを通じて接続され、モニタリングや コントロールを可能にするといった概念・コンセプトのことで、衣服(ウェアラブルデバイス)や 自動車(スマートカー)、家屋(スマートハウス)など、あらゆるものがスマート化され、かつ、 必ずしも人を介さず、機器同士が自律連携することが想定される。 多種多様な潜在的ニーズに訴えかけるため、IT部門と事業部門、ITベンダとITユーザ、 または異なる分野の専門家同士が、きめ細かくスピード感を持って製品・サービス開発を 行うことが必要。 組込み・モバイル・クラウドがネットワークで接続されるようになる。 出所(図表):経済産業省商務情報政策局資料 2 <IoTシステムの概念図とRubyとmrubyの活用範囲> アプリケーションでは、開発スピード ビッグデータ解析には、データの抽出、並べ替え、 が速く、 システムでの実績が グループ化、性質や関係を知る等のような処理が Web 多い が適している 発生するので、プログラムが書きやすく、アルゴ Ruby リズムが明確なRubyが適している クラウド Ruby on Railsを使えば美しい デザインのUIを作成できる ビッグテータ アプリケーション ネットワークやサーバ制御等の Ruby 分野は、Rubyがよく使われてい て強みを発揮している 広域ネットワーク HEMS・BEMS フィールドサーバ ホームサーバ 等 ゲートウェイ ユーザ ローカルサーバ インタフェース ウェアラブルデバイス フィールドセンサー mruby 機器内蔵センサー 近距離無線ネットワーク 監視カメラ 等 スマートフォン ウェアラブルデバイス 機器内蔵インタフェース センサー アクチュエータ 公共端末 等 各種機器・装置 シンプルな文法なの mrubyは、既存C言語資産との 出所:IPA/SECの講演資料を元に作成 で、保守性も高い 相性がよい上に、試行錯誤しな がらの開発が可能 3 <Rubyの強み~開発スピードが速まる> 1.Rubyの特徴 ●コンピュータの都合よりも人間の都合を優先 –高い生産性 ●言語ではなくプログラムをシンプルに – Rubyを使うのは簡単 2.Rubyを使うメリット ● 可読性が高い – プログラムが書きやすい、 プログラムが読みやすい – 抽象化により、アルゴリズムが明確になる ● プログラムの行数が少ない – 不具合の埋め込みが少なくなる、 開発スピードが速まる ● 他社と差別化できる。企業の先進性をアピールできる 3.開発・保守体制 ●オープンソースソフトウェア –企業ではなく個人による開発、開発者の大部分はボランティア ●自由な開発スタイル –多様な機能の発展 <参考:RubyとJavaの比較> 開発期間が4ヶ月と決 められていた。短期間 で開発を完了させるた め、Ruby on Railsを採 用した。 出所:U社がBEMS開発時に採用言語を 比較した結果(講演資料より) 4 <IoT時代の開発言語mruby> ・変化の激しいAPL(アプリケーション)開発に迅速に対応 ・ラピッドプロトタイピングに最適 ・インターネット時代の新プラットフォーム <mrubyの特徴> 1.高い生産性 2.組込みに特化 IoTでの開発に必要になる組込み開発に特化 ・省リソースで動作 ・中間言語化しておりOSを選ばず ・メモリ管理も組込みを考慮 ・既存C言語アプリ資産の有効活用可能 3.Rubyの良さを生かしたmruby ・NW、DBへのアクセス、GUI開発などの効率的実施 ・操作しやすくプロトタイピングに最適 ・IoT開発の情報制御部分に最適 <進化するmruby> ・120を超えるライブラリがさらに発展中 ・デバッガ対応 (2014.11) 5 <Ruby・mrubyの支援・推進体制図> 開発コミュニティやスポンサーのみならず、国、自治体、産業支援機関、学校などがRuby・mrubyを応援しています。 Ruby・mrubyで成長 ユーザ企 業、 利用者 SIベンダー <mruby> 開発コミュニティ 九州大学(福田晃教授) 認定システムインテグレータ 研究開発 九州工業大学(田中和明 先行的な開発 <Gold 22社> Ruby Association 准教授) 人材育成 次々頁に社名を掲載 利用する企業 理事長 まつもとゆきひろ の支援など <Silver 66社> 福岡県Ruby・コンテ 標準維持事業 次々頁に社名を掲載 情報発信事業 ンツビジネス振興 会議 Gold資格試験はオブジェクト指 福岡県 支援 向等の理解も問われ難しい。 Ruby技術者 事業者認定制度 軽量Ruby Gold技術者が一定数以上いる 認定試験事業 ことが認定システムインテグ フォーラム レータGoldの条件である。 コミュニティ 軽量Rubyの機能拡充 開発支援事業 支援事業 Sponsors 研修、セミナー実施 (Platinum Gold Silver) 支援 イベントへの出展 11社 21社 45社 周辺ツールや業種別ライブラリ拡充 教育・人材育成 島根県 松江市 利用する企業 しまねOSS協議会 の支援 しまね産業振興財団 研究、情報発信 島根大学Ruby・OSS プロジェクトセンター 経済産業省 中国経済産業局 (独)情報処理推進機構 松江高専(原副校長) 6 ・ についてもっと知りたい <Ruby mruby ~技術的な相談・情報入手先> Rubyは黒色 お気軽にご相談ください! mrubyは緑色 ●一般財団法人Rubyアソシエーション ●特定非営利活動法人 軽量Rubyフォーラム 〒812-0013 福岡市博多区博多駅前1-17-1福岡県東総合庁舎5F 福岡県Ruby・コンテンツ産業振興センター Tel 092-483-7770 http://forum. mruby.org/index.html ●認定システムインテグレータ(Rubyの高い技術を持った企業です) →8頁をご覧ください <公的セクター> ●島根県商工労働部産業振興課情報産業振興室 ●松江市産業観光部 まつえ産業支援センター ●福岡県商工部新産業振興課 企画監(Ruby ・コンテンツ産業政策担当) ●福岡県Ruby・コンテンツビジネス振興会議 ●九州工業大学大学院情報工学研究院機械情報工学研究系 7 <Ruby・mrubyについてもっと知りたい~ビジネスパートナーを探す> 連絡先一覧→ http://www.ruby.or.jp/ja/certification/sier/ Ruby Association Certified Ruby Association Certified System Integrator Silver System Integrator Gold 株式会社アールラーニング 株式会社トランプソフト 株式会社ネットワーク応用通信研 株式会社アクティブネットワーク 株式会社インネット 究所 株式会社アーチ 日本ユニシス・エクセリューションズ株式会社 株式会社富士通ソーシアルサイエ 株式会社北見コンピューター・ビジネス 株式会社アクトシステムズ ンスラボラトリ 株式会社BSC アルカディア・システムズ株式会社 株式会社DTS 株式会社ジェイテック 株式会社ケーシーエスキャロット 株式会社エヌ・ティ・ティ ピー・シー 株式会社テクノプロジェクト 株式会社LASSIC コミュニケーションズ 日本アイティディ株式会社 株式会社RAWHIDE. 株式会社トランスネット リバティ・フィッシュ株式会社 さくら情報システム株式会社 株式会社ケイケンシステム 株式会社サイバーミッションズ 株式会社島根情報処理センター 株式会社サムブーク 株式会社プロビズモ 株式会社日立ソリューションズ・クリエイト サイバーコム株式会社 シーエスエヌ株式会社 フロイデ株式会社 株式会社インフォメーション・ディベ 株式会社コルモ アウェイク・ビジネスソリューション株式会社 ロプメント 株式会社富士通システムズ・イースト 株式会社シー・エス・イー 株式会社日立ソリューションズ 株式会社マツケイ 株式会社クランディム 株式会社ファインディックス 株式会社システム工房エム 富士アイティ株式会社 株式会社万葉 株式会社両備システムズ 株式会社アイ・ディ・エス 株式会社システムリンク 株式会社セブン・シーズ 株式会社エクステック 株式会社ヒューマンネットワーク べニックソリューション株式会社 株式会社エム・アイ・シー 株式会社ゼネット 株式会社テイジイエル 株式会社SSLパワードサービス リコーITソリューションズ株式会社 株式会社テクノブレーン Framgia Vietnam CO.,LTD アドソル日進株式会社 SETソフトウェア株式会社 株式会社ミライト情報システム 株式会社ワコムアイティ ニフティ株式会社 株式会社カシックス 株式会社日立ハイシステム21 エボルテック株式会社 株式会社ケー・エス・イー 株式会社アピリッツ セントラルソフト株式会社 株式会社日本ハイソフト 株式会社インフォコム東日本 日本ユニシス株式会社 コンテンツ・プランナー株式会社 株式会社永和システムマネジメント テラインターナショナル株式会社 エヌ・ティ・ティ・コムウェア株式会社 株式会社FM.Bee 株式会社ウィルド 22社 株式会社日本ピュアシステム 株式会社クレオネットワークス 株式会社テクノアイ 株式会社アイティープロデュース センターフィールド株式会社 株式会社八雲ソフトウェア 株式会社Cuon 株式会社トスコ 社 株式会社アルメディア・ネットワーク 株式会社パーク 66 8 <Ruby・mrubyについてもっと知りたい~活用事例、技術者向け情報、資格試験> 内容 URL <活用事例等> Rubyの活用事例紹介 (Rubyアソシエーション) http://www.ruby.or.jp/ja/showcase/ フクオカRuby大賞受賞事例 http://www.digitalfukuoka.jp/ (ふくおかRuby・コンテンツビジネス振興会議) ETアワード2013スマートエネルギー部門「優秀賞」受賞事例 http://www.kumikomi.net/archives/2013/12/in15ruby.php (Tech Village) <技術者向け情報> ルビーツールボックス https://www.ruby-toolbox.com/ Rubyとは (Rubyアソシエーション) http://www.ruby.or.jp/ja/tech/introduction/ インストール(Ruby、Webアプリケーションフレームワーク、開発 http://www.ruby.or.jp/ja/tech/install/ 環境) (Rubyアソシエーション) 開発メニュー (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/mruby mrubyデバッガの紹介(講演資料) (slideshare) http://www.slideshare.net/kazuakitanaka391/ruby-44092362 mrubyプログラム言語Rubyによる組込みソト開発(講演資料) http://forum.mruby.org/doc/mruby-141121135812-conversion-gate01.pdf (軽量Rubyフォーラム) <教育、認定試験制度> Rubyアソシエーション認定教育機関 (Rubyアソシエーション) http://www.ruby.or.jp/ja/certification/education/ Ruby技術者認定試験制度 (Rubyアソシエーション) http://www.ruby.or.jp/ja/certification/examination/ 9 毎年実施は黒色 <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 RubyWorld Conference 2014 RubyWorld Conference 開催実行委員会 松江市 ET2014 スペシャルセッション 11月20日 mrubyプログラム言語Rubyによる組込みソト開 JASA 東京 発 長崎、鹿児島、熊本、 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教室 松江市産業観光部まつえ産業支援センター 松江市 10 < 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ソリューション